APP下载

基于MQTT服务的安全监测无线终端开发及应用

2023-03-20武学毅宋学博

中国水能及电气化 2023年2期
关键词:终端服务器无线

武学毅 贺 虎 宋学博

(1.中国水利水电科学研究院,北京 100048;2.北京中水科工程集团有限公司,北京 100048;3.内蒙古引绰济辽供水有限责任公司,内蒙古 乌兰浩特 137400)

水库大坝安全监测自动化系统多采用有线通信的分布控制模式,中心站和各现地采集站以电缆或者光缆通过网络交换机进行级联,多采用RS-485或者TCP/IP协议进行通信传输。采用电缆或光缆进行级联需要敷设大量的线缆,还要安装镀锌钢管对电缆进行保护,无论是走桥架还是挖沟埋设,当通信出现故障时都很难排查隐患点。当有新的测点接入需求时,还需新增引线和保护管线,由于水库大坝多以不同监测断面布置的监测仪器为现地采集的基础单元,不仅线缆敷设工程量庞大且若由于线缆故障导致通信不畅,将给监测系统的维护带来较大困难,监测系统的长期可靠性难以保证。物联网技术是全球范围最有影响力的战略性新兴技术,同时也推动了无线传感器技术的迅猛发展,监测技术与物联网技术在全面感知、可靠传递、信息汇聚、行业智慧应用等方面的未来发展目标高度一致,为监测仪器实现智慧感知、无线自组织上线运行提供了技术支持。无线安全监测传感技术在监测灵活性方面具有传统监控手段难比拟的优势,凭借该优势,无线安全监测传感器不仅可以提供更大的灵活性、流动性,还避免了有线连接时,由于雷击等对整个监测系统产生的破坏。通过物联网MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)服务,可以使无线安全监测传感器之间通过分布式协作实现数据采集、数据融合、汇总统计、查询式监控和动态功能升级等功能,从而使工程安全监测自动化系统达到“即时施工、即时投运”的理想效果。

1 无线感知终端

感知终端为物联网中的一个数据节点,核心为ESP8266模块,它是一个完整且自成体系的无线组网控制器,具有单独的编程功能,内置高速缓冲存储器,具有最高160MHz主频[1]。ESP8266模块的低功耗及高集成度特性保证了其典型应用仅需极少的外部电路[2]。无线感知终端由ESP8266模组、电源控制模块、OLED显示屏和传感器测控模块组成,其硬件结构见图1。

图1 无线感知终端硬件结构

ESP8266模块使用锂电池供电,通过MCP73831T芯片给锂电池充电,利用电源芯片AP2112-3.3V和FET设计稳压和保护电路,为终端系统提供稳定和可靠的电源输出(见图2)。

图2 ESP8266电路和供电电路原理

2 传感器测量原理

振弦式传感器具有测量精度高、抗干扰能力强、结构简单等优点,广泛应用于大坝安全监测[3]。振弦式传感器测量模块是振弦式传感器激励、频率读取、温度转换的专业化采集模块,集成多种激励方法,能够识别传感器接入与拔出,激励电压可编程,可检测信号幅值和传感器钢弦的共振信号质量,并将传感器信号质量、幅值、频率、频模、温度转换为数字量输出。

模块有连续测量和单次测量两种测量模式,通过向测量模式寄存器写入特定值来切换工作模式,写入1使模块进入连续测量工作模式,写入0使模块进入单次测量工作模式。见图3,采集模块的测量过程分为激励、采样、计算三个大的步骤,每个大的步骤内又可拆分成数个子过程。采用连续测量模式时,计算完成后立即重新开始一次新的测量过程,而采用单次测量模式时,仅会在收到单次测量指令后才会触发指定次数的测量过程,测量完成后进入待机等待状态,等待指令。

图3 振弦传感器测量流程

激励:采用低压反馈式扫频方法向传感器线圈发送周期脉冲激励信号,当激励信号频率与传感器钢弦自振频率接近时,钢弦产生自振。

采样:采集振弦传感器钢弦自振产生的自由振荡衰减的正弦频率信号。

计算:将采集到的传感器信号进行质量评定、平差运算,计算得到传感器钢弦振动频率值。

传感器的测量策略如下:

a.检测传感器是否接入。

b.延时一段时间。

c.向传感器线圈发送特定的激励信号,使传感器钢弦产生自振。

d.延时一段时间,等待传感器返回信号稳定。

e.检测传感器线圈返回的信号,当信号符合要求时进行样本数据质量评定及频率计算。

f.读取温度传感器数据。

g.按照MQTT协议格式主动上报数据。

3 网络技术及协议

