基于物联网的化工园区空气质量监测系统设计与实现
2018-01-04宋永生
宋永生
摘要:随着各地化工园区的兴建,环境风险不断增加,园区空气质量监测迫在眉睫。LoRa功耗低、传输距离远、组网节点多、抗干扰能力强,在物联网领域得到广泛应用。利用LoRa构建园区地面监测网,结合无人机挂载的4G移动监测设备,形成园区立体式监测网,有利于提高空气质量监测的准确度。
关键词:化工园区;空气质量;LoRa;物联网;4G
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)30-0255-0c
Abstract: With the construction of chemical industrial parks and the increasing environmental risks, the monitoring of air quality in the park is imminent. LoRa is widely used in the field of Internet of Things because of its low power consumption, long transmission distance, many networking nodes and strong anti-interference ability. Using LoRa to construct the park ground monitoring network and combining with the 4G mobile monitoring equipment mounted by UAV, the park three-dimensional monitoring network is formed, which is beneficial to improve the accuracy of air quality monitoring.
Key words: Chemical Industry Park;Air quality;LoRa;Internet of things;4G
隨着工业化的推进,各地化工园区如雨后春笋般纷纷兴起。化工园区内的原材料及产品很多涉及危化品,种类多数量大。不少化学品具有毒性且不稳定,相互之间还可能发生反应,这些化学品一旦泄露,将会给园区空气造成不同程度的污染。个别不法企业还会偷偷排放不达标的废气,化工园区内的空气质量监测迫在眉睫。
电信运营商的2G、3G、4G等蜂窝网络覆盖广,但基于蜂窝通信技术的M2M功耗大、成本高。为满足远距离物联网设备的连接需求,产生了低功耗广域网LPWAN技术。 LPWAN 专为低带宽、低功耗、远距离、大量连接的物联网应用而设计,是蜂窝M2M连接的有效补充方案[1]。LPWAN可分为两类:一类是以NB-IoT为代表的工作于授权频段的技术,另一类是以LoRa为代表的工作于免费频段的技术。
NB-IOT是由运营商统一部署网络,并进行收费的方式运营。NB-IOT支持低功耗设备在广域网的数据连接,支持待机时间长、对网络连接要求较高设备的高效连接。LoRa在免费频段运行,用户可以自行组网,提供一种能够简单实现距离远、功耗低、组网节点多的传感网络。LoRa信号对建筑的穿透力强,搭载LoRa模块的终端可以部署在方圆几公里内的任意地方,使用电池供电,维护成本低,适合在化工园区部署。
本文尝试将物联网技术应用到化工园区空气质量的监测中去,LoRa网络负责地面固定监测终端的数据传输,4G网络负责无人机挂载的移动监测终端的数据传输,从而构成化工园区立体的空气质量监测网,有利于提高化工园区空气质量监测的准确度。
1 系统架构
空气质量监测系统主要分为两个部分:监测终端和监测服务平台。监测终端主要负责空气质量各项数据的采集、将数据传输给监测服务平台及执行指令;监测服务平台主要包含终端接入模块、终端解析模块、分析报警模块、终端可视化模块和反向控制模块;监测终端和监测服务平台通过4G网络相连。系统架构如图1所示。
2 相关技术模块
2.1固定监测终端
固定监测终端包含传感器、控制器、执行器和通信模块,如图2所示。传感器负责采集数据,将数据传输给控制器,控制器利用通信模块将数据传输给监测服务平台。由于不同化工企业产生的气体不尽相同,所以不同监测点的气体传感器的选择也不同。控制器通过执行器完成指令动作。化工园区空气质量固定监测终端的常用传感器有PM2.5传感器、Cl2传感器、H2S传感器、NH3传感器、H2S传感器及CO传感器等,常用的执行器有扬声器、LED灯及灭火器等。
固定监测终端的控制器选用TPYBoard V102开发板,该开发板的核心是STM32F405单片机,TPYBoard支持MicroPython编程。MicroPython是Python 3语言的精简高效实现,拥有自己的解析器、编译器、虚拟机和类库等。化工园区内的固定监测终端通过LoRa网络与网关通信,通信模块选用E32-TTL-100,它是一款基于SEMTECH公司SX1278射频芯片的无线串口模块[2],采用LoRa扩频技术,TTL电平输出。固定监测终端安装方便,无须布线,能够在监测服务平台上对监测点进行管理。
2.2 网关
网关负责LoRa局域网的组建和维护,局域网和外网的消息转发,终端设备的管理等。网关的主控芯片选用树莓派,它有一个完整的ARM处理器,软件资源丰富,运行稳定。树莓派没有Flash芯片,数据存储于TF卡中,默认操作系统是Raspbian。树莓派上可以利用Python、C、C++、Java或汇编语言进行编程[3],安装SQLite用于存储数据。网关是固定监测终端与监测服务平台之间信息转换的通信枢纽,通过4G与监测服务平台通信,通过LoRa与固定监测终端通信。LoRa通信模块选用集成度更高、信道数更多的SX1301芯片[4],如果终端较少,也可以用SX1278芯片,树莓派通过串口与之连接。
网关接收固定监测终端通过LoRa网络发送来的JSON格式的数据,解析这些数据并根据解析结果采取相应的策略,如转发给监测服务平台。固定监测终端在安装时采集经纬度及海拔信息,将固定监测终端的位置及状态信息则保存在网关SQLite数据库中。
2.3 移动监测终端
移动监测终端挂载于无人机下方,无人机通过无线图像传输技术将摄像头拍摄的画面传输到无人机遥控器或飞行眼镜上,移动监测终端将空气质量、经纬度及海拔等数据传输到监测服务平台。当地面上的固定監测终端监测到空气质量异常时,其执行器立即发出警报声,采取必要的应急措施,同时将数据传输到监测服务平台,管理人员围绕问题区域为无人机规划路径,无人机将按照规划好的路径飞行。移动监测终端包含传感器、控制器、执行器、定位模块及通信模块。传感器负责采集空气质量数据,定位模块负责采集经纬度及海拔数据,控制器利用通信模块将数据传输给监测服务平台。当空中某处空气质量异常时,移动监测终端的执行器发出警报声并采取必要的措施。根据存在问题区域的情况调整移动监测终端的气体传感器。移动监测终端的控制器选择树莓派,由于移动终端快速移动,数据量较大,选择4G通信模块。
2.4 通信协议
MQTT是基于TCP/IP协议构建的一种轻量灵活的通讯协议,在物联网领域有着广泛的应用。MQTT是采用Pub/Sub方式的协议,提供了三种等级的服务质量。MQTT支持异步通信,在时间和空间上将消息发送者与接收者分离,可在不可靠的网络环境中扩展,适用于设备间消息通信或需要反向控制的场景。CoAP是运行在UDP协议之上的应用层通讯协议,传输的内容小巧精简。CoAP对资源的要求更低,多用于数据上报的场景。对于MQTT协议来说, 相比CoAP它更加完善[5]。本文选择MQTT作为网关及移动监测终端与监测服务平台之间的通信协议,便于反向控制。
2.5 监测服务平台
监测服务平台是化工园区空气质量监测系统的管理后台,分为终端接入模块、终端解析模块、分析报警模块、终端可视化模块和反向控制模块。MQTT Broker选用Mosquitto。Mosquitto是一款C语言编写的轻量级的开源消息代理软件,实现了MQTT协议 3.1和3.1.1。Mosquitto作为消息订阅者与发布者的中介,支持可发布可订阅的消息推送模式,接受来自客户端的网络连接、订阅、发布信息等请求,转发消息给符合条件的订阅客户端,客户端可以将消息写入数据库,如图4所示。
3 平台实现
化工园区空气质量监测系统的服务器选用腾讯云服务器,服务器配置为2核CPU、4G内存、50Mbps带宽、100G硬盘,操作系统选用Windows 2008 R2 SP1 64位,Web发布器选用IIS7.5,数据库选用SQL Server 2008 R2 64位,利用ASP.NET+AJAX技术构建监测服务平台,调用腾讯云短信API,实现服务平台短信发送功能。在Mosquitto官网下载安装mosquitto 1.5.2,并在slproweb.com下载安装Win64 OpenSSL v1.1.0 Light,构建MQTT broker。
在Eclipse paho C#版的基础上,开发监测服务平台的MQTT客户端,完成消息订阅、发布并将消息存入SQL Server数据库的功能。
在Eclipse paho Python版的基础上,开发网关及移动监测终端的MQTT客户端,完成消息的订阅、发布功能,完成网关的消息转发及终端信息保存等功能,完成移动监测终端的数据采集、报警及执行指令等功能。利用MicroPython开发固定监测终端的程序,完成数据采集、报警及执行指令等功能。
固定监测终端通过LoRa与网关通信,网关通过4G将固定监测终端的数据转发监测服务平台。移动监测终端通过4G与监测服务平台通信,服务平台将控制指令发给移动监测终端或经网关发给固定监测终端。数据交换格式均为JSON。
根据化工园区内不同区域产生的不同气体,为不同监测点选择不同的传感器,并设置不同的报警阈值。当固定监测终端探测到某种气体浓度超出阈值时,其执行器立即发出警报声,服务平台获取信息后发送短信给管理人员。管理人员根据问题区域的情况为移动监测终端选择合适的传感器,为无人机规划飞行路径,无人机搭载移动监测终端按照规划的路径飞行,管理人员可查看现场的图像及移动监测终端的空气质量、经纬度及海拔等数据,结合固定监测终端的数据为救援做决策,可以向固定及移动监测终端发送应急指令,采取措施以减小损失。在日常,无人机挂载移动监测终端在园区内飞行巡检,与地面的固定监测终端形成立体的监测网,有利于提高监测的准确度。
4 结束语
本文将物联网技术应用到化工园区空气质量的监测中,设计并实现了监测系统,固定监测终端利用LoRa网络构成了园区地面监测网,结合无人机挂载的移动监测终端,构成了一个立体的监测网络,有助于提高园区空气质量监测的准确度。目前移动监测终端的操控还需人工参与,将来可以利用AI技术,在出现异常时,移动监测终端自动选择传感器,无人机自动规划巡航路径并巡航,采集空气质量情况,采取必要的应急措施。
参考文献:
[1] 王晓玲,田洪川.国际通信运营商在产业互联网领域加紧布局[J]. 世界电信,2015(5):14-18.
[2] 安翔. 物联网Python开发实践 [M].电子工业出版社,2018.
[3] 沃尔弗拉姆·多纳特 [美],韩德强等译. Python树莓派编程 [M].机械工业出版社,2016.
[4] 江武志,许娜芬,钟炜杰等. 基于物联网LoRa智能水表的研究与设计[J]. 物联网技术,2018,8:77-79.
[5] 王剑秋,赵一. 物联网传输协议MQTT与CoAP比较与应用[J]. 计算机时代,2017,10:25-28+31.