英创信息技术有限公司.pdf
文本预览下载声明
英创信息技术有限公司 支持中文短信的在线监测报警应用方案
支持中文短信的在线监测报警应用方案
英创信息技术有限公司
2006 年5 月
在线监测报警系统是一类典型的嵌入式应用系统,本文主要介绍使用英创嵌入式网络模
块ETR232i 构成的在线监测报警系统,其系统组成如图1 所示。
图1 在线监测报警系统组成框图
系统监测对象一般来讲可有3 种形式:
可被转换成数字“0/1 ”的设备的状态,在本方案中这些状态变量可通过 ETA724
数字IO 扩展模块接入到CPU 系统。
智能设备,可通过RS485 总线来读取设备状态参数,这些设备可以是温度、压力
传感器等。
局域网(LAN)中的计算机设备,可以利用ETR232i 的以太网接口,通过标准的
ICMP 报文,如ping,去大致确认指定IP 的计算机设备是否处在工作状态。
系统一旦发现了异常情况,则通过系统的GSM 无线通讯模块,直接发送中文短信到指
定管理人员的手机上,也可以通过 GPRS 把异常信息实时传送到监测中心。本文主要介绍
1 028
英创信息技术有限公司 支持中文短信的在线监测报警应用方案
中文短信报警方式,有关GPRS/CDMA 数据通讯的应用介绍可在英创公司网站中其他应用
方案中找到。
从图1 可以看到本系统的硬件组成比较简单明了,以下主要介绍系统程序的实现要点。
本系统的应用程序采用了基于事件驱动(也称消息驱动)的框架,关于事件驱动的原理介绍
请参阅英创公司网站应用案例“嵌入式系统应用程序方案之一”一文。在消息驱动的程序框
架中,应用程序的主要功能一般都与系统一定的消息相对应,主要的消息及程序操作包括:
CMD_TICK:该消息每55ms 由系统产生一次,系统此时调用短信类的Running
()函数,处理GSM 模块和 ETR232i 模块之间的数据流,完成短信的发送和接
收。若接收到短信,程序将生成CMD_SMSARRIVED 消息。若系统包括 RS485
接口设备,对RS485 链路层数据收发处理程序也应作为CMD_TICK 消息的响应。
若收到完整的数据包,则生成消息CMD_485ARRIVED。
CMD_SEC:该消息每秒由系统产生一次,应用程序可根据实际监测的时间间隔,
生成监测数据采集命令CMD_DATALOG。
CMD_DATALOG:采集数字输入状态,进行必要处理,若发现异常,则发送报警
短信,本系统为了方便管理人员阅读,程序增加了支持中文短信格式的处理,在程
序中只需要写入汉字内码到发送字符串,即可实现中文短信的发送。相应的,对计
算机设备的监测,可以在此对指定 IP 进行 ping 操作,英创的 TCP/IP 库
(ETR_TCP.LIB)提供有可调用的ping 函数;对RS485 上的设备,此时则发送
查询命令。
CMD_485ARRIVED:应用程序对收到的数据进行必要的分析,若发现异常,则发
送报警短信。
CMD_SMSARRIVED:应用程序读取短信,注意对接收短信,本系统只支持ASCII
码数据,不支持中文,因为对监测设备发送短信主要是用于设置监测设备的相关参
数,而非显示。
CMD_NOP:当系统没有实质性消息时而生产的“空消息”,此时通常可运行以太
网的底层处理函数NetPackagePro (),以防止出现网络阻塞。
在本系统中,基于事件驱动的短信收发是整个应用程序的核心,采用 C++的类来实现
SMS 收发的功能,在SMSManager 类对象中定义了5 个公共函数如下:
1. int Init( )
显示全部