基于GPRS与ThinkPHP的环境监控系统设计
2021-07-08王百川
王百川
编者按:为了更好地检测高速公路隧道机电设备运行环境,这篇文章设计基于GPRS模块与ThinkPHP框架,将用户需要的数据传输到用户管理环境监控系统。其用户管理系统是基于ThinkPHP框架实现的,包括的功能主要有用户管理、数据显示、历史信息查询、短信提示。该系统将采集来的环境湿度、光照强度、二氧化碳浓度等信息进行直观显示,利用大数据,使用户对每类设备或系统的节點信息一目了然。
引言
高速公路隧道机电系统包含多系统、多设备、多厂家,目前高速公路需要对各设备环境实时监测,包括监测整个系统的运行状况、读取用户需要数据等,同时对远端的设备进行监控,因此需要有一个及时有效的数据监控系统来解决远程数据监测、远程控制、数据分析等问题。该方案设计具有传输速度高、组网灵活、扩展方便、维护简单、性价比高等优点,本文重点研究了基于GPRS的环境监控数据系统的终端开发与用户管理系统的设计,为数据处理和GPRS数据的可靠传输提供了保障。监控系统基于ThinkPHP框架,该框架具备体积小、使用灵活、调用简单等特点,适合项目的开发需求,这大大方便了用户的使用,不论是手机还是电脑只要登录App就可以对数据进行实时的获取和及时的掌握。
高速公路隧道机电系统需求分析
本文主要研究如何将节点传来的数据传输到服务器,数据库如何设计以及用户管理系统和用户对终端的控制。其具体包括以下内容:
GPRS终端控制程序设计
通信系统是至关重要的环节,其前端通信采用了简单通用串口,控制器向GPRS模块发送AT 指令,初始化HTTP,并将数据打包到URL发送到服务器。控制器还实现了对GPRS状态的判断,保证数据可靠、准确、及时地发送。
数据库设计
环境监测数据库选用了MySQL数据库,数据表分四个部分,分别是产品运行信息、原始数据、用户数据、用户信息。
管理系统设计
隧道机电管理系统是基于Thinkphp框架实现的,包括的功能主要有用户管理、数据显示、历史信息查询、短信提示等。该系统将采集来的湿度、光照强度、二氧化碳浓度等信息进行直观显示,使用户对每类设备或系统的节点信息一目了然。
GPRS数据传输终端实现
GPRS数据传输终端实现流程
GPRS数据传输终端的框图如图1所示,高速公路隧道机电环境的设备或系统运行湿度、洞内外光照强度、二氧化碳浓度等信息通过传感器获取后,经过ZigBee网络发送给协调器,协调器将各个节点汇总的数据发送给控制器。数据经过控制器有效处理、分析后,由控制器发送AT指令控制GPRS模块将数据发送到服务器。
GSM/GPRS网络
GPRS系统作为无线数据业务的承载,充分融合了GSM无线技术和IP等网络技术。在高速公路隧道机电系统内,GPRS网络是在现有GSM网络中增加通用分组无线业务网关支持节点GGSN和GPRS业务支持节点SGSN来实现的,使得用户能够在端到端分组方式下发送、接收自己所需要的数据或远程控制。
从图2可以看出,手持移动设备是通过无线连接到GPRS蜂窝电话上的;GPRS蜂窝电话与GSM基站通信,但与其他行业电路交换式数据呼叫不同,GPRS分组是从基站发送到GPRS服务支持节点(SGSN),而不是通过移动交换中心(MSC)连接到语音网络上。SGSN与GPRS网关支持节点(GGSN)进行通信;GGSN对分组监测数据进行相应的处理,再发送到目的网络,如因特网或X.25网络。
SGSN是GSM网络结构中的一个节点,在整个隧道机电系统内,它通过帧中继与基站相连,是GSM网络结构与移动设备之间的有效接口。SGSN的主要作用是记录移动设备的位置信息,并且在后台和GGSN之间完成移动分组数据的发送和接收。
GGSN通过基于网络IP协议的GPRS骨干网连接到SGSN,是连接GSM网络和外部分组交换网的网关。GGSN主要是起网关作用,有些领域也将GGSN称为GPRS路由器。GGSN可以把系统内GSM网中的GPRS分组数据包进行协议转换,从而可以把这些分组数据包传送到远端的TCP/IP,并进行分析。
SGSN和GGSN利用GPRS隧道机电系统监控协议(GTP)对IP或X.25分组进行封装,实现二者之间的数据传输。其中图3给出了该系统内GPRS网络结构的接入与参考点。
GPRS网络通过Gi参考点和Gp接口实现同其他网络的互通,对于一个支持GPRS的公共移动网络(PLMN),当它运行GPRS业务时可能涉及到任何网络,这时就产生了网络互通的需求。
在整个检测系统内,对于具有GPRS业务功能的手持移动终端,它本身具有GSM和GPRS业务运营商提供的地址,这样,分组公共数据网的终端利用数据网识别码即可向GPRS终端直接发送数据,增加数据传输的有效性、时效性。
由于GPRS是GSM系统中提供分组业务的一个环节,所以它能广泛应用于IP域。其手持移动终端通过GSM网络提供的寻址方案和运营商协议实现全球网间通信。
GPRS的特点
在环境监测数据传输系统中,GPRS与GSM电路交换相比,GPRS最重要的特点是引入了分组交换能力,利用GPRS进行数据传输的具体特点是接入范围广、高速传输、随时调阅、按流量计费、快捷登录以及自如切换等。
(1)接入范围广。在整个环境监测系统内,GPRS是在现有的GSM网上升级,可充分利用全国范围的电信网络,可以方便、快速、低成本地为用户数据终端提供远程接入网络的部署。
(2)高速传输。其在整个环境监测系统中数据传输速率高,可达到57.6Kbit/s,最高可达到171.2Kbit/s,是常用有线Modem理想速率的2倍,是当前GSM网络中电路数据交换业务速度的10倍以上,下一代GPRS业务的速度甚至可以达到384Kbit/s,完全可以满足用户任何应用的需求。
(3)随时调阅。在整个环境监测系统内,提供实时在线功能,即用户随时与网络保持联系,即使没有数据传送,终端还一直与网络保持联系,这将使访问服务随时调阅、及时反馈,让其变得非常简单、高效。
(4)按流量计费。在整个高速公路隧道机电环境监测系统内,用户只有在发送或接收数据期间才占用无线资源,但用户可以一直在线,在不进行操作时不进行计费。计费方式是按照用户接收和发送数据包的数量,没有数据流量传递时,用户即使挂在网上也是不收费的,对用户而言是降低成本的有效措施。
环境监测系统终端控制总流程图
该环境监测系统终端控制器的程序设计的具体内容有:串口通信、数据处理、循环缓冲区、GPRS状态控制,如图4为环境监测系统终端控制总流程图。
环境监控系统设计
该高速公路隧道机电环境监控系统是基于WEB开发的一套网站系统,可以为用户提供节点信息查看、历史信息浏览、用户管理、产品节点管理等。该系统设计理念为便捷、清新、实用、高效,以ThinkPHP为框架。而ThinkPHP是国内一款免费开源,快速简单面向对象的轻量级PHP开发框架,遵循 A-pache2 开源协议发布,是为了敏捷 Web 应用开发和简化企业级应用开发而诞生的。以ThinkPHP为框架进行开发,一方面可以提高开发效率,另一方面可以增加系统的运行及数据的安全性、稳定性,系统及各设备的可维护性,图5为该系统用户管理系统框图。
数据库设计
数据库设计对于高速公路隧道机电环境监控系统以后的功能扩展和维护是相当重要的环节,将来数据库不但可以为用户的WEB系统提供数据,而且还为手机端App、电脑环境监测软件提供数据服务。因此数据库要设计得条理清晰,方便实用。数据库的表前缀为gprs_,主要的数据表为品环境检测信息表、用户信息表、原始数据表、用户数据表。下面对数据库的各个表的功能和字段进行详细阐述:
(1)设备或系统的环境检测信息表(见表1)为所有用户提供检测节点信息与该产品的简介、所有者等信息。
(2)用户信息表(见表2)为使用者的一些信息。
(3)原始数据表(见表3)为接收到GPRS模块传来的原始数据。
(4)用户数据表(见表4)为该用户所有节点的信息。
用户管理模块
该模块包含两部分内容:用户注册和用户登录。用户注册要求用户填写用户名、电子邮箱、手机号码、密码等信息,当用户将注册的表单提交后,对数据进行验证,比如用户名是否正确,手机号格式是否正确等。
信息查詢模块
信息查询模块包括设备或系统列表、最新信息播报、历史信息查询等,当用户登录后就会进入隧道机电系统、设备或系统列表页,该页列出了用户的所有产品运行节点,并且还有添加新节点的功能。实现方式:用户登录会记录一个用户名的session,根据用户名查询到其拥有的产品以及产品的数据,另外保证有充足的用户数。
(1)信息获取与展示。ThinkPHP里面有一个数据模型 M(‘table’),它支持链式调用,只要符合一定的规范,该类使用起来非常方便,便于用户获取需要信息。
(2)历史信息查询。在设备或系统运行信息页,列出了最新信息播报和历史信息查询,历史信息模块采用了简单明了的图表表示。
信息处理模块
信息处理模块就是将各个GPRS模块上传的数据进行处理并记录到数据库。图6是整个系统数据处理的流程图。
(1)信息处理。GPRS模块上传的地址是脚本所在页,传递的参数有用户名和数据,数据拆分为不同的信息,然后根据用户名将不同数据插入数据库。
(2)短信通知。在处理数据的时候会对数据进行分析、预警,如果超过了设定范围会对数据进行预测报警。该功能是根据产品信息进行判断的,比如产品适宜的运行湿度、二氧化碳浓度等,这些是有上边界和下边界的,当湿度低于下边界,会报警过干,当湿度高于上边界会报警过湿。
系统测试
硬件测试
将系统配置好的AT指令利用USB转串口发送到GPRS端,在服务端收到了正确的数据。下一步是用终端控制GPRS发送数据,接收端通过USB转串口链接到PC管理机上,确定数据发送时序和格式是否正确,然后通过串口调试助手检查发送的数据是否符合逻辑,反复测试。如图7为串口助手接收到了正确的数据。
监控系统测试
在数据分析仪上模仿GPRS的方式向服务器提交数据,测试数据处理报警等是否正常工作,数据加入数据库后观察该节点的历史信息图标能否正常显示等。如图8为历史信息数据绘制测试。
结论
本文设计和实现的针对高速公路隧道机电环境监控系统分为两个部分,一是GPRS数据传送终端;二是环境监控系统,该系统实现了数据的接收,并将接收的数据分类存入数据库,能够很好地监控高速公路隧道机电设备及系统运行数据,为用户提供及时、有效、准确的信息,实现数据随时共享、远程全面监控、信息随时分析、预警准确无误。
参考文献:
[1]龙慧.无线传感器网络发展现状研究[J].单片机与嵌入式系统应用,2011,11(06):9-12.
[2]文志成.MCNE认证指定参考用书[M].北京:电子工业出版社,2005.
[3]刘慧韬.基于GPRS的环境监测网络系统研究与实现[J].华中科技大学,2006.
[4]徐诚斌,王金平.MVC在ThinkPHP框架中的应用研究[J].信息与电脑(理论版),2011(06):160.
[5]高守玮,吴灿阳.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2009.
[6]cyril3.深入浅出Z-Stack 2006 OSAL多任务资源分配机制[EB/OL].http://bbs.feibit.com/forum.php?mod=viewthread&tid=280,2010-8.