摘要:本文提出了一种基于MQTT协议的物联网设备状态监控平台,该系统由物联网通信网关、MQTT Apollo服务器、应用服务器、电脑或手机终端设备组成,当前在多个高速公路路段进行试运行。物联网通信网关在x86普通工业控制机或S3C2440单片机上开发,通过移植嵌入式Linux系统实现Socket网络通信,基于MQTT协议实现设备终端与Apollo服务器之间的数据传输,将通信网关采集的设备状态信息实时发送到Apollo服务器。在电脑或手机上登录MQTT客户端去订阅对应主题的消息,可以对高速公路设备的状态进行实时监控。通过多条路段试运行,该系统设计合理运行可靠,具有良好的兼容性、实时性且成本低,提升了高速公路设备运行状态的监控能力和故障诊断的效率,有利于保障机电系统的稳定运行。
关键词:MQTT协议;高速公路;物联网;监控
引言
根据交通运输部2019年3月26日取消高速公路省界收费站工作会议精神,即将在全国推行采取卡口分段收费的模式,对龙门架卡口上设备群的稳定性、可靠性、可用性提出了新的需求。一种好的设备在线监测方式会使高速公路机电系统更快速、更有效地获知设备的运行状态、诊断系统故障,是有效地实现预防性养护,便于智能化、平台化的管理,对于提高机电设备的可用性、提高机电系统的养护管理水平具有重大的现实意义。
一.高速公路物联网监控平台技术
(一)物联网技术
物联网技术作为信息化产业的一次重要变革,是一种通过各种信息标识和传感设备进行物体信息的获取、传输与处理,进而实现物与物、人与物之间自动化信息交互、处理的智能网络技术,其综合了传感器技术、现代网络技术、嵌入式计算机技术及无线通信技术等前沿高新技术。主要包括感知识别技术、网络通信技术、智能服务技术以及公共支撑技术。在计算机互联网的基础上,物联网利用RFID等无线数据通信技术,构造一个覆盖世界上万事万物并实现物品信息实时共享的实物互联网,其发展日新月异,经历了单体、一对一和一对多、多对多、无线泛联等阶段;经过不断的发展与演变,物联网技术发展的最终目标便是实现随时随地随物的互联新模式,尽可能地趋近于万事万物之中形成互联网,进一步实现便利性与智能化。物联网有三个层次,第一层是感知层,通过各种感应技术实现人和物相关的数据采集;第二层是传输层,利用通信技术将采集的数据进行安全、可靠的传输;第三层是应用层,完成数据的汇集、分析、发布等功能。
(二)MQTT协议简介
MQTT(Message Queueing Telemetry Transport Protocol,消息队列遥测传输协议),它是IBM公司所推出的一种基于轻量级代理的发布/订阅模式的消息传输协议,运行在TCP协议栈之上,能够提供有序、可靠、双向连接的网络连接保证。它具有开放、简单和易于实现等特点,因此更适合于嵌入式系统以及网络带宽低等资源受限的环境中应用,此外,它也被广泛用于遥感勘测、智能家居、能源监测和医疗应用程序等各个领域,对于M2M或物联网网关通信来说却是一个不错的选择。
MQTT协议简单,传输量小,成本少,可最小化协议交换,大大降低网络流量,且固定报头只有2bytes。它采用的消息模式为发布/订阅及一对多的消息发布模式,解除了对负载内容屏蔽及应用程序耦合的消息传输。基于TCP上的应用层协议MQTT,支持基于TLS/SSL加密通道的传输。且MQTT在进行connect时支持认证。此外,MQTT还有3种不同的消息发布服务质量,分别为:“至多一次”:消息发布完全依赖底层TCP/IP网络,会出现消息丢失或重复的现象。“至少一次”:确保消息抵达,但可能会发生消息重复的现象。“只有一次”:确保消息抵达一次,可以用在计费系统中,可能会发生消息重复或因为丢失数据而导致产生不正确结果的现象。
(三)通信协议的选择
高速公路物联网监控平台的应用程序通过MQTT的发布/订阅机制实现设备采集信息的实时交换。选择MQTT作为该系统的协议通信,可以实现良好的性能。具体原因如下介绍。
(1)在设备终端和监控中心之间,监测数据可以直接传递,无需额外的预处理和过滤,适应于设备监控处理能力和网络带宽受限的情形。
(2)MQTT客户端和服务器之间,每个队列管理器最大支持100000个连接。系统中设备和传感器的数目一般不可能超过100000个,故可支持该系统中的海量数据交换与共享。
(3)越来越多的设备芯片内嵌支持MQTT协议,新研发的设备具备嵌入安装使用MQTT客户端的能力,MQTT物联网通信是一个趋势。
(4)若网络中断,MQTT客户端能对数据进行缓存。保证数据不丢失。在网络连接不稳定时提供了数据交换的质量保证。
本文将基于MQTT协议设计一套适用于高速公路的物联网监控平台,将各种不同通信接口的设备,通过本文设计的协议转换器、MQTT通信网关实现通信,建立一套管理系统对所有联网设备进行监测、控制、报警等管理。系统结构如图1。
图1 MQTT物联网系统结构
二.路侧通信网关设计
路侧通信网关即是近年来流行的“边缘计算终端”,实现设备接入、汇聚远端设备通信、加密和鉴权、实现MQTT客户端、嵌入式操作系统等功能。网关设计示意如图2。
(一)协议转换模块
高速公路上使用的设备基本没有统一的接口标准,常用的通信/调试/状态监测接口有串口(RS232或RS485)、RJ45接口、USB接口、开关量,且有一大部分非标产品缺少专门的通信端口。为了实现设备的统一管理和通信,需要设计协议转换模块,兼容尽可能多的设备。协议转换模块属于物联网系统中的感知层。
转换模块由物理接口和软件处理模块构成。一套通信网关中,可设计16/32路设备接入,根据实际需要,为每种接口类型配置不同数量的硬件接口,在出厂时灵活设置。标准通信网关按照8:6:2的比例配置串口、RJ45、USB接口,并预留已经内嵌MQTT协议的物联网设备直通通道。软件处理模块采用JavaME编写,处理不同协议格式的数据包,封装转换为MQTT协议包,发送到加密模块。
(二)鉴权和加密模块
路侧通信网关要在服务端进行注册才能接入,系统为每一个通信网关分配一个IP地址和接入Token,与服务器通讯的每一个数据包中包含验证票据,并采用IP地址白名单机制,保证数据不被伪造。
路侧网关主要采用无线方式与中心服务器连接,故数据加密通信是必要的。在数据加密层,采用对称加密技术,提高加密效率,减少传输数据量。
(三)MQTT通信网关
通信网关最后要完成传输层的功能,采用嵌入式Linux操作系统和自带的TCP/IP协议栈。Linux是开源代码的,内核可裁剪,多任务支持、多用户支持,性能高、稳定性好,具有良好的可移植性和对软件的兼容性,Linux内核小,具有强大的网络功能;具有内置的TCP/IP协议栈,可以提供FTP、PPP、Telnet、WWW等服务。
通信网关的内嵌软件功能主要实现协议转换、数据加密、部署和实现MQTT客户端、鉴权、底层通信等。将加密后的数据发布到MQTT服务器,从而推送到订阅者的客户端上,最终实现不同通信方式、不同协议、不同数据格式的转换与传输。所开发的嵌入式系统可编译在x86通用工控机平台上运行,适用于对设备安装空间要求不高的场合,可作为多端口集中网关使用;也可编译在单片机上运行,将网关设备与原设备在结构上融合,相当于为单个设备提供物联网MQTT标准接口。
图2 路侧通信网关结构图
三.总体设计
(一)平台结构
高速公路物联网监控平台由物联网终端通信网关、Apollo服务器、应用服务器、数据库服务器、手机或电脑终端设备组成。
在服务器端部署Apache apollo,使用轻量级的、基于代理的“发布/订阅”模式的MQTT消息传输协议。开发物联网监控平台应用软件,管理网关设备授权、接口协议更新和下发、设备状态轮询和实时报警,以及设备综合管理和分析功能。平台系统整体结构如图3所示。
图3 物联网平台整体结构
(二)平台系统功能设计
1.系统管理
主要实现系统用户的组织机构管理、登录账户权限管理、高速公路路段和区域划分。监控平台可作为全省统一的物联网平台,同一个管理单位(例如集团公司、高管局)的所有设备均可接入到同一个平台,故需要在系统中实现组织管理和权限管理,实现路段级、片区级、集团级的分级管理。
2.接口协议管理
高速公路的设备涵盖了骨干通信、IT网络通信、IT设备、监控行业、供配电行业、照明行业、通风及工业控制领域的各种各样的设备。为了实现各种设备的接入,我们在中心服务端不断加载封装好的协议包,在远程通信网关初始化的时候,从中心服务器下载SDK协议包到通信网关的本地嵌入系统,从而实现协议转换模块的在线更新。
3.设备状态轮询和实时报警
在远程通信网关设置了设备轮询机制,定时将轮询结果发布到Apollo服务器,监控平台通过读取Apollo服务器的数据库,按设定的规则将设备状态显示在系统界面中,并将故障信息进行处理,生成故障处理单,提醒人工进行处理。
4.综合展示
系统提供两种设备状态展示方式,一是设备连接网络结构模拟图,展示设备间的逻辑关系,并以不同颜色标记设备状态。二是GIS地图图层展示,利用通信网关的GPS定位功能,在电子地图上实时显示设备的具体位置,在图层上叠加设备状态信息。
另外,系统以报表的形式定时生成设备巡检记录、设备故障台帐等相关统计分析数据。提供API接口以供没有集成MQTT协议的第三方软件调用。
(三)应用案例
本系统在广东省开阳、潮惠等多条高速公路路段试运行,每条路段监控的设备多达2000多个,基本实现了设备的状态监测、远程控制、故障巡检、设备健康状态报表等功能。
即将来临的取消高速公路省界收费站、全国推行采取卡口分段收费的模式中,在卡口龙门架卡口上安装的设备群将是物联网通信网关和省级设备状态监控平台大展身手的时候。卡口龙门架上安装有LED显示屏、ETC通信单元、电源系统、网络设备、摄像机设备、收费工控机、通信设备等,这些设备均不具备标准的物联网接口。卡口设备的稳定性、可靠性、可用性是能否完成收费工作的需要,而为了提高卡口设备群的可用性,远程状态监测、远程电源监控、远程设备重启将是必要的维护手段,从而实现预防性维护,提高系统的可用性。
路侧通信网关可完美地接入各种不同类型的设备,将监控数据统一封装成MQTT数据包,采用多种加密和鉴权手段,安全地与省平台的MQTT服务器进行“发布/订阅”操作,从而实现“监”和“控”数据的双向传输。
结论
用MQTT协议作为轻量级物联网传输协议,与HTTP相比,MQTT只需要HTTP约1/4的数据流量,可以有效降低网络流量,为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。本文设计的基于MQTT协议的物联网高速公路设备监控系统,实现了一种成本低廉、兼容性好、稳定可靠、安全性高的实时远程监控设备运行状态的方案。其安全的网络通信模式、丰富的设备状态监测、故障报警、设备质量分析等管理功能,适合在高速公路营运单位进行推广使用。
参考文献
[1]陈建刚,黄国伟,刘星明,etal.基于MQTT协议与开源硬件的智能监控系统[J].单片机与嵌入式系统应用,2017(10):65-67.
[2]崔自赏,陈冰,艾武,etal.基于MQTT协议的物联网高速公路设备监控系统设计[J].电子测量技术,2018(7).
[3]孙燕芹,马兴录,郭孔跃.基于MQTT协议的在线离子色谱仪远程监控系统设计[J].计算机测量与控制,2017(4).
[4]王培元,杜玉胜.一种基于MQTT协议的物联网智能监控系统[J].信息技术与信息化,2018.
[5]谢琳,庄建.基于MQTT协议的智慧农场智能化管理系统[J].单片机与嵌入式系统应用,2018(9).
[6]于亦潇,郑其林,成欣雨.基于语音识别和MQTT协议的智能家居系统实现[J].物联网技术,2017(11):103-105.
[7]王浩.基于Esp8266WIFI平台和MQTT协议的远程设备数据采集与控制设计[J].泰山学院学报,2017(06):90-95.
[8]王亚丁,徐俊臣,李冠宇,邱文博,胡轶群,杨子原.基于FreeRTOS系统和LwIP协议栈的网络通讯.电子技术与软件工程,2016(20)
[9]徐侃,丁强,一种基于MQTT协议的物联网通信网关。仪表技术, 2019(01)
论文作者:谢黎
论文发表刊物:《基层建设》2019年第13期
论文发表时间:2019/7/22
标签:设备论文; 协议论文; 网关论文; 通信论文; 高速公路论文; 系统论文; 数据论文; 《基层建设》2019年第13期论文;