重启路由器/ esp32上的esp32稳定wifi连接,丢失连接,连接错误等

时间:2018-02-18 11:26:34

标签: arduino esp32

你好有人管理一个稳定的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上,样本代码无法解决可能出现的所有问题。如果你遇到问题就无法调试,非常令人沮丧。

1 个答案:

答案 0 :(得分: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
}