hcb 发表于 2007-12-3 12:02:55

原创:ADSL断线自动电话报警脚本

如果你不总是守在机房的话,线路出了故障用电话通知你是件很有帮助的事情

所需设备:
1,一个外置的MODEM,就是早年用电话线拨号上网的东东,如果你能在仓库找到一台586的机子做ROS的话,也很有希望能找到一个MODEM, 二手电脑商店里也很容易找到,或者花几十元买一个新的也可以,特别注意:要外置的,PIC内置MODEM在LINUX下,不装驱动基本不能识别,这点非常遗憾
2,一条能拨通你的电话的电话线路,内线分机也可以

步骤:
1,把外置把MODEM的数据线接在ROS的串口2上,就两个串口,不是1就是2,不对的话,换一下就可以了,选串口2的目的是与脚本里面使用的相一致,把电话线插在MODEM上,你的电话机也可以插在上面共用一个电话号码,接通MODEM电源
2,用WinBox登陆ROS,在系统-->调度里面新建一调度任务,把脚本代码输入在里面,如图设置好就可以了,

脚本:
#指定被检测的ADSL接口
:set DSL-NAME "CNC-ADSL"
#指定用来拨电话的PPP接口
:set PPP-NAME "PPP-TEL"
#指定拨打的电话号码,若是内线拨外线号码,可使用逗号来暂停,以便等待拨号音
:set TEL-NUM"0,13212345678"
#拨号的PPP接口不存在的话,就创建它
:if(="") do={
# 用串口COM2创建拨号接口,不对的话,换一个口就是了
/int ppp-client add name=$PPP-NAME port=serial1 disabled=yes
}
#从PPP接口的注释里,取得待检线路的故障标志,0正常,1检测到一次错误
#由于没有找到更好的方法来保存故障标志,就用接口的注释来变通保存
:set A ([:tonum()]+1)
/interface
:if( running]) do={
#如果检测到ADSL正常而原来的标志是故障的话,就复位故障标志
:if($A>1) do={/int set $PPP-NAME comment="0"}
} else={
# 如果连续10次检测到故障的话,复位故障标志为第一次
:if($A>10) do={:set A 1}
# 如果是初次发现故障,就拨打指定的电话
:if($A=1) do={
#   设置电话号码
    ppp-client set phone=$TEL-NUM
#   开始拨号
    ppp-client enable$PPP-NAME
#   等待响铃60秒钟,遗憾的是,如果你挂断电话,还会再次拨响
#   不能做到挂断电话就停止
    :delay 60s
    ppp-client disable $PPP-NAME
}
/int set $PPP-NAME comment=[:tostr($A)]
}

延伸:
类似的,可以检测多条ADSL线路或者固定IP线路的故障电话报警
也可以做成一个电话闹钟,结合我的计算星期几的脚本,免除周六周日的干扰休息

期望:
1,要是ROS能支持PCI内置MODEM就好了
2,如果谁能够做到当电话接通的时候,有语音提示就好了,可以根据不同的故障播放不同的语音

17941487 发表于 2007-12-3 17:36:43

强大,可惜用不上,而且外置的还实在难找,PCI的就有一张,还是01还是02年第一台电脑的时候留下的...:lol

9939781 发表于 2007-12-3 18:20:07

:L 我对LZ的佩服无法用语言来形容了。。。。。。。

zooyo 发表于 2007-12-3 18:33:36

科技感动生活......

YAWPYNG 发表于 2007-12-3 18:36:13

看能不能搞个发简讯的.哈哈:lol :lol :lol

hcb 发表于 2007-12-3 21:50:04

原帖由 YAWPYNG 于 2007-12-3 18:36 发表 http://bbs.routerclub.com/images/common/back.gif
看能不能搞个发简讯的.哈哈:lol :lol :lol


确实有这个想法,可惜手上没有短信猫,哪天去弄一个来试试,如果短信猫的原理是发一串信息到串口的话,应该是可以的

阿魂 发表于 2007-12-3 23:33:35

这个.........PF啊..

vs335 发表于 2009-10-27 17:17:25

对楼主精湛的技术佩服,太强大了。

brqtpt007 发表于 2009-10-31 16:23:53

牛啊.我有个外置猫送人了...我晕啊

2153215 发表于 2009-11-12 11:05:48

我对LZ的佩服无法用语言来形容了

i88917404 发表于 2011-1-13 17:51:53

哈,真强,佩服

qinfei 发表于 2011-1-14 00:35:00

这么有技术含量的贴,现在才看到,真是平生一憾事啊

zh1000000 发表于 2011-1-17 08:24:41

呵呵!没那功夫!上不了就歇着先

haihis 发表于 2011-1-17 14:09:47

65465465465

haihis 发表于 2011-1-17 14:10:37

65465465456
页: [1] 2
查看完整版本: 原创:ADSL断线自动电话报警脚本