工程GSM短消息远程数据采集监控系统
2010-06-13黄显澍
黄显澍
(哈尔滨安天科技股份有限公司,哈尔滨150001)
1 引言
现有的电话监控装置采用DTMF(双音多频)信号的编解码来实现,依靠用户在拨通电话监控器后,按用户电话机上的按键发送DTMF信号给电话监控器,监控器接收到信号,经解码后根据按键代表的意义来执行相应的动作。执行结果后依靠监控器发出的声音或语音提示反馈给用户。其缺点是因为电话机只有数字键,所以对设备的控制必须依赖编号。也就是用户只能对设备进行编号操作,例如对3号设备进行操作,但是3号设备是什么,用户必须牢记在心,一旦遗忘,只有查看系统帮助文件才能知道。另外,由于是采用打电话的方式,打一次电话,至少计一次市内电话费,如果是长途,则话费就更贵了。
由于目前GSM网络基本覆盖全国,GSM手机已经到了普及的程度,手机在全国收发短消息的费用为0.1元/条或更低,而且手机有汉字显示和输入功能。因此,利用GSM手机的短消息收发功能实现监控功能的数据采集系统优势明显。
2 系统结构
工程GSM短消息远程数据采集监控系统整体结构如图1所示,由西门子的GSM通信模块TC35,单片机电路,八路数据采集接口,温度检测模块,湿度检测模块,电压采集模块等构成。主控模块的单片机电路通过AT指令与GSM通信模块TC35进行短消息的收发,单片机电路解释短消息指令并通过八路数据采集接口对各模块进行控制。通过这个接口可以实现对工程要求的温度、湿度,以及电压等八路数据进行监测。
GSM中文短消息是按照PDU(Protocol Data Unit)格式进行收发的,最多70个汉字字符,中文字符按照UNICODE进行编码,这与计算机的汉字编码不同。
图1 系统结构框图
PDU相当于一个数据包,它由构成消息(SMS)的信息组成。作为一种数据单元,它必须包含源/目的地址、保护(有效)时间、数据格式、协议类型和正文,正文长度可达140字节,它们都以十六进制表示。PDU结构根据短消息由移动终端发起或以移动终端为目的而不同。
当由移动终端发起时,PDU的格式为:
SMSC PDU类型 MR DA PID DCS VP UDL UD(0~140octed)
当以移动终端为目的时,PDU的格式为:
SMSC PDU类型 OA PID DCS SCTS UDL UD(0~140octed)
其中,SMSC为短消息业务中心地址,DA/OA为源/目的地址,PID为协议识别,DCS为数据编码,UDL为用户数据长度,UD为用户数据,VP为有效时间,MR指明是发出信息,SCTS指明短消息到达业务中心的时间。
因此只要软件上接照PDU格式解读或编写相应的数据格式即可接收或发送短消息。关于短消息的详细内容见参考文献1,关于AT指令的详细操作见参考文献2。下面分别给出发送和接收的例子:
例1发送:SMSC号码是+8613800250500,对方号码是 13851872468,消息内容是“hellohello”。从手机发出的PDU串可以是
08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 58 81 27 64 F8 00 00 00 06 E8 32 9B FD 46 97 D9 EC 37
对照规范,具体分析如下表:
表1 短信发送PDU字符串对照表
例2接收:SMSC号码是+8613800250500,对方号码是13851872468,消息内容是“你好!”。手机接收到的PDU串可以是
08 91 68 31 08 20 05 05 F0 84 0D 91 68 31 58 81 27 64 F8 00 08 30?30 21 80 63 54 80 06 4F 60 59 7D 00 21
对照规范,具体分析如表2所示。
若基本参数的最高位(TP-RP)为0,则没有回复地址的三个段。从Internet上发出的短消息常常是这种情形。注意号码和时间的表示方法,不是按正常顺序顺着来的,而且要以‘F’将奇数补成偶数。
系统主控模块电路结构框图见图2,采用51系列的AT89C51为CPU与GSM通信模块TC35、并行AD器件ADC0809、看门狗和串行EEPROM 24C02相连.系统的设置信息等保存在串行EEPROM中,而且被采集的模块数量不超过8个。系统对用户控制短消息进行处理后,通过并行AD读取各模块的数据,并通过GSM通信模块TC35将各路数据以中文短消息的形式发送到用户的手机中。这就完成了用户对数据采集的远程控制。
GSM通信模块安装了SIM卡,这就是本系统的号码。
温度、湿度检测模块以及电压采集模块给主控模块提供了数据采集接口,湿度传感器采用KT-HM1,温度传感器采用价格低廉的一线制传感器DS18B20。
表2 短信接收PDU字符串对照表
图2 主控模块结构框图
3 软件设计
软件结构比较简单,单片机电路与模块的通信采用传统的主从式通信。软件的关键是做好GSM通信模块与单片机的接口以及可靠的数据采集。同时也可根据需要做出PC机的监控程序,明了的显示各路数据的采集状况。当然这需要配以相关的硬件,但这也主要是COMS电平与TTL电平的转换,只要应用MAX232就可以实现,这里就不再叙述了。
4 使用方法
在系统安装完成后,首先需要对八路数据采集模块的地址编号进行设定,不能有冲突。然后采用GSM手机发送短信到系统进行密码的修改。最后,用户通过短消息对各路采集模块的地址进行汉字名称定义,以便将来监控。例如编号是1号的模块是温度检测模块,测量的是环境温度。2号的模块是湿度检测模块,测量的是环境湿度。则发送短消息“数据采集,设置,1温度,2湿度”到系统,则系统记录1号模块是环境温度检测模块,2号模块是环境湿度检测模块。以后,如果用户希望查看环境的温度与湿度,则用GSM手机发送短消息“数据采集,温度,湿度”给系统即可执行相应的操作。用户也可以发送查询指令对八路数据采集进行检测。
5 设计注意事项
·TC35 在实际工作时,峰值电流很大且对电源纹波的要求很高,因此建议供电电源采用高质量的电源。否则极易造成TC35 工作不稳定和单片机电路的不稳定。
·在有的地区,不同的GSM网络间传送短消息不是很满意,有延迟甚至有丢失短消息的现象。
6 总结
本设计新颖实用,操作简单,人机界面友好,符合我国国情。但由于现在GSM通信模块的价格目前比较高,所以它的使用受到了一定的限制。
[1]马崇良.单片微型计算机原理及应用[M].北京:中国纺织出版社,1996.
[2]胡辉.单片机原理及应用没计[M].北京:中国水利水电出版社,2005.
[3]潘永雄.新编单片机原理与应用[M].西安:西安电子科技大学出版社,2003.
[4]SIEMENS.SIEMENS AG Developer`s Guide SMS with the sms PDU - mode[EB/OL].SIEMENS,1997.http://w1.siemens.com/entry/cc/en/.
[5]SIEMENS.SIEMENS AT -Commands for GSM -Engine TC35 Version 1.0 [EB/OL].SIEMENS,2001.http://w1.siemens.com/entry/cc/en/.