您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于GPRS监控系统的通信接口软件设计与实现
-1-基于GPRS监控系统的通信接口软件设计与实现王军,王其河海大学电气工程学院,南京(210098)E-mail:mondeo_2008@163.com摘要:本文设计并实现了GRPS远程监控系统,可使工企业的远程自动监控更为灵活,应用场合更为宽广,成本更低,并实现了移动人员的远程实时监控.首先分析了监控中心软件需要实现的功能,并根据需求设计了短消息接收和与数据库相连的子模块,然后在此基础上用VisualC++实现了以上模块.试验表明,各项技性能指标已经达到了原设计的要求,成功地实现了小批量,非连续数据的远距离传输与超限报警和移动工作人员的数据查询功能。关键字:GPRS,远程监测,超限报警,移动查询,数据库1.引言现代社会的快速发展对通信的要求越来越高,无论是人们的生活还是工作或是休闲和娱乐,通信无处不在。从通信的发展来看,人们越来越要求能够移动地办公,实现“通信无处不在”的愿望,以及一些偏远地区的监测很难实现有线地铺电缆及维护,无线网络便成了昀符合条件的通信方式。远程自动监控系统因其操作方便,无专人现场监守的优越性越来越多地受到工企业的青眯,传统的人工检测会被逐步替换掉[1]。由于GPRS的成本低,比其它无线网络覆盖范围更广,可免自己维护,因此我们选择了GPRS作为通信通道,设计了GPRS远程监控系统,它的应用可为工业企业管理带来更多的便利[7]。本文首先分析了通信软件需要实现的功能,并根据需求设计了监控中心端软件模块,监控中心不仅要实现与RTU的数据通信,还利用后台数据库,将采集到的数据进行存储与分析,并实现超限报警和移动人员的远程实时监控,昀后用VisualC++实现了上述模块和功能,并通过了相关的测试。2.基于GPRS监控系统的方案设计2.1总体设计此系统设计可以分为两个部分:主站微机控制中心和远程数据检测控制终端。这种设计方式可以实现一个控制中心监测多个终端的实现。当需要添加控制点时,只需在需要控制的现场安装好远程数据检测控制终端,同时在主站微机控制中心软件进行相应设置,即可对新加入的控制点进行监控。远端设备在每一监控点完成对模拟量的采集和开关量的检测[6],并实现相应的控制功能。在被控对象的运行状态改变时及时将此事件的性质及相关的数据以短消息的形式发送给主站监控中心,远端设备还可以由主站发送的命令,根据命令修改系统参数或将当前状态信息回送主站[3]。系统的总体设计原理图如下图1所示:-2-图1基于GPRS监控系统的总体方案设计原理图系统的监控中心主要是完成监控中心的软件的设计,通过短消息的方式实现与远程端的监测点的通信。远程监测是由以单片机为核心,外加GPRS通信模块组成的RTU,单片机与GPRS模块之间通过MAX232电平转换后相接串口,实现数据的通信。本文主要研究监控中心端软件的设计与实现。2.2软件设计软件设计部分主要是根据通信和业务需求来设计功能,它需要实现监控中心端与远程监测端的数据通信功能,因此需要对短消息的接收和发送以及短消息的PDU格式编码进行实现,为业务需求做准备。在监控中心的业务功能实现方面,需要对监控端的数据进行保密管理,因此在软件部分还需要与数据库相连,使具有权限的工作人员才可以修改数据,其它人只能对数据进行浏览和查询。针对实际的应用,还需要对从远程监测端发送过来的数据进行分析和报警[2],如(在此软件中)设定,如果温度超过40度,则自动判断并发送消息给工作人员(可数人),及时采取措施。在外的工作人员也可以发送消息来查某地某时的温度,以实时了解监测点的信息。软件设计主要分为以下几个模块进行实现:◆短消息的收发模块完成消息格式的编解码工作和消息的发送与接收,短消息的数据内容的分析和判断,实现远端监测点与监控中心端的通信。◆GPRS通信模块与监控中心端PC机的连接本系统中采用的GPRS通信模块是BenQM23模块,它通过串口与监控中心端的PC机相连,PC机以AT命令趋动GPRS通信模块,使PC机和通信模块间通过串口通信,进而实现监控中心和远程监测端的通信。◆短消息业务处理模块短消息业务处理模块是针对监控端的人性化处理而设计的,它主要是实现对接收的短消息进行解码和判断,以及决定将什么样的短消息发送给谁。◆数据库模块此模块利用VisualC++通过DAO方式连接Access数据库,实现了对短消息的存储和查询功能。整个软件设计部分的原理图如下图2所示:-3-图2软件部分的设计原理图3.短消息收发子系统的设计与实现3.1PDU格式编码PDU串表面上是一串AXCII码,由0~9,A~F这些数字和字母组成[5]。它们是8位字节的十六制数,或者BCD码十进制数。PDU串不仅包含可显示的消息本身,还包含很多其他信息,如SMS服务中心号码、目标号码、回复号码、编码方式和服务时间等。发送和接收的PDU串,结构是不完全相同的。以下两个例子可以说明。◆发送短消息假设要发送“abcdOK”这几个字符,采用GSM7-bit编码方式,发送短消息的格式可以有以下两种:(1)0011000D91683107167290F20000000661F198FC5C02(2)0891683108509105F011000D91683107167290F20000000661F198FC5C02在上式中可以看出,这两串编码仅有一处不相同,如上加下划线处,即短消息中心的号码(SCA)。在第(1)串中,用的是“00”,它表示这是一个缺省的短消息中心号码,因此默认使用SIM卡里面的短消息中心号码或是以AT命令(AT+CSCA)来设置。在第(2)串中,用的是“0891683108509105F0”,第一个八位字节(08)表示长度,说明后面会有8个八位字节出现。第二个八位字节(91)表示SMSC地址格式(TON/NPI),它是指短消息用的是国际格式号码(在前面加“+”)。紧跟在后面的就是短消息中心的号码了(683108509105F0),它表示当地的短消息中心号码是8613800519500,其中“F”是为了将交换后的编码凑成偶数。后面的相同部分的数据信息含义如下图3所示:-4-图3发送的PDU格式含义图4接收的PDU格式含义◆接收短消息假设收到的消息是“abcd你好!”,则PDU串如下所示,数据的说明如上所示:0891683108509105F0040D91683107167290F20008701082015093230E00610062006300644F60597DFF013.2AT指令介绍短消息的发送和接收时需要用到相应的AT指令来趋动GRPS模块,在短消息发送时,需要发送“AT+CMGF=0”,选择发送格式为PDU格式,发送“AT+CMGS”,先发送PDU串的长度,再发送相应的PDU串;在短消息接收时,需要发送“AT+CMGL”,读出所要读的短消息,“AT+CMGD”,删除短消息。3.3短消息的编码方式实现短消息的编码主要是消息内容的编码和消息中号码的编码[4]。号码的编码即把号码中的数字两两分组,组内颠倒即可;消息内容的编码根据所发送的是英文,中文或是其它格式内容而有所不同;纯英文的一般就用7-bit即可,若有中文则需进行UCS2编码,若是其它格式(如图片等),则用8-bit编码。UCS2编码在Windows环境下可有函数直接将汉字变为Unicode格式,这里不讲了。8-bit编码因没有固定的格式,也不介绍了,这里详细说明一下7-bit的编码方法。下面以一个具体的例子说明7-bit编码的过程。本例中使用英文短信“abcdOK”进行编码,具体编码过程如下图5所示:图57-bit编码过程图6发送短消息界面如上所示,7-bit编码即将源串每8个字符分为一组(在这个例子中没有满8个)进行-5-编码,在组内字符间压缩,但每组之间是没有什么联系的。3.4短消息收发实现的流程监控中心是通过串口实现PC机和GPRS通信模块之间的数据通信的,因此要发送和接收短消息,首先要初始化PC机串口,再发送AT命令趋动GPRS模块。整个系统中设定了一个线程类CSmsTraffic,用来监控短消息的发送和接收状态,若有SMS发送时,先将SMS放到缓冲区里,线程检测到此缓冲区里有数据,则转为发送SMS的状态(stSendMessageRequest);否则线程处在接收短消息状态(stReadMessageResponse),在超时时间内若无短消息,线程为休息状态,若有短消息,则从缓冲区取出数据来显示。4.短消息与数据库操作部分的设计与实现本系统软件设计中短消息与数据库相连的部分实现了以下功能:◆查询特定号码(某地)的所有时间的信息,查询特定时间的所有号码(即所有监控终端)的信息;◆显示所有信息:如果工作人员在进行某一项查询后,主界面只有一部分数据,若想再次进行别的查询或是想看到所有信息,则可以点击“显示所有信息”选项,使操作更加方便。◆如果某个地方的信息过时了或是不想再存储了,可以在通过身份验证后被删除;如果某地有特殊的信息需要增加进数据库,也可以通过身份验证后进行添加;◆用户(工作人员)的管理:管理员可以对所有工作人员进行添加和删除,用户只能对自己的密码进行修改,而不能做其它动作(如修改别人的密码或是删除别的用户等)◆报警以及工作人员报警号码的添加和删除:当某地采集后送到监控中心的温度超过了设定值,则监控中心自动判断,将报警信息(如:黄山路第一段的温度超过了40度,请及时采取措施!)发送到设定好号码集的工作人员手机上,以进行报警;工作人员通过权限通验证后可以添加和删除报警号码。在建立数据库时要建立三张表,分别存储短消息数据(包括短消息的发送者号码,消息内容和发送时间),管理员和工作人员表(包括管理员和工作人员的号码和密码),报警提示后发送给工作人员的号码表。5.调试及部分功能展示本系统能很好地实现短消息的接收和发送,保证终端和监控中心信息的正确性和及时性。当监控中心接到终端的信息时,会自动存储到数据库里并显示到主界面,如果温度超过时,会自动判断并发给工作人员报警信息;当移动用户(如出差的工作人员)发送查询消息时,系统也会返回查询结果;若监控中心想发给监测终端控制信息时,也可以点击“设置和发送”Æ“发送短消息”,将命令发送出去(如图6所示;号码为“13706127092”的终端就可以收到所发消息)。6.结束语本系统的设计可实现工企业的远程监控功能,只需在监控中心和远程监测点装配上GPRS通信设备,即可启用。实时的数据传输和免维护的特点,可满足工企业选择低成本,实现高效能的要求。系统采用的GPRS模块,技术上经得起时间的考验,可使工企业在很长时间内不用考虑通信线路的更换,而且引入GPRS设备后,在3G网络到来时,不仅能够实现核心网络的平滑过渡,而且能实现现有GSM与未来UMTS(通用移动通讯系统)互联互-6-通,以保证终端在不同网络之间无缝漫游。参考文献[1]刘志雄,基于GPRS通信技术的数据中继的研究与应用[D],厦门大学,2008年。[2]黄绿格,基于GPRS远程安全监测系统研究[D],中国石油大学,2007年。[3]李兴平,基于以太网和无线网络的远程监控系统的研究[D],山东科技大学,2007年。[4]谢春祥、张虹、聂余满,基于GSM/GPRS的终端式短信平台开发[J],计算机工程与设计,2007年07期。[5]黎炜,基于GPRS与SMS的远程数据传输,重庆工学院学报[J],2007年09期。[6]赵亮、黎峰,GPRS无线网络在远程数据采集中的应用[J],计算机工程与设计,2005年09期。[7]吕捷,GPRS技术[M],北京邮电大学出版社,2001年。AcommunicationinterfacedesignandimplementationofmonitoringsystembasedonGPRSWangJun,WangQiHoHaiUniversity,Nanjing(210098)AbstractAremoteGPRSmonitoringsystemisdesignedtomaketheautomaticmonitoringsystemm
本文标题:基于GPRS监控系统的通信接口软件设计与实现
链接地址:https://www.777doc.com/doc-315277 .html