完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我是新手,发现很难为 NodeMCU 编写程序以在路由器挂起时重新启动路由器。
该程序应该: 1) 持续检查 ESP8266 是否连接到家庭 WiFi(SSID 和 PW)。 2) 当 WiFi 不再连接时,等待大约 2 分钟,并且 3) 如果仍然断开连接, 4) 激活继电器(这将关闭路由器)。 5) 20 秒后,关闭继电器(这样,路由器将重新启动)。 6) 再等 4-5 分钟,如果 WiFi 重新连接,转到 1) ,否则,如果 WiFi 仍然断开,则 7) 从第 4) 点开始重复。 我认为这个程序并不难,但对我来说是。那么,有没有人可以帮助我?我会很感激他。 事实上,我山区老家的调制解调器/路由器有时会死机(可能是被互联网供应商远程更新或其他原因),需要重启。但由于我经常不在家,所有连接到它的设备(相机、恒温器等)都处于停用状态,我无法远程干预。这样的程序可以解决问题。 |
|
相关推荐
1个回答
|
|
你可以尝试使用以下代码实现:
#include #include // Replace with your network credentials const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; // Define relay pin const int relayPin = 5; void setup() { pinMode(relayPin, OUTPUT); digitalWrite(relayPin, LOW); // Connect to WiFi WiFi.begin(ssid, password); // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(1000); } // Connected to WiFi Serial.begin(9600); Serial.println("Connected to WiFi"); // Start mDNS service MDNS.begin("esp8266"); } void loop() { // Check WiFi connection if (WiFi.status() != WL_CONNECTED) { Serial.println("WiFi Disconnected"); // Wait for 2 minutes delay(2 * 60 * 1000); // Check WiFi connection again if (WiFi.status() != WL_CONNECTED) { Serial.println("Relay ON"); // Activate relay digitalWrite(relayPin, HIGH); // Wait for 20 seconds delay(20 * 1000); Serial.println("Relay OFF"); // Deactivate relay digitalWrite(relayPin, LOW); // Wait for 4-5 minutes delay(4 * 60 * 1000 + random(0, 60 * 1000)); // Check WiFi connection again if (WiFi.status() == WL_CONNECTED) { // If WiFi connected, start over loop(); } } } // Keep mDNS service alive MDNS.update(); } 在上述代码中,我们首先定义了要连接的网络凭据(SSID 和密码)以及继电器引脚。随后,在setup()函数中,我们将继电器引脚设置为输出,并将其初始状态设置为关闭(LOW)。 接下来,我们连接到WiFi网络,并等待连接成功。我们还通过MDNS.begin()函数启动mDNS服务。 在主循环中,我们使用WiFi.status()函数检查ESP8266是否仍然连接到WiFi网络。如果未连接,则等待2分钟并再次检查连接。如果仍然未连接,则激活继电器(关闭路由器),等待20秒后再关闭继电器(重新启动路由器),并等待4-5分钟。此后,如果WiFi连接成功,则通过递归调用loop()函数重新开始程序,否则程序将继续等待WiFi连接。 最后,我们使用MDNS.update()函数保持mDNS服务活动。 希望这可以帮到你! |
|
|
|
只有小组成员才能发言,加入小组>>
407浏览 6评论
339浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
322浏览 5评论
322浏览 4评论
310浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 21:21 , Processed in 0.895837 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号