基于LoRa的室外环境监测系统设计
2022-06-21崔文岩梁书溢何小宇唐德东
崔文岩,康 明,梁书溢,周 德,何小宇,唐德东
(重庆科技学院 电气工程学院,重庆 401331)
0 引 言
随着物联网技术的迅速发展以及我国污染防治工作的重点推进,物联网环境监测系统的需求进一步加大。目前,室外环境监测多为较大范围的局域网(如工业园区、水库),传统的无线通信技术WiFi、ZigBee和Bluetooth均存在传输距离相对较短、易受干扰等问题。LoRa是一种新型低功耗广域网LPWAN技术,具有通信距离远(理论距离最远可达15 km)、组网方便、超低功耗和抗干扰能力强等特点,可以很好地解决上述问题。
本文提出将LoRa低功耗局域网与GPRS远距离广域网相结合的监测方案。环境数据采集节点和网关均采用低功耗STM32F103作为中央处理器,网关与节点在局域网内采用LoRa无线通信,网关使用GPRS实现数据远距离上传功能,云服务器采用中移OneNET平台,并根据需求搭建数据可视化界面,以便管理员日常查看、管理。
1 系统整体方案设计
本环境监测系统由数据采集单元、网关和云平台组成。节点与网关采用TDMA(时分多址)进行星型组网,节点的中央处理器将采集到的不同传感器数据按照Modbus通信协议融合,再利用LoRa无线通信将数据汇集到网关。网关对数据进行解析后,通过GPRS模块将数据上传至OneNET云平台,云平台将数据实时展示和存储,若监测数据达到预警阈值会触发预警信号。系统总体架构如图1所示。
图1 系统整体方案设计
2 系统硬件设计
2.1 数据采集节点硬件设计
本次设计的数据采集节点单元硬件主要由中央处理器、电源、传感器、LoRa模块组成。节点电路结构如图2所示。
图2 数据采集节点硬件结构
中央处理单元采用STM32F103C8T6芯片,该芯片主频72 MHz,外设较多,可以满足传感器数据的采集和LoRa无线通信的基本要求。
电源模块主要实现处理器和传感器外设的供电。由于现场环境复杂,地点不固定,可采用18650锂电池供电,采用4.5 W单晶硅太阳能电池板为锂电池充电。
LoRa无线通信模块采用SXl278芯片:其工作在410~441 MHz频段,拥有一般模式、唤醒模式、省电模式、休眠模式可供选择,采用标准SPI接口与MCU通信,具有抗干扰能力强、功耗低等特点。LoRa模块电路原理如图3所示。MOSI为主机输出从机输入,MISO为主机输入从机输出,SEL为片选,CLK为时钟,D0~D7为数据输出端口。
图3 LoRa模块电路原理
传感器模块主要用于监测空气中的温湿度和二氧化硫含量。其中,温湿度传感器采用奥松公司出品的DHT11,PM传感器采用精讯畅通公司出品的JXM-300-SO2。传感器具体参数见表1所列。
表1 传感器参数
2.2 网关硬件设计
网关是环境采集节点和后台服务器通信的桥梁,其硬件结构如图4所示。网关主要由电源管理单元、中央处理器、LoRa通信模块、GPRS通信模块以及显示模块组成。由于网关无需上传和接收高频次数据,故处理器和LoRa模块采用与节点一致的STMF103芯片、SX1278芯片。
图4 网关硬件结构
GPRS通信模块将网关数据远距离上传。本设计采用果云GA6-B模块,其支持AT指令串口发送,具有GSM预警短信功能和GPRS数据传输功能,体积较小、功耗低、温度范围广、抗干扰能力强,其电路原理如图5所示。
图5 GA6-B电路原理
3 系统软件设计
3.1 数据通信协议设计
在数据采集过程中,节点需连接多种类型的传感器,所采集得到的信息格式不尽相同。为保证数据上传的正确性与快速性,必须采用同一种标准通信协议以适应异构传感器。本设计采用Modbus通信协议RTU模式,与ASCII模式相比,前者在相同的传输速率下可以传输更多数据,具体格式如图6所示。RTU模式共有11位,第1位为起始位,中间为8位数据位,最后两位为校验位和停止位,校验位可以选择奇偶校验或无校验。数据位包含网关地址、从机地址、数据内容和CRC校验位,最多256 B。数据位中CRC校验位的作用是进一步保证数据传输的准确性。
图6 Modbus通信协议结构
3.2 LoRa组网设计
为降低组网和网络控制逻辑的复杂度,LoRa通信网络采用星型组网拓扑结构,节点与网关通信,节点之间不进行数据交互。
由于各节点工作在同一频段,若不进行时隙分配,将可能导致数据交叠。节点组网可通过ALOHA和CSMA/CA竞争机制典型算法或固定时隙分配TDMA算法。但前者随着采集节点的增多,将导致传输延迟增加(多个节点同时占用一个信道)。而后者,网关为每个节点分配一段时间片,在该段时间片内,只允许该节点进行数据上传,从而避免节点之间的数据冲突问题。时隙分配如图7所示。在每节点上传数据后设置一个安全时隙,防止2个节点之间由于时钟漂移导致数据交叠。
图7 时隙分配图
3.3 数据采集节点软件设计
数据采集节点的主要功能是各传感器数据的采集与上传,其工作流程如图8所示。系统初始化后,节点申请加入网关,随后开启定时器进行计时,进入低功耗待机模式,等待设定发送时间的到来。再按照设计的数据帧格式进行封装融合,根据设定的通信频段和信道进行数据上传,之后进入低功耗模式,等待下一次发送时间的到来。
图8 节点采集与发送流程
3.4 网关软件设计
网关主要功能是接收节点数据和打包上传,其工作流程如图9所示。系统初始化后进入低功耗模式,等待节点上传信号触发中断服务函数,解析数据并显示,GPRS模块与云平台建立TCP连接后,按照MQTT协议进行数据上传,发送完成后进入低功耗模式,等待下一轮循环。
图9 网关工作流程
3.5 云平台展示设计
云平台用于实现监测信息的展示和数据存储功能。网关采用更轻量级的MQTT协议将数据上传至OneNET服务器,经服务器进行数据解析校验后,再利用VIEW3.0功能模块,通过拖拉组件的方式实现数据可视化展示界面,以便用户直观观察数据变化情况。
4 系统测试与分析
4.1 节点与网关工作测试
为测试节点传感器数据采集和上传功能,将节点放置于现场环境,实时采集室外温湿度和PM含量,工作测试如图10所示。节点将采集的温湿度和PM数据与实际数据进行对比,均在正常的误差范围之内。此外,网关(图10(a))、节点(图10(b))两者显示温度、湿度、PM数据分别均为26 ℃、58%和85 μg/m,测试结果证明,节点能正常采集数据并上传,网关能准确接收数据。
图10 网关与节点工作图
4.2 节点与网关通信质量测试
为测试LoRa无线通信不同距离下的通信质量,选择较宽阔的场地进行试验。在不同的通信距离下,节点每隔5 s向网关发送一次数据,共计500次。统计网关接收的数据,利用公式(1)计算数据丢包率。测试数据结果见表2所列。
表2 通信测试质量表
式中:代表数据丢包率;代表节点发送数据总个数;代表网关接收数据个数。
试验结果表明:LoRa无线通信在700 m左右时无数据包丢失,在超过900 m时丢包率逐渐增大,特别是1 km以外,数据包丢失较严重,丢包率超6%。为保证高质量通信效果,建议采集节点在900 m以内。
4.3 云平台数据展示测试
为测试云平台实时监测功能,测试过程中以温度实时监测为例。为突出试验效果,设定每隔20 s上传一次数据,温度实时监测如图11所示。观察可得温度在6月8日16:28之前较稳定,在16:29时温度出现上升趋势,在16:30时稳定在31 ℃,说明传感器较灵敏,云平台实时监测性较好。此外,还可以在左上角选择相应的时间查看历史数据,其界面如图12所示。经测试,数据可视化界面可以实时展示温湿度、PM含量变化情况,界面如图13所示。
图11 温度实时监测界面
图12 历史查询界面
图13 上位机监控界面
5 结 语
本文将LoRa和GPRS通信技术相结合,应用于室外环境监测系统中,解决了传统无线通信技术通信距离短、组网难、成本高、功耗大、抗干扰能力差等问题。也进一步介绍了系统架构、硬件设计、软件设计,实现了环境监测数据的远距离上传和云平台展示。试验表明,本系统具有实时性好、覆盖范围广等特点,与传统的无线通信技术相比优势显著,因此,值得推广应用于其他领域。