跳转至

ESP32 连接 WiFi 教程

ESP32 是一款功能强大的开发板,内置 WiFi 功能,非常适合用于物联网(IoT)项目。本文将详细介绍如何使用 Arduino IDE 编写代码,使 ESP32 连接到 WiFi 网络。

硬件准备

  1. ESP32 开发板:如 ESP32 DevKitC、NodeMCU-32S 等。
  2. USB 数据线:用于将开发板连接到电脑。

软件准备

  1. Arduino IDE:Arduino 开发环境,适合初学者使用。
  2. ESP32 Arduino Core:ESP32 的 Arduino 库,提供了丰富的 API 和示例代码。

安装 Arduino IDE

Arduino 官网 下载并安装 Arduino IDE。

安装 ESP32 Arduino Core

  1. 打开 Arduino IDE,依次点击 File -> Preferences
  2. Additional Boards Manager URLs 输入框中添加以下 URL: https://dl.espressif.com/dl/package_esp32_index.json
  3. 点击 OK 确认。
  4. 依次点击 Tools -> Board -> Boards Manager
  5. 在搜索框中输入 ESP32,找到 esp32 by Espressif Systems,点击 Install

编写连接 WiFi 的代码

1. 创建新项目

打开 Arduino IDE,创建一个新的项目文件。

2. 导入 WiFi 库

在代码的开头导入 WiFi 库:

#include <WiFi.h>

3. 设置 WiFi SSID 和密码

定义你的 WiFi 网络的 SSID(网络名称)和密码:

const char* ssid = "your_SSID"; // 替换为你的WiFi名称
const char* password = "your_PASSWORD"; // 替换为你的WiFi密码

4. 编写连接代码

setup 函数中编写连接到 WiFi 的代码,并在 loop 函数中保持连接状态:

void setup() {
  // 开启串口调试
  Serial.begin(115200);

  // 开始连接 WiFi
  Serial.println("Connecting to WiFi...");
  WiFi.begin(ssid, password);

  // 等待连接
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting...");
  }

  // 连接成功
  Serial.println("Connected to WiFi");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  // 保持连接状态
}

5. 上传代码

  1. 选择开发板:依次点击 Tools -> Board,选择 ESP32 Dev Module(根据实际开发板选择)。
  2. 选择端口:依次点击 Tools -> Port,选择相应的 COM 端口。
  3. 点击上传按钮,将代码上传到 ESP32 开发板。

上传成功后,打开串口监视器(Tools -> Serial Monitor),你应该会看到 ESP32 连接到 WiFi 并显示分配的 IP 地址。

详细说明

WiFi.h 库

ESP32 的 WiFi 功能由 WiFi.h 库提供,该库提供了一系列函数,用于管理 WiFi 连接。常用的函数包括:

  • WiFi.begin(ssid, password):开始连接到指定的 WiFi 网络。
  • WiFi.status():返回当前的连接状态。常见的返回值包括:
  • WL_CONNECTED:已连接到 WiFi 网络。
  • WL_NO_SSID_AVAIL:无法找到指定的 SSID。
  • WL_CONNECT_FAILED:连接失败。
  • WL_DISCONNECTED:未连接到任何网络。
  • WiFi.localIP():获取连接到 WiFi 网络后分配的 IP 地址。

串口调试

setup 函数中,我们使用 Serial.begin(115200) 开启串口调试,并通过 Serial.println() 输出调试信息。这样可以在 Arduino IDE 的串口监视器中看到 ESP32 的连接状态和分配的 IP 地址。

循环等待连接

在连接 WiFi 的过程中,我们使用 while (WiFi.status() != WL_CONNECTED) 循环等待,直到 ESP32 成功连接到 WiFi 网络。每次循环中,我们使用 delay(1000) 延迟 1 秒,以避免频繁地输出调试信息。

结论

通过以上步骤,你已经成功编写并上传了连接 WiFi 的代码到 ESP32 开发板。ESP32 现在已经连接到指定的 WiFi 网络,并准备好进行更多的 IoT 应用开发。希望这个教程对你有所帮助!