Arduino-ESP8266 Wifi页面配置
ESP8266 作为一款流行的低成本 Wi-Fi 模块,不支持 5 GHz 频段的 Wi-Fi 连接。它仅支持在 2.4 GHz 频段的 802.11 b/g/n 协议;
ESP32 能够同时支持 2.4 GHz 和 5 GHz 的 Wi-Fi 网络
联网流程:程序启动后,查找本地文件存储的wifi账号和密码,如果文件为空,或者wifi连不上则进入入ap模式,在网页界面上输入账户和密码,保存到本地文件并进行连接,连接成功后重启ESP;超时5分钟未连上wifi则重启ESP;支持断网重连
PC端连接
移动端连接
连接成功后
断网重连
#include "webconfig.h" void setup() { Serial.begin(9600); // 先初始化串口 Serial.println("MCU RUN"); // 再输出信息 SPIFFS.begin(); if (!connectToStoredWiFi()) { Serial.println("Wifi Connect Failed,Access AP!"); setupWiFiAccessPoint(); initWebServer(); apModeActive = true; apModeStartTime = millis(); } else { Serial.println("Wifi Connect Successed"); } } void loop() { if (apModeActive) { // AP模式 server.handleClient(); // 5分钟超时检测 if (millis() - apModeStartTime > 300000) { Serial.println("Wifi Config Timeout,Restart!"); ESP.restart(); } } else { // RUN模式 // 断网重连 static unsigned long lastCheck = 0; if (millis() - lastCheck > 10000) { // 每10秒检测一次 lastCheck = millis(); if (WiFi.status() != WL_CONNECTED) { Serial.printf("WiFi connection lost(%d), reconnection\n", WiFi.status()); WiFi.reconnect(); // 有限次尝试重连 for(int i = 0; i < 20; i++) { if(WiFi.status() == WL_CONNECTED) { Serial.println("WiFi reconnection Successed"); break; } delay(500); } } } } }
qq:505645074