基础连接代码
#include <WiFi.h>
const char* ssid = "你的WiFi名称";
const char* password = "你的WiFi密码";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("连接WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi 连接成功!");
Serial.print("IP 地址: ");
Serial.println(WiFi.localIP());
}
void loop() {
// 你的业务逻辑
}
注意:ESP32 只支持 2.4GHz WiFi,不支持 5GHz。如果你的路由器开了双频合并,ESP32 可能连不上,需要把 2.4GHz 单独设一个网络名称。
断线自动重连
WiFi 连接不稳定是常见问题,需要在 loop() 里加重连检测:
void loop() {
// 检测 WiFi 是否断开,断开就重连
if (WiFi.status() != WL_CONNECTED) {
Serial.println("WiFi 断开,重新连接...");
WiFi.disconnect();
WiFi.begin(ssid, password);
int retry = 0;
while (WiFi.status() != WL_CONNECTED && retry < 20) {
delay(500);
retry++;
}
if (WiFi.status() == WL_CONNECTED) {
Serial.println("重连成功!");
}
}
// 正常业务逻辑...
delay(1000);
}