请问arduino的smartconfig怎么停止-Arduino中文社区 - Powered by Discuz! Archiver

old_ghost_he 发表于 2019-1-13 16:42

请问arduino的smartconfig怎么停止

我参照例程写了个smartconfig,要求30秒没有配置就连接默认的wifi,配置smartconfig成功后一切正常,但30秒没有配置就不能连接默认WIFI,也不能配置AP成功了,连WiFi.mode(WIFI_OFF)再打开都不行。我后来想到应该配置失败后要关闭smartconfig,然后在ESP8266WiFiSTA中找到了stopSmartConfig()函数,可使用时提示函数没定义,可函数明明在ESP8266WiFiSTA.cpp中啊。
我的smartconfig配置函数:
boolean smartConfig(void)
{
unsigned int i = 0;
WiFi.mode(WIFI_STA);
Serial.println("\r\nWait for Smartconfig");
WiFi.beginSmartConfig();
while (1) {
    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());
      strcpy(eep_data.WIFI_SSID,WiFi.SSID().c_str());
      strcpy(eep_data.WIFI_PWD,WiFi.psk().c_str());
      EEPROM_Write_Data();
      return true;
    }
    delay(1);//延时1ms秒
    if(++i>=30000) {//30s
      Serial.println("SmartConfig Failed");
      //stopSmartConfig();
      return false;
    }
}
}

boolean Wifi_Set_STA(void)
{
if((eep_data.WIFI_SSID==0)||(eep_data.WIFI_SSID==0xFF)) {//检查是否已存储了SSID
    if(smartConfig() == false) {//smartcofig配置WIFI STA 失败
      strcpy(eep_data.WIFI_SSID,"TP-LINK_8274");
      strcpy(eep_data.WIFI_PWD,"12345678");
    }
}
return Wifi_Config_STA(eep_data.WIFI_SSID, eep_data.WIFI_PWD);
}


old_ghost_he 发表于 2019-1-14 09:03

怎么人气这么低,有知道的吗?加入stopSmartConfig()后编译出现“stopSmartConfig was not declared in this scope”

old_ghost_he 发表于 2019-1-14 09:06

知道了,应该是加入WiFi.stopSmartConfig();

跑龙套的保 发表于 2019-1-14 09:07

调用WiFi.beginSmartConfig()后如果没有配置成功,需要其他联网操作需要退出配网模式,WiFi.stopSmartConfig();
页: [1]
查看完整版本: 请问arduino的smartconfig怎么停止