我希望提出一个对这个盾牌的用户有用的问题。
开头:
WiFi.setAutoReconnect(true);
似乎并不能防止100%的断线。
我测试了很多扩展板(ESP12F、ESP01),在某些情况下我注意到自动重新连接无法正常工作。
事实:
loop(){
if (digitalRead... == HIGH) do_something()
}
还有盾牌……做点什么吧!所以,护盾没有被冻结。
我阅读了其他一些资料,并且经常描述这种行为(例如 https://randomnerdtutorials.com/solved-reconnect-esp32-to-wifi/ )。简介:尝试 WiFi.reconnect(),如果不起作用尝试 ESP.restart()。
那么,问题:
为什么会出现这种情况? arduino 库或本机 expressif 接口是否有问题?或者是一个众所周知的硬件问题无法通过软件解决?
如果确实如此,您使用什么技术来防止断开连接?我每 30 分钟设置一个计时器,如果它看到卡断开连接超过一定时间,就会重新启动它。例如。
void checkWifi() {
if (lastPing + DELTA < millis()) ESP.restart();
}
ticker.attach(checkWifi, ...)
void loop() {
if WiFi.isConnect() {
lastPing = millis();
...
}
}
感谢任何想要贡献或交流印象的人!
大约一年后,我分享我找到的答案: