路由看门狗,终于搞成了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tux
V2EX    分享创造

路由看门狗,终于搞成了

  •  
  •   tux 2015-10-19 11:40:38 +08:00 3839 次点击
    这是一个创建于 3733 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这是上次发的想法 t/211394
    再补充一点,路由上开了科学上网,还有 2 个 WAN,本地运营商每 3 天强行踢下线换一次 IP,所以容易死机

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

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



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


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


    路由 3 天死一次....
    第 1 条附言    2015-10-22 12:54:49 +08:00
    饿啊!居然又发生了路由未死,wifi 死掉的情况... 果断的改成了无线看门狗,把 USB 继电器和一个 USB 无线网卡,分配到一个 VBOX 虚拟机里,达成无线看门狗功能....
    19 条回复    2015-10-23 10:01:02 +08:00
    qdk0901
        1
    qdk0901  
       2015-10-19 12:09:24 +08:00
    挽回李狗蛋的尊严,我顶。
    狗蛋,请准备 esp8266 的版本, gpio 直接控制继电器
    tux
        2
    tux  
    OP
       2015-10-19 12:10:57 +08:00
    @qdk0901 不要吹比,做出来看看
    loading
        3
    loading  
       2015-10-19 12:17:18 +08:00 via iPhone
    设置每天半晚自动重启一次不就好了?
    v2gba
        4
    v2gba  
       2015-10-19 12:21:30 +08:00 via iPhone
    路由难道没定时重启功能么。。
    Earthman
        5
    Earthman  
       2015-10-19 12:27:56 +08:00
    啥破路由,下线还会死机?我这边是每周踢下线,但是路由自己就拨上了,完全没感觉。另外在路由上部署了邮件通知, ip 改变就会发邮件,很方便是不是
    Admstor
        6
    Admstor  
       2015-10-19 13:22:57 +08:00
    你买这些设备的钱...换个高级点的路由吧..
    21grams
        7
    21grams  
       2015-10-19 13:42:50 +08:00
    路由为啥会死机,你这是路由太差了吧
    Earthman
        8
    Earthman  
       2015-10-19 13:59:43 +08:00
    35 一个不便宜啊
    yeyeye
        9
    yeyeye  
       2015-10-19 14:01:52 +08:00
    看你上一个帖子 显然是可以设置自动重启的 3 天才死机一次 那设定每天重启一次就好了 看看还会不会死机

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

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

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

    难道就木有人吐槽楼主的批处理文件么。。。 @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
        12
    yeyeye  
       2015-10-19 21:28:27 +08:00
    @zjzxc 加 @是为了防止输出命令本身,而 echo off 是防止输出命令执行结果

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

    echo off 似乎并不能关闭输出命令执行的结果。
    yeyeye
        14
    yeyeye  
       2015-10-19 21:59:21 +08:00
    @zjqzxc 好吧我错了 @和 echo off 一个意思
    amet
        15
    amet  
       2015-10-21 19:30:54 +08:00
    放个电脑在旁边。。。。为什么不做个软路由?
    jukka
        16
    jukka  
       2015-10-22 09:23:03 +08:00
    楼主真是会玩儿!
    hqs123
        17
    hqs123  
       2015-10-22 19:57:33 +08:00
    楼主专研能力很强啊
    buli
        18
    buli  
       2015-10-23 08:39:21 +08:00 via Android
    看电源像 hg255d 的
    shyrock
        19
    shyrock  
       2015-10-23 10:01:02 +08:00
    lz 真程序员。。。垃圾程序不愿意重构,而是在外面加个看门狗重启。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     959 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 158ms UTC 21:23 PVG 05:23 LAX 13:23 JFK 16:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86