ESP8266 智能配网 断电重连 #include ESP8266WiFi.hbool autoConfig(){ WiFi.begin(); for (int i = 0; i 20; i++) { int wstatus = WiFi.status(); if (wstatus == WL_CONNECTED) { Serial.println("AutoConfig Success"); Serial.printf("SSID:%s\r
ESP8266 智能配网 断电重连
#include <ESP8266WiFi.h> bool autoConfig() { WiFi.begin(); for (int i = 0; i < 20; i++) { int wstatus = WiFi.status(); if (wstatus == WL_CONNECTED) { Serial.println("AutoConfig Success"); Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str()); Serial.printf("PSW:%s\r\n", WiFi.psk().c_str()); WiFi.printDiag(Serial); return true; //break; } else { Serial.print("AutoConfig Waiting......"); Serial.println(wstatus); delay(1000); } } Serial.println("AutoConfig Faild!" ); return false; //WiFi.printDiag(Serial); } void smartConfig() { WiFi.mode(WIFI_STA); Serial.println("\r\nWait for Smartconfig"); WiFi.beginSmartConfig(); while (1) { Serial.print("."); if (WiFi.smartConfigDone()) { Serial.println("SmartConfig Success"); Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str()); Serial.printf("PSW:%s\r\n", WiFi.psk().c_str()); WiFi.setAutoConnect(true); // 设置自动连接 break; } delay(1000); // 这个地方一定要加延时,否则极易崩溃重启 } } void setup() { Serial.begin(115200); if (!autoConfig()) { Serial.println("Start module"); smartConfig(); } } void loop() { delay(1000); Serial.println("loop"); }
参考链接