朱 熹,侯晓青,祝日星
(长安大学电子与控制工程学院,陕西西安 710064)
作者简介:朱 熹(1992-),男,长安大学电子与控制工程学院硕士研究生,交通信息工程及控制专业。
侯晓青(1990-),女,长安大学电子与控制工程学院硕士研究生,交通信息工程及控制专业。
祝日星(1991-),男,长安大学电子与控制工程学院博士研究生,交通信息工程及控制专业。
摘 要:本文提出以监测节点为核心的监测网络和监测管理系统两部分组成的公路隧道机电设备运行参数监测系统。监测网络将现场监测数据传入数据库,其中监测节点通过Arduino控制带I2C接口的传感器采集数据进行数据处理并通过内置Zig Bee协议栈的XBee模块自组织构成无线传感网实现无线数传;监测管理系统在B/S体系结构下选择My SQL数据库,利用Ext JS 4.0和Struts2框架开发了7个功能模块。本文最后将监测管理系统与监测网络集合实现了公路隧道机电设备运行参数监测系统的基本功能。
关键词:公路隧道;机电设备运行参数;Arduino;Zig Bee;监测管理系统
Abstract:In this Paper,it puts forward the highway tunnel electromechanical equipment monitoring system is composed of two parts:monitoring network and monitoring management system.monitoring network puts monitoring data into the data-base,monitoring node control sensor with the I2Cinterface to collect data and process the data by the Arduino,which uses XBee module self-organized wireless sensor network to realize wireless data transmission module,XBee is embedded Zig Bee protocol stack.monitoring management system chooses My SQL database under B/S architecture,using Ext JS 4.0and the Struts2framework has developed seven function modules.Finally,the monitoring management system and the monitoring network complete the basic function of the highway tunnel electromechanical equipment monitoring system.
Key words:Highway Tunnel;Electromechanical Equipment Parameter;Arduino;Zig Bee;Monitoring Management System
1 前言
随着近年来我国高速公路的跨越式发展,公路隧道数量不断增加,公路隧道机电系统的规模越来越庞大,系统建设也越来越复杂。围绕公路隧道机电设备的管理与维护,如何防止因公路隧道机电设备故障引发交通事故和如何提高公路隧道机电设备管理水平,降低运营成本,成了高速公路运营管理部门愈加重视的问题。因此,设计对机电设备运行参数进行监视、分析、管理的公路隧道机电设备运行参数监测系统很有必要和意义。
2 总体分析设计
2.1 监测对象与监测参数
公路隧道机电系统是指根据交通工程学的原理和方法使车辆在公路隧道这种特殊路段上安全、舒适、快速地通过而设置的综合性大系统[1]。根据公路隧道机电系统运行状态,并结合考虑公路隧道机电系统各子系统的相对重要程度,确定选取通风系统、照明系统、供配电系统和交通监控系统的关键设备作为监测系统重点监测的设备。公路隧道机电设备的运行参数主要由环境参数、电气参数、状态参数组成,这里,考虑监测节点在数据采样和处理过程中的技术可行性以及鉴于实验条件的限制,从机电设备运行参数中选定电压、振动、温度和湿度作为采样参数。
2.2 监测系统总体结构
公路隧道机电设备运行参数监测系统主要是完成对公路隧道中机电设备的运行参数数据的采集,然后将监测数据传输到监控中心,通过监测管理系统进行管理。所以,公路隧道机电设备运行参数监测系统由搭建以监测节点为核心的监测网络和监测管理系统两部分组成。其总体架构如图1所示。
以监测节点为核心的监测网络分为现场数据监测网络和数据通信传输网络。现场数据监测网络通过无线传感器网络实现。无线传感器网络是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作地感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络的所有者,无线传感器网络能够满足隧道结构变化的要求,对一些不规则区域也能起到较好的监测作用,个别节点的损坏不会影响网络整体上的数据传送,为公路隧道机电设备监测提供了保障[2,3]。数据通信传输网络是指现场监测数据传输至远程监控中心的这一段网络,依靠以太网实现,网关节点把串口数据转换成为以太网的TCP/IP数据,数据经分交换机、总交换机、路由器传输至远程网络,实现远程监测。
图1 公路隧道机电设备运行参数监测系统
监测管理系统的设计使用面向对象的程序设计思想,采用便于升级,便于使用和拓展的B/S体系结构,使用JAVA,Java Script等语言,并选择Ext JS4.0、Struts2框架、My SQL数据库和微信公众平台进行监测管理系统的开发、调试。
3 系统实现
公路隧道机电设备运行参数监测系统的软件总体结构如图2所示。以监测节点为核心的监测网络的功能模块包括:数据采集、数据存储、无线数传、以太网通信;监测管理系统的开发包括以数据库为基础开发的7个功能模块。
3.1 监测节点功能模块实现
监测节点是现场数据监测网络的基本单元,也是构成整个监测网络的最基本的元素,监测节点按功能分为终端采样节点、路由节点和网关节点,三种节点均由采样模块、MCU模块、无线数传模块、以太网通信模块中部分组成。终端采样节点的硬件结构主要包含4个部分:采样模块、MCU模块、无线数传模块以及电源模块,如图3所示。
监测节点选择Arduino作为MCU模块,数据存储通过主控模块Arduino的EEPROM实现。Arduino作为一种开源的软硬件平台,在解决无线传感器网络搭建、传感器接口适配等方面具有先天的优势[4]。本次设计所釆用的是Ar-duino系列中较新的一款Arduino UNO,其核心是一片ATmega328的AVR单片机,它的特点之一是体积小、功耗低。图4为所使用的Arduino UNO原理图。
图2 公路隧道机电设备运行参数监测系统软件总体结构
图3 终端采样节点硬件结构
监测节点的数据采集包括由DL-PT202D电压互感器、SX-AC-V模块和PCF8591AD/DA转换模块组成的电压采样模块,由YD121-50压电加速度传感器和PCF8591AD/DA转换模块组成的振动采样模块和AM2313数字温湿度传感器,三个采样模块的串行接口均为I2C接口,其中电压采样模块原理图如图5所示。Ar-duino按照标准I2C通信时序通过自带Wire库和自编I2C库读写三个模块,读写采样模块流程图。
图4 Arduino UNO原理图
如图6所示,不进行CRC校验。
图5 电压采样模块原理图
图6 读写采样模块流程图
监测节点无线数传功能通过内置Zig Bee协议栈的XBee模块实现,它有AT和API两种工作模式,能通过串口来实现数据的传输,并用X-CTU配置软件配置XBee模块的所有参数。如图7为带XBee模块的监测节点。XBee模块共有空闲模式、发送模式、接收模式、命令模式和休眠模式五种运行状态。当不接收或传输数据, XBee模块处于空闲模式。在空闲模式下,XBee模块会不断检查是否有有效的射频数据。发送模式是模块运行中出现较多,也是较为复杂的模式,当接收到串口数据并做好打包准备后,XBee模块将由空闲模式跳转至发送模式,并试图传送数据。数据的目的地由目标地址决定。同时源节点和目标节点必须运行于同一个信道,拥有相同的网络ID。当目标节点路由未知时,路由寻址机制便会试图建立一条通向目标节点的路由。一旦路由成功建立,数据便会被发送出去。如果路由建立失败,数据包则会被丢弃,发送模式的工作流程如图8所示。同时,在数据发送过程中,ACK会沿着同样的路由返回给源节点,它表示数据已成功被目标节点收到[5]。如果源节点未收到确认包,则会对数据进行重传。模块运行在接收模式中,会将收到的有效数据包送到串口缓冲区中。命令模式用来修改模块配置,在该模式下,收到的串口数据都会被解读为AT命令。当然,我们也能通过API方式发送命令帧,不进入命令模式而进行网络的重配置。
图7 带XBee模块的监测节点
监测节点的以太网通信通过带SPI接口的ENC28J60完成,在Arduino上类库Ether Card库实现网络的连接和数据传输。要实现网络连接首先确定监测节点的MAC地址、IP地址,作为客户端连接的服务器域名以及输入输出数据缓存,其中IP地址自动获取,接着使用HTTP协议的GET方法将数据发送到Web服务器然后通过应用程序将数据存入数据库。
图8 XBee模块发送模式工作流程
3.2 监测管理系统开发
监测管理系统能通过分析、监视采样数据来及时有效防止因公路隧道机电设备故障引发交通事故,是使公路隧道机电系统更快速、更有效地运行的保证。根据需求分析,确定监测管理系统由7个功能模块组成,分别为:用户登录、报警汇总、统计分析、实时监测、设备管理、微信交互、系统配置,整个监测管理系统的功能框图如图9所示。
图9 监测管理系统功能框图
系统的体系结构是应用系统的组织模式,是构成系统的骨架,也是应用系统设计的基础。根据不同的应用需求,选择合适的体系结构,可以充分利用现有资源,节约开发成本,满足系统性能需求。B/S结构是Web兴起后的一种网络结构模式,Web浏览器是客户端最主要的应用。从本质上讲,B/S是基于特定通信协议(HTTP)的C/S架构。B/S结构只需要管理服务器就行,所有的客户端只是浏览器,B/S结构的软件可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,且它支持任何操作系统和浏览器[6,7]。由于操作使用简单,维护和升级方式简单、成本低、选择多,监测管理系统采用三层B/S体系结构。三层B/S结构如图10所示,即表示层、业务层、数据层。
监测管理系统开发中数据库设计是非常重要的环节,数据库设计的好坏直接影响整个系统的效率。在设计数据库时,要充分考虑数据库整体性能是否合理、数据是否有冗余、数据库能否准确表示业务数据、数据是否便于最终用户访问。本系统的数据库采用实体主导型进行分析设计,通过实体入手,按照应用功能实现来划分实体,然后定义属性,确定数据类型。下面主要阐述统计分析模块的E-R图的设计,其他的一些模块与统计分析模块相同。统计分析模块主要包括机电设备、监测节点、风机、信号灯、照明灯、配电柜等实体。统计分析模块的E-R图如图11所示。
图10 B/S结构示意图
图11 统计分析模块的E-R图
在完成了监测管理系统的需求分析、架构设计、数据库设计后,接下来的流程就是系统的软件实现了。由7个功能模块组成的监测管理系统使用Ext JS4.0实现前台界面开发,选用Struts2框架实现后台数据处理。Ext JS是用Java Script、CSS和HTML等技术实现的主要用于创建前台用户界面的一个基本与后台技术无关的前端Ajax框架。Struts2是服务于 Web的 MVC (Model-View-Controller)框架。Struts2框架主要通过一个过滤器将Struts集成到Web应用中,Struts2通过获得Web应用中的HTTP请求,并将这个HTTP请求转发到指定的Action进行处理,Action根据处理的结果返回给客户端相应的页面[8]。
限于篇幅,本文只截取3个界面。如图12为用户登录界面,用户只有输入正确的用户名和密码后才能进入系统,如图13为实时监测界面,图中高峰点为测试时加湿后的监测结果,其反映了系统能够监测机电设备的运行情况;实验中,从传感器采集到数据到存入数据库在界面显示的时间是42s,需要进一步讨论监测网络中有关数据传输的通信协议、以太网通信接口选择以及网速对监测时间的影响。如图14为在移动终端通过微信与系统后台进行交互的情况,输入“设备220”命令查询出设备220最近一天的最高温度和最大相对湿度,输入“gzjd”命令查询出最近一天无设备故障。
图12 用户登录界面
图13 实时监测界面
图14 移动终端微信交互
4 结语
本文提出了由以监测节点为核心的监测网络和监测管理系统两部分组成的公路隧道机电设备运行参数监测系统,对监测网络中的监测节点的硬件组成及控制程序进行了设计,从功能需求分析、架构设计、数据库设计、系统实现4个方面对监测管理系统进行了开发。最后从机电设备运行参数中选定电压、振动、温度和湿度作为采样参数,通过公路隧道机电设备运行参数监测系统对采样数据进行了统计分析和实时监视,实现了设计的基本功能。
参考文献
[1] 赵忠杰.公路隧道机电工程[M].北京:人民交通出版社,2007.
[2] 吴明先.高速公路隧道集成化智能化监控技术与系统开发研究[D].西安:长安大学,2004.
[3] 郑爽.基于无线传感器网络的变压器运行状态监测系统[D].河北:河北工业大学,2012.
[4] 程晨.Arduino开发实战指南.北京:机械工业出版社,2012.
[5] Digi.XBee/XBee PRO Code Develo Pment[DB/OL].Digi International Inc,2006.
[6] 靳引利.高速公路机电设备维护管理系统的设计与实现[J].公路交通科技,2007(09).
[7] 吴磊.基于B/S模式的流变仪远程监测系统的研制[D].哈尔滨:哈尔滨理工大学,2007.
[8] 明日科技.Java Web从入门到精通[M].北京:清华大学出版社,2012.
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。