关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于SIM900A的物联网短信报警系统

基于SIM900A的物联网短信报警系统

作者:时间:2012-06-18来源:网络收藏


3 系统软件设计
系统软件设计方面包括利用AT指令进行自动收发和解析,物报警网关的软件流程设计。
3.1 AT指令介绍
AT指令是指终端设备TE和终端适配器TA之间以及数据终端设备DTE和数据电路终端设备DCE之间的接口标准。20世纪90年代初,AT指令仅被用于Modem的操作,在经历了一系列演化后,AT指令被加入GSM07.05标准。的AT命令接口默认使用IRA字符集,除此之外还支持GSM07.07格式,UCS2,HEX,PCCP,PCDN,8859-1字符集。用于收发的AT指令如表1所示。

本文引用地址:http://www.eepw.com.cn/article/160429.htm

f.JPG


3.2 编码
短消息的收发共有三种方式:Block方式、Text方式、PDU方式。Block方式目前很少用;Text方式为纯文本方式,可使用不同的字符集,从技术说可用于发送中文短消息,但国内手机基本不支持,主要用于欧美地区;PDU方式被所有手机支持,可以使用任何字符集,也是手机默认的编码方式。
在PDU方式下可以采用三种编码发送短信息:7-bit编码、8-bit编码和UCS2编码。7-bit方式容量大但是其码制转换较复杂,由于本系统内所用短信内容较短,本文采用UCS2编码方式进行短信编码和解析,UCS2编码方式中应用的为Unicode字符集。一般的PDU编码由A,B,C,D,E,F,G,H,I,J,K,I,M共13项构成。
下面结合本系统介绍UCS2编码发短信的原理:网关根据报警条件与当前环境参数进行比较,若环境参数超过用户设定阈值,则根据环境参数类型及超限类型给用户发送报警短信,短信内容事先写入网关硬件FLASH内,在代码中结合Switch语句决定信息内容。若1号温室内温度参数超过用户设定的上限,则系统给用户手机15212345678(虚拟号码)发送短信内容:
1号温室内空气温度超过设定阈值
对于UCS2短信编码字符串为:
0011+00+0D+91+68+5112325476F8+0008+04+2D+0031(1)53F7(号)6E29(温)5BA4(室)5185(内)7A7A(空)6C14(气)6E29(温)5EA6(度)8D85(超)8FC7(过)8BBE(设)589A(定)9608(阈)503C(值)
(此处为易读而注“+”,实际发送中不存在,汉字要发送其Unicode码格式,括号内为Unicode码对应其汉字,实际发送中不存在)
其中:0D指目的号码长度(+86 15212345678);5112325476F8指目的号码(15212345678F,补F后两位一反);04指有效期,2D为短信长度;003153F…08803为短信内容(1号温室内空气温度超过设定阈值)。
结合AT指令,当1号温室空气温度超阈值,进行短信报警的具体操作过程为:
(1)发送AT+CMGF=0//PDU方式发送短信。
(2)发送AT+CSCS=“UCS2”//短信编码方式为UCS2。
(3)发送AT+CMGS=2D//短信长度。
(4)识别返回>后发送下列字符串:
0011000D91685112325476F80008042D003153F76E295BA451857A7A6C146E295EA68D858FC78BBE5B9A9608503C.
同样,系统定期检查设备内SIM卡的余额,当余额少于设定余额的时候进行报警提醒,利用中国移动短信余额查询功能,按照上述短信编码方式即可完成短信余额查询功能。具体可通过向10086发送字母“YE”(Unicode码为00590045)来实现(北京地区,地区不同字母组合有差异)。编码字符串为:0011000791680180F60008040400590045。
3.3 物报警网关软件流程设计
报警网关的软件设计流程如图5所示,网关时刻监听是否收到数据包,若收到数据包则判断是WSN内温湿度节点数据包还是用户阈值设定数据包,分情况进行相应处理。由于系统所测环境参数均为缓变量,当用户启动短信报警功能后,本系统采集周期最短可设置为5 mi n,否则若采集周期过短,当环境参量超过阈值时,系统不断发送报警信息,不仅增加系统负担而且给用户造成不必要的资费浪费。

g.JPG



评论


相关推荐

技术专区

关闭