路由看门狗,终于搞成了

2015-10-19 11:40:38 +08:00
 tux
这是上次发的想法 https://www.v2ex.com/t/211394
再补充一点,路由上开了科学上网,还有 2 个 WAN,本地运营商每 3 天强行踢下线换一次 IP,所以容易死机

水平有限,思来想去,终于发现一个可行的办法
在路由旁边有一个低功耗的小电脑,充当代理,下载机和 NAS 功能,所以想到在上面用一个程序控制一个 USB 继电器以达到路由死机后断电再开的重启功能

USB 继电器,功能非常简单免驱动的,卖家提供了各种开发包,不过只需要命令行控制开关,把路由器电源线其中一根接在继电器常闭端,默认就是通的状态,路由死机的时候控制继电器切换到常开,让电源线断开 5 秒后,再恢复,然后等 150 秒,脚本程序回到起点,重新检测路由状态



这次也认真学习了一下脚本,这是脚本程序
功能简单,ping 不通后就断电 5 秒,恢复后,等 150 秒,重新 ping


断电的时候写一下时间到 log,能发现什么时候重启路由了


路由 3 天死一次....
3234 次点击
所在节点    分享创造
19 条回复
qdk0901
2015-10-19 12:09:24 +08:00
挽回李狗蛋的尊严,我顶。
狗蛋,请准备 esp8266 的版本, gpio 直接控制继电器
tux
2015-10-19 12:10:57 +08:00
@qdk0901 不要吹比,做出来看看
loading
2015-10-19 12:17:18 +08:00
设置每天半晚自动重启一次不就好了?
MrGba2z
2015-10-19 12:21:30 +08:00
路由难道没定时重启功能么。。
Earthman
2015-10-19 12:27:56 +08:00
啥破路由,下线还会死机?我这边是每周踢下线,但是路由自己就拨上了,完全没感觉。另外在路由上部署了邮件通知, ip 改变就会发邮件,很方便是不是
Admstor
2015-10-19 13:22:57 +08:00
你买这些设备的钱...换个高级点的路由吧..
21grams
2015-10-19 13:42:50 +08:00
路由为啥会死机,你这是路由太差了吧
Earthman
2015-10-19 13:59:43 +08:00
35 一个不便宜啊
yeyeye
2015-10-19 14:01:52 +08:00
看你上一个帖子 显然是可以设置自动重启的 3 天才死机一次 那设定每天重启一次就好了 看看还会不会死机

如果你的路由器没有自动重启功能 那说明是路由器自带固件 那么只要内网每天定时发送一个 http 请求就可以实现重启了 如果路由器有动态域名功能(除了十年前的路由猫,再也没见过不支持动态域名的路由器了) 就在外网定时发一个 http 请求就可以了

用硬件来实现也确实是有点大题小做了。

不过楼主所做的也是我一直想做的 有一个路由器 常常我喜欢远程的方式重启,但是坑爹的是这个路由器偶尔重启后会根本不启动(只亮一个电源灯,但是拔电再插又从来没有启动不了的情况) 于是我再也不敢随便重启了……因为一旦重启失败,就失去联络了……
dndx
2015-10-19 14:02:25 +08:00
同感路由太烂,不如省着钱买新的..
zjqzxc
2015-10-19 15:51:38 +08:00
一看内容我就记得楼主上一条帖子我也回复过。。。

难道就木有人吐槽楼主的批处理文件么。。。 @echo off 了底下几乎每一天命令前面都加 @干嘛。。

不过那个 delay.exe 1000 的确有点意思哈~~~为了写个批处理还得用编译一个小程序也是够拼的。。
一般 bat 文件实现 sleep 的方法是
ping 192.168.233.233 -n 1 -w 10000 > null
延迟 10 秒,其中 192.169.233.233 为一个不存在 ip 地址。

&&然后嘛,目测楼主是通过 delay 然后 goto 的方式实现循环的,虽然方法也可以,但真的没这么做过。干嘛不直接加计划任务呢。

这一大堆 goto 的,其实计划任务加一个 if 就解决的事儿。
yeyeye
2015-10-19 21:28:27 +08:00
@zjqzxc 加 @是为了防止输出命令本身,而 echo off 是防止输出命令执行结果

你这样延时也是错误用法 XP 开始命令行支持 timeout 命令 直接在后面打一个延迟多少秒就可以了
zjqzxc
2015-10-19 21:51:51 +08:00
@yeyeye timeout 那个用法谢了~

echo off 似乎并不能关闭输出命令执行的结果。
yeyeye
2015-10-19 21:59:21 +08:00
@zjqzxc 好吧我错了 @和 echo off 一个意思
amet
2015-10-21 19:30:54 +08:00
放个电脑在旁边。。。。为什么不做个软路由?
jukka
2015-10-22 09:23:03 +08:00
楼主真是会玩儿!
hqs123
2015-10-22 19:57:33 +08:00
楼主专研能力很强啊
buli
2015-10-23 08:39:21 +08:00
看电源像 hg255d 的😊
shyrock
2015-10-23 10:01:02 +08:00
lz 真程序员。。。垃圾程序不愿意重构,而是在外面加个看门狗重启。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/229144

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX