0

您好,有人管理过稳定的 wifi 连接,可以处理各种问题,例如断电、路由器重启、wifi 丢失并管理机器以正确重新连接吗?此代码不会以稳定的方式工作:

void setup() {
   wifiConnect();
}

 void loop(){
    wifiConnect();
 }
void wifiConnect(){  
  if(WiFi.status() != WL_CONNECTED) {
      Serial.print("Connecting to ");
      Serial.println(ssid);  
      WiFi.begin(ssid, password);  
      // attempt to connect to Wifi network:

      while(WiFi.status() != WL_CONNECTED) {
        // Connect to WPA/WPA2 network. 
        delay(500);
        Serial.print(".");
      }
      Serial.println("");
      Serial.println("WiFi connected");
      Serial.println("IP address: ");
      Serial.println(WiFi.localIP());
  }  
}

这在覆盆子上非常稳定且容易,因为 pi 可以处理它,但在 esp32 上,示例代码根本无法处理可能出现的所有问题。如果您遇到无法调试的问题,非常令人沮丧。

4

1 回答 1

1

以下是对我来说非常有效的方法(路由器重启、频道更改、WiFi 丢失等):

void setup()
{
  WiFi.begin(ssid, password);
}

void loop()
{   
  wifiConnect();
  delay(10000);      
}

void wifiConnect()
{
  if (WiFi.status() != WL_CONNECTED) {
    WiFi.disconnect(true);
    delay(1000);
    WiFi.begin(ssid, password);
    return;
  }
  // other stuff
}
于 2018-12-13T16:40:22.140 回答