MQTT协议是一种简洁可靠的工业物联网通信协议,它能够将嵌入式设备接入到互联网中,完成数据采集的云端存储和管理[4]。在互联网应用中,大多使用WebSocket接口来传输数据。而在物联网应用中,常常出现这样的情况:海量的传感器,需要时刻保持在线,传输数据量非常低,有着大量用户使用。如果仍然使用Socket通信,那么服务器的压力和通信框架的设计随着数量的上升将变得异常复杂,而MQTT通信方式可以很好地解决这一问题。

3.1 MQTT协议

MQTT是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通信协议[5],该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT的最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通信协议,在物联网、小型设备、移动应用等方面有着较广泛的应用。

MQTT的特性/优势如下:

a.异步的消息协议。

b.面向长连接。

c.双向数据传输。

d.轻量级的传输协议。

e.被动地获取数据。

从图4可以看到,MQTT通信的角色有两个,分别是服务器和客户端。服务器只负责中转数据,不做存储;客户端可以是信息发送者或订阅者,也可以同时是两者。MQTT会构建底层网络传输,它将建立客户端到服务器的连接,提供两者之间的一个有序的、无损的、基于字节流的双向传输。当应用数据通过MQTT网络发送时,MQTT会把与之相关的服务质量(QoS)和主题名(Topic)相关联。

图4 MQTT角色说明

3.2 终端通信程序设计

使用MQTT协议传输数据,需要在服务器端开启MQTT服务。例如完成某定时测量任务后,振弦传感器发布主题“Frequency”,消息是“2453.8”(表示频率),发布主题“Temperature”,消息是“25.4”(表示温度),那么所有订阅了这个主题编号的客户端(或服务器)就会收到相关信息,从而实现通信。因为每个感知终端都需要有自己独立的几个主题以避免发生数据误收,故借助ESP8266的MAC地址唯一的身份标识,作为用户—设备绑定、发布/订阅主题的依据。数据帧格式设计见表1。

表1 MQTT数据帧格式

通信程序编写流程见图5。

程序初始化前,先用构造函数MQTTClient构建MQTT客户端对象:

client=simple.MQTTClient(client_id,server,port)

其中,client_id是客户端ID,具有唯一性;server是服务器地址,可以是IP或者网址;port是服务器端口,默认是1883。

4 云平台软件设计

云平台数据接收软件采用前后端分离模式设计。

a.后端采用基于Python的Web框架Django作为纯后端,负责为前端提供服务,使用paho-mqtt模块接收硬件设备上传的数据,并向感知设备发送用户的配置指令。

b.前端采用AdminLTE框架,其提供了较为完整的响应式UI组件库。使用JQuery作各种DOM操作、发送Ajax请求,使用Echarts实现数据可视化中的图表展示等。

c.数据库使用MySQL作为关系型数据库,使用Redis作为缓存,存储临时数据的同时,也为MySQL分担一些压力。

d.使用Mosquitto作为MQTT服务器,部署方便,配置简单,对服务器负载相对较小。云平台软件数据在线采集列表见图6。

图6 云平台软件数据在线采集列表页面

5 工程案例

该系统采集终端及云平台监测软件可实现水库大坝、输水工程、边坡、地下洞室、桥梁等多种场合中变形、渗流、应力应变和环境量的自动化在线监测。并以分析软件为基础打造数据中心和技术服务平台,为各省市级、流域机构或独立水库管理局提供日常数据维护、预警发布、成果整编、专项分析报告等服务。本系统已在内蒙古引绰济辽工程平原区段PCCP输水管线安全监测自动化建设中应用。平原区共设267个安全监测断面,为了实现安全监测自动化,需要建设250个安全监测现场采集点,其中206个安全监测现场采集点通过无线传输技术与最近的数据集中点连接汇集,采集设备全部采用低功耗设备,实现安全监测自动化。PCCP管道监测自动化系统结构及软件应用实例见图7~图9。

图7 PCCP管道监测自动化系统结构

图8 引绰济辽工程应用实例

图9 多点组合过程线

6 结 论

安全监测无线终端由ESP8266模组、电源控制模块、OLED显示屏和传感器测控模块组成,可实现振弦式传感器数据采集,并通过MQTT通信协议,实现安全监测数据的采集和云端存储和管理。该技术应用于内蒙古引绰济辽工程平原区PCCP管线安全监测自动化集成,工程应用表明该技术可行、振弦式传感器数据采集准确。如何实现该技术对差阻式传感器、MEMS式传感器等其他类型传感器数据的采集,以及该技术在工程应用上的稳定运行,还需做进一步的研究和工程案例应用。

猜你喜欢

终端服务器无线
《无线互联科技》征稿词(2021)
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
无线追踪3
基于ARM的无线WiFi插排的设计
中国服务器市场份额出炉
多功能北斗船载终端的开发应用
ADF7021-N在无线寻呼发射系统中的应用
得形忘意的服务器标准
计算机网络安全服务器入侵与防御