Esp8266通过SmartConfig一键配网后,更换路由如何重新配置
最近在编写SmartConfig一键程序,发现有两个值得注意的问题
1. 进行SmartConfig配置启动时,一定要设置Esp8266为Station模式
2 . 当配置完成后,下次要重新配置新的WIFI路由,需要再次进入SmartConfig配置,可采用两种方式
1. 重新启动后,配置一GPIO脚位为上拉输入脚,平时为高电平,一但该脚位接低则进入SmartConfig配置
2. 每次程序启动后,直接进入SmartConfig配置,设置超时时间,一旦超时则退出SmartConfig配置,在此时间段内可进行 配置 `在这里插入代码片`
#include <ESP8266WiFi.h>
void SmartConfig()
{
int TimerOverCount=0;
WiFi.mode(WIFI_STA);
Serial.println("WIFI Wait for Smartconfig");
WiFi.beginSmartConfig();
while (1)
{
Serial.printf(".%d",TimerOverCount);
if (WiFi.smartConfigDone())
{
Serial.println("WIFI SmartConfig Success");
Serial.printf("SSID:%s", WiFi.SSID().c_str());
Serial.printf(", PSW:%s\r\n", WiFi.psk().c_str());
Serial.print("LocalIP:");
Serial.print(WiFi.localIP());
Serial.print(" ,GateIP:");
Serial.println(WiFi.gatewayIP());
WiFi.setAutoConnect(true); // 设置自动连接
break;
}
if(TimerOverCount>=15)
{
WiFi.stopSmartConfig();
WiFi.begin();
break;
}
TimerOverCount ++;
delay(1000);
}
}
void setup(void)
{
// Start Serial
Serial.begin(115200);
delay(100);
SmartConfig();
}
```