基于LoRa的路灯控制系统设计
2022-04-27罗青青许美珏王松林孙廨尧丁玉祥
罗青青 ,许美珏,王松林,孙廨尧,丁玉祥
(1.安徽商贸职业技术学院 信息与人工智能学院,安徽 芜湖 241002;2.光电材料科学与技术安徽省重点实验室,安徽 芜湖 241002)
传统路灯的控制系统主要采用电力载波通信以及通用分组无线服务技术的组合通信方式,该方式需要对道路施工布线及设备安装,且存在着工频谐波干扰大的缺点,当数据终端需求增多时,成本增加,安装难度加大[1].随着科技的进步,现代路灯已经可以实现连接到网路中,其组网方式通常采用WiFi、ZigBee等短距离通信方式,但还是存在网络拓扑结构复杂、稳定性不高的情况[2].而LoRa通信技术具有低功耗、抗干扰强和通信距离远、穿透性好的特点[3-5],符合本系统远距离、低功耗和低成本的需求.
本文基于LoRa技术特征,设计了一种基于LoRa的路灯控制系统,该系统能够实现以下功能:实时采集路灯状态及周围的环境信息;检测路灯是否工作正常;自动控制路灯亮灭;用户远程实时查询路灯状态及周围的环境信息;用户远程控制路灯的状态.该系统改变了当前路灯网络建设成本高、耗能大等缺点,并减少路灯不正常工作造成的资源浪费.
1 系统总体设计
系统包括四个部分:用户平台、路灯云平台、LoRa基站及路灯节点.路灯节点包括采集模块和执行模块.采集模块用于采集路灯状态及周围环境的信息,如路灯的电压、温度、周围环境光照及是否有人员或车辆经过.执行模块用于控制路灯亮灭.LoRa基站用于实现路灯云平台与路灯节点之间的数据传输.路灯云平台用于处理整个系统产生的数据,并存入到数据库供用户使用.用户平台包括PC及手机等.另外,一个LoRa基站覆盖一个路段的路灯节点,一个路灯云平台可连接多个LoRa基站,从而实现对多路段路灯的统一管理[3].系统设计总图如图1所示:一方面,采集模块检测的信息通过LoRa网络传输到LoRa基站,并通过5G网络传输到路灯云平台,云平台发送相应的指令,最终控制路灯的亮灭,用户远程实时查询路灯的状态及周围的环境信息;另一方面,用户使用PC或手机发送指令至路灯云平台,并通过5G网络将指令发送至LoRa基站,再通过LoRa网络发送到控制模块,从而实现用户远程控制路灯状态的目的.
图1 系统设计总图
2 系统硬件设计
根据系统总体设计,硬件部分包括路灯节点及LoRa基站.
2.1 路灯节点硬件设计
本系统路灯节点的硬件包括采集模块和执行模块.采集模块包括电源模块、检测模块、控制模块及LoRa模块,实现了将采集到的路灯信息发送至LoRa基站.检测模块包括定位模块、电压电流检测模块、温度检测模块、声音检测模块及光照检测模块.执行模块为继电器.路灯节点示意图如图2所示.
图2 路灯节点示意图
定位模块用于检测路灯的位置信息;电压电流检测模块用于提供控制模块对路灯回路功率计算时所需的电压值及电流值;温度检测模块用于检测路灯灯泡的温度,由功率和灯泡的发热来判断路灯工作是否正常;声音检测模块用来检测是否有车辆或人经过;光强检测模块用来检测户外的光强,若户外亮度低且有车辆或人员经过时,则打开路灯开关;否则,则关闭路灯.控制模块还用于响应LoRa基站发送的控制指令进而控制执行模块来实现调节路灯的亮灭.
控制模块采用STM32L151C8T6D,主要用于传输路灯节点的信息及响应LoRa基站发送的控制路灯亮灭的指令.STM32L151C8T6D是一款超低功耗STM32 L1系列的32位微控制器,基于ARM Cortex-M3内核,最高主频可达32 MHz,具有32 KB的RAM和64 KB的Flash、丰富的外设资源,其工作电压范围为1.65~3.6 V,可用于医疗、自动化与过程控制、通信与网络、传感与仪器等领域.
LoRa模块采用利尔达LSD4RF-2F717N30无线模块,该芯片是基于SEMTECH射频集成芯片SX127X的射频模块,是一款高性能的物联网无线收发器,大大增加了通信距离,该芯片具有功耗低、体积小、抗干扰能力强、传输距离远等特点,可快速部署LoRa网络及远程数据采集[4].STM32L151C8T6D与LSD4RF-2F717N30芯片采用SPI的通讯方式连接,其连接电路图如图3所示.
图3 STM32L151C8T6D与LSD4RF-2F717N30芯片连接电路图
2.2 LoRa基站设计
由电源模块、控制模块、LoRa模块及网络接口模块构成.LoRa基站采用的控制芯片和射频芯片与路灯节点一样,但不需要接检测模块,LoRa基站如图4所示.
图4 LoRa基站示意图
LoRa基站接收采集模块采集到的节点信息,并通过5G发送至路灯云平台,也可以接收路灯云平台发送的指令,并通过LoRa网络发送至节点控制路灯亮灭.
3 系统软件设计
3.1 路灯管理节点软件设计
如图5所示,启动LoRa模块后,当接收到结束字节时,需判断数据帧是采集模块的数据还是LoRa基站的数据.若是采集模块的数据,需将数据封装成帧,即将数据增加帧头和帧尾,并通过LoRa网络将数据发送至LoRa基站;若是LoRa基站的数据,需将数据解帧,即将数据拆除帧头、帧尾[3],再把数据传送至控制模块,控制模块接收到数据后,控制路灯的亮灭.实现采集模块的数据发送及LoRa基站的指令发送.
图5 路灯节点流程图
3.2 LoRa基站设计
如图6所示,启动LoRa模块后,当接收到结束字节时,需判断数据帧是路灯云平台的数据还是路灯节点的数据.若是云平台的数据,需将数据封装成帧,并通过LoRa网络将数据传送给LoRa基站;若是路灯节点的数据帧,需将数据先解帧[3],再通过网络接口模块将数据传送给路灯云平台,路灯云平台再将数据实时发送至用户平台,实现LoRa基站数据的发送和路灯云平台指令的发送.
图6 LoRa基站流程图
4 系统测试及分析
4.1 功能检测
本设计是在每个路灯节点安装有采集模块和控制模块,在节点附近设有一个LoRa基站.系统的实现过程是:采集模块采集路灯的状态及周围环境的信息,数据通过LoRa网络发送至LoRa基站,基站将数据通过5G网络发送到路灯云平台,用户可通过网页查询路灯节点的信息.路灯云平台根据接收到的路灯节点信息,发送相应的控制指令至LoRa基站,基站将命令发送至控制模块,控制模块控制执行模块调节路灯的亮灭.用户还可以通过点击页面中执行模块的开关按钮,将指令发送至路灯云平台,云平台发送相应的指令给LoRa基站,基站将信息发送至控制模块,控制模块控制执行模块将路灯打开或关闭,从而实现用户远程手动控制路灯的目的.
路灯系统网页界面如图7所示,网页显示可查询数据的传感器,通过点击相应传感器的名称即可查询数据,用户点击执行模块的操作项,即可实现用户远程控制路灯开关状态.经过对比实验测试,LoRa方案与ZigBee方案相比,抗干扰性、数据传输稳性、实用性等更有优势.
图7 路灯系统网页界面
4.2 性能测试
本设计是在不同传输距离条件下,对LoRa网络与ZigBee网络传输数据的效果进行对比,检测两种网络的丢包率和误码率.检测距离分别选取100 m、200 m、300 m、400 m、500 m、700 m、900 m、1 150 m、1 450 m、1 800 m,连续收发20 000个数据包,分别统计LoRa网络和ZigBee网络的丢包率与误码率.实验的结果如表1和表2所示:随着通信传输距离的增加,两个网络传输数据的丢包率和误码率都在增加,但使用LoRa网络时,1 800 m的丢包率达到11.26%,误码率达到5.27%,基本实现通信;而使用ZigBee网络时,500 m的丢包率达到了100%,误码率也为100%,不能进行通信.
表1 LoRa网络数据传输的丢包率和误码率测试结果
表2 ZigBee网络数据传输的丢包率和误码率测试结果
通过功能测试,LoRa网络便于组网,并可实现功能需求;通过性能测试,与ZigBee网络相比,LoRa网络具有数据传输距离更远、准确性更高、实用性更好的优点.因此,LoRa网络在路灯控制系统中更具实用性.
5 结语
本文是基于LoRa的路灯控制系统设计,实现了路灯节点、LoRa基站、路灯云平台及用户平台四者之间的实时数据通信,达到了路灯控制系统的功能要求及性能要求.本文从系统总体设计、系统硬件设计、系统软件设计三个方面进行研究,并对系统进行测试及分析.分析结果表明,该系统便于组网,总体运行良好,数据采集准确,能为路灯管理部门提供路灯供电及节电的数据支持.