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