一种基于短信数据传输通信协议设计

2015-12-25 02:33赵忠彪
许昌学院学报 2015年5期
关键词:手机号码终端设备通信协议

赵忠彪

(许昌学院电气信息工程学院,河南许昌461000)

GSM网络的通信技术已经成熟,覆盖面又广,即可以实现数据的远距离传输又免除了网络的日常修改和维护工作,最大限度地节省了投资[1],实现了环保、节能、资源最大共享.短信息服务(SMS)作为GSM网络的一种基本服务已得到越来越多的系统运营商与开发商的重视,基于这种业务的各种应用也蓬勃地发展起来.针对数据量不大、数据通信不频繁、实时性要求不高、固定IP搭建困难,需要对设备进行远程数据采集及远程监控方面应用等领域的应用越来越引起人们的注意.然而,利用短信进行数据传输时需要面临着如何合理设计通信协议,提高通信效率,避免垃圾短信的侵扰等问题[2].

本文分析了短信设备之间通信的特点,合理的设计了他们之间的通信协议,最大程度的提高了通信效率的同时,有效避免了垃圾短信的侵扰.

1 系统整体构架

系统整体框图如下图1所示.

图1 系统整体框架

上位机运行数据管理软件,它负责对终端设备的数据采集和通信模块的参数配置.当上位机需要对终端完成数据采集时,通过短信模块将上位机命令通过GSM网络送达终端设备,终端设备收到上位机命令后进行分析如果是数据采集命令则将相应的数据通过短信模块送上位机,上位机将接收到的数据进行相应的处理.

短信模块收到短信后提取目标手机号码,并对其进行分析,如果是垃圾短信则自动丢弃,否则提取短信内容并将其打包发送给终端设备或者上位机[3].

2 通信协议设计

2.1 优先权配置协议

为了防止垃圾短信侵扰,该短信模块预留2个优先权号码,系统收到短信后提取手机号码同时和系统保存的优先权号码进行比较如果不一致视为垃圾短信将其丢弃,否则提取短信内容并将其打包发送给终端设备或者上位机.此协议不需要工作人员亲临现场就可通过短信对短信模块进行配置,提高了效率节省了系统维护成本.其短信配置协议如下:

设置特权号命令

sztqhmxyyyyyyyyyyy

x第几个特权号(目前预留2个);

yyyyyyyyyyy特权号码;

例如,sztqhm213137886957.

sztqhm设置特权号码码第一个字母;

2表示第二个特权号码;

13137886957特权号;

短信模块收到此命令后将此手机号码存于EEPROM中.

2.1.1 垃圾短信过滤流程图

垃圾短信的过滤实现如下图2所示.

图2 垃圾短信过滤流程图

短信模块收到短信后,提取手机号码,并和EEPROM中预存的特权号码比较,如果不是特权号则直接丢弃整条短信,否则提取短信数据,并将此数据打包发送给终端设备[4,5].

2.2 上行数据通信协议设计

当终端设备有数据需要发送给上位机时,终端设备按照表1协议发送给短信模块.

表1 终端设备和短信模块通信协议(上行)

包头:0x80,长度1个字节;

数据长度:0XNN,长度1个字节,包括目标号码长度和数据内容长度之和;

目标手机号码:长度11个字节,高位在前低位在后,短信模块1的号码;

数据内容:长度N个字节,低位在前高位在后;

校验和:长度2个字节,低位在前,高位在后.

为保证终端设备和短信模块之间通信数据的可靠性,他们之间采用16bit的无符号校验和,需要校验的数据包括11位目标手机号码和N位数据,如果校验正确,通信模块向终端设备回应OK,否则回应ERROR同时将数据发送到指定的目标手机号码.

上行数据含有11为目标手机号码,终端设备可以根据通信需要随意更改目标手机号码,发送目的地配置灵活方便[6].

2.3 下行通信数据协议设计

当短信模块有数据需要向终端设备发送时,短信模块按照表2协议发送给终端设备.

表2 终端设备和短信模块通信协议(下行)

包头:0x80,长度1个字节;

数据长度:0XNN,长度1个字节,包括目标号码长度和数据内容长度之和;

源手机号码:长度11个字节,高位在前低位在后,短信模块1的号码;

数据内容:长度N个字节,低位在前高位在后;

校验和:长度2个字节,低位在前,高位在后.

短信模块收到短信后提取目标手机号码,判断是否是发送到终端设备的数据,如果是则发送到终端设备,否则视为垃圾短信直接丢弃.

上行数据通信协议和下行数据通信协议采用对称结构,这种结构方便组成闭环系统进行测试[7,8].

2.4 握手协议

为确保终端设备和短信模块通信的可靠性,终端设备在发送数据前可以先和短信模块进行握手,以确保短信模块工作正常,握手协议具体如下表3.

表3 终端设备和短信模块握手协

包头:0x90,区别于数据包,长度1个字节;

数据长度:0x07,长度1个字节;

数据内容:connect;

校验和:长度2个字节,低位在前,高位在后.

短信模块收到终端设备的握手命令后,如果数据长度、数据内容和校验和都正确则向终端设备发送OK,否则发送ERROR.

2.4.1 终端设备和短信模块握手实现框图

短信模块具体实现如下图3所示.

图3 短信模块实现框图

通信模块可以为TC35I,SIM900A,M35等主流通信模块,MCU收到终端设备的数据后进行判断,如果是需要发送的数据包,则将需要发送的数据直接通过通信模块发送到目标手机号码,如果是握手信息,MCU将向通信模块发送AT指令,若通信模块回应错误或者没有回应,表明模块死机,则MCU重启通信模块,如果回应正确则表明通信模块工作正常.

3 结语

为防止垃圾短信侵扰系统预留了两个特权号码,并设计优先权号码配置协议;为保证通信的可靠性,模块和设备终端设计了握手协议.

上位机和通信模块之间的通信协议与设备终端与通信模块之间的通信协议完全相同,这种两端设备通信协议对称,上行数据和下行数据通信协议对称的设计,既方便了系统测试又便于短信模块的批量生产.

运行该协议的短信模块在西继迅达电梯控制器上进行了长时间运行测试,测试结果表明该通信协议运行稳定、简单明了、通信效率高、配置灵活、方便测试、运行该协议的短信模块便于批量生产,达到了设计目的.

[1] 何 为,蔡梅园,刘细亮.基于GSM通信的配电变压器远程监控系统设计[J]电力系统保护与控制,2009,37(1):83-86.

[2] 李 斌,郭凤仪,王智勇,等.双稳态永磁机构优化设计及智能控制器[J].电工技术学报,2013,28(10):83-88.

[3] 王 鹏,苏华衍.基于地理空间信息多视图的电力故障全景抢修应用[J].电力系统保护与控制,2014,42(4):128-132.

[4] 殷志锋,周 雅,张元敏.基于EPON的电力自动化信息传送平台[J].电力系统保护与控制,2014,42(2):111-115.

[5] 张海东,陈爱林,倪益民,等.智能变电站智能电子设备在线评估及动态重构[J].电力系统保护与控制,2014,42(2):111-115.

[6] 冯 暖.基于GSM通信模块的远程机械设备控制系统[J].控制工程 ,2013,20(5):1138-1141.

[7] 罗希昌,周 杰,杜景林.基于无线传感器网络的应急气象观测系统设计[J].传感器与微系统,2013,20(5):108-111.

[8] 樊 龙,张文爱.基于Modbus协议的智能电表数据采集传输系统的实现[J].制造业自动化,2014,36(2):120-124.

猜你喜欢
手机号码终端设备通信协议
“手机号码”继承公证的可行性及路径
基于MAC 认证的终端网络准入控制系统方案*
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
张掖市手机号码支付业务推广情况调查
解密!手机号码里的知识
视频监视系统新型终端设备接入方案
行车记录仪通信连接方法、行车记录仪及终端设备
昵称
车站信号系统终端设备整合及解决方案
关于电力物联网信息模型及通信协议的设计要点分析