很多代码在展示smartconfig 的时候,只写了smartconfig的代码,导致让人会误以为系统会自动检测网络是否连接状态。
实际上在smartconfig的时候必须先检测网络连接状态一定时间,然后在无法联通的时候再启动smartconfig 的设置,参考代码如下。
#include <ESP8266WiFi.h>
void setup() {
// ESP.eraseConfig();
// delay(1000);
// ESP.reset();
// ESP.restart();
Serial.begin(115200);
pinMode(2, OUTPUT);
WiFi.mode(WIFI_STA);
WiFi.begin();
int i=0;
while(i<=30){
Serial.println(i);
delay(100);
if (WiFi.status() == WL_CONNECTED)break;
i++;
}
if (WiFi.status() == 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);
}
else
{
smartConfig();
}
}
void smartConfig() {
Serial.println("begin stmart config...");
WiFi.beginSmartConfig();
while (WiFi.status() != WL_CONNECTED) {
Serial.print(">");
digitalWrite(2, 0);
delay(300);
digita

本文讲述了在编写代码展示SmartConfig功能时,必须确保设备先检测网络连接,防止直接启动可能导致的配置失败。通过实例代码展示了如何在连接失败后启动SmartConfig设置,以及可能的配置清除和手机热点连接的注意事项。
最低0.47元/天 解锁文章
2313





