写点什么

自建本地电话告警系统

用户头像
周楠
关注
发布于: 2020 年 12 月 16 日
自建本地电话告警系统

前言

本系统最初实现在2017年初,由于公司取消了人工监控岗位,为解决夜间消息类告警无法及时叫醒处理的问题,开始调研电话告警,且当时没有了解到有服务商提供该业务。

从企业7*24运维角度出发,追求快速提出解决方案,快速落地,在此前提下简单实现,后期也没有投入 过多精力继续完善,但应对中小场景及从无到有已可以满足。

希望这篇"干货"可以帮助有需求的读者理解实现方式,快速落地。



通信模块(后续称为SIM模块)

用来收发信息、拨打电话、语音播报。

解决运维人员7*24,凌晨微信、短信告警听不到,故障处理延迟问题。

网上能搜到很多如何实现电话告警的文章,本文区别在于使用SIM模块+SIM卡,不依赖调用互联网外部平台,可以假设出口中断无法连接外部平台或外部平台故障时的本地解决方案。



设备选择

SIM7600CE 4G开发板

模块硬件版本很多,类似显卡产品,SIM7600CE芯片被各厂商生产出具有不同功能、接口的产品。

需选择带有GPIO串口引脚,且支持TTS播报版本。

同时需配有相应天线、母对母杜邦线。(USB调试线可选)

树莓派3B或4B

同时需配置≥16GTF卡、相应电源线。(HDMI及外壳可选)

电话卡

运营商选择需视SIM模块支持情况,一般为全网通。



注:设备选型只为简单实现功能,如有丰富电路知识可选择其他款型SIM模块,且无需树莓派。

早期使用sim800c模块,后因部分地区运营商基站逐渐关闭2G、3G信号导致无法使用。



设备调试

  1. 树莓派安装Raspbian/Ubuntu系统任意,初始化教程很多不再赘述,但需开启GPIO串口

  2. 将树莓派GPIO与SIM模块使用杜邦线互联,各自分别供电启动,需注意供电稳定建议5V2A

5V为电源正极,GND为负极,TX、RX收发交叉连接



  1. 插入可用SIM电话卡,需重启SIM模块生效

  2. SIM模块初始化及基本命令

模块会附送AT命令集手册及win下串口调试工具

或在树莓派安装minicom调试,波特率初始为9600或115200

发送AT正常返回OK,即模块启动

AT+CBC查看电压,正常返回约4.000V

AT+CSQ查看信号强度,正常返回XX,99,XX为0可能天线没有接好

AT+CREG?查看网络注册状态,正常返回+CREG: 0,1

AT+CPSI?查看运营商基站注册状态,正常返回LTE,Online....

AT+CDTAM=1 开启TTS语音远端播放

AT+MORING=1 开启去电状态(响铃MO RING/接通MO CONNECTED)

AT&W保存设置

ATD186XXXXXXXX; 拨打电话测试

AT+CTTS=2,"测试" 被叫接听后,发送,即可从被叫听到双引号内容

AT+CHUP 挂断电话

AT+CFUN=1,1 重启模块,模块偶发网络离线或无返回时,可使用



程序逻辑



结束语

上线至今已基本稳定运行2年,随使用频次的增加仍在持续完善。

如可使用充电宝作为"UPS"持续供电、多个模块放置在不同地理位置,增加可用性及并发能力。

软件上增加短时间大量告警合并抑制、根据内容优先级排序等等。

同时也有很多其他场景功能可以开发利用,且部分已经实现。

如发送告警短信或通过收到短信内容做自动化控制

利用蜂窝网络当作app或IDC出口监控

搭配arduino和温湿度等等传感器实现监控、告警

设置定时电话替代酒店叫早服务

等等其他物联网场景还有很多,欢迎大家评论、交流

发布于: 2020 年 12 月 16 日阅读数: 14
用户头像

周楠

关注

还未添加个人签名 2018.12.09 加入

当当运维

评论

发布
暂无评论
自建本地电话告警系统