ESP8266在物联网领域使用是非常广泛的。因此,在使用中我们要追求它的稳定性。通常连接在代码中,我们只配置了一个WiFi信息,当路由器断电后,设备无法自动重新连接网络,从而导致物联网设备下线。
WiFi信息
当WiFi连接丢失后,如何重新连接呢,让我们一起来学习吧!
想要在连接丢失后重新连接到 Wi-Fi,我们需要添加两个参数WiFi.setAutoReconnect(true)
和WiFi.persistent(true)
void initWiFi() {
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED) {
Serial.print('.');
delay(1000);
}
Serial.println(WiFi.localIP());
WiFi.setAutoReconnect(true);
WiFi.persistent(true);
}
上面代码中,每 30 秒打印一次 Wi-Fi 连接状态。当关闭路由器,然后重新打开后,我们会发现WiFi会自动连接。
完整示例代码:
#include <ESP8266WiFi.h>
// 配置WiFi信息
const char* ssid = "PDCN";
const char* password = "1234567890";
void initWiFi() {
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED) {
Serial.print('.');
delay(1000);
}
Serial.println(WiFi.localIP());
WiFi.setAutoReconnect(true);
WiFi.persistent(true);
}
void setup() {
Serial.begin(115200);
initWiFi();
Serial.print("RRSI: ");
Serial.println(WiFi.RSSI());
}
void loop() {
}
BREAK AWAY