基于NB-IoT技术的智慧路灯管控系统应用研究
2021-07-23卢阳光丘志敏
霍 英,赖 煜,卢阳光,李 珊,丘志敏
(1.韶关学院 信息工程学院;2.韶关学院 智能工程学院,广东 韶关 512005)
随着城市建设迅速发展,城市照明建设作为体现形象的作用日益受到重视.而传统的路灯照明系统存在着远程控制不灵活、缺乏报警机制[1]、能源消耗大、运维效率低下且费用极高[2]等问题,这些问题增加了管理难度和成本[3].为提高城市管理效率、节省运维成本,满足智慧城市设施智能化、治理精细化的诉求,笔者主要对NB-IoT通信技术特性进行研究,以其在智慧路灯管控领域的应用进行了设计与实现:基于STM32F103ZET6的路灯终端控制器,使用NB-IoT通信模组与网络进行连接,实现了终端的联网操作;改变传统路灯系统利用网关入网的复杂操作,借用移动蜂窝网络实现设备单级入网,简化控制的体系架构,以降低网络部署及开发应用成本;通过平台与移动端应用实现对路灯的单个、集中管理和多种功能模式控制,建立城市化监控平台,满足动态化、可视化、流程化、规范化、数字化的管理要求[4-6].
1 系统功能概述
根据走访韶关市电力部门获知,韶关市已经安装的路灯约为900万盏,每盏路灯的平均功率大约是100 W.假设每天开启时间为10 h,则每年每盏路灯需要消耗365 kW·h,900万盏就是32.85×108 kW·h.笔者设计的智慧路灯系统,在LED路灯节能的础上,通过智能控制技术实现“按需照明”“分区照明”“分时照明”,每天将至少减少30%的功耗,不仅能延长灯具的使用寿命,还能降低运行成本,进一步提高经济效益.同时系统基于物联网、NB-IoT等现代信息技术实现路灯自动巡检、故障主动报警、自由编组、地图指引等功能,可以实现城市道路照明的精细化管理,更进一步挖掘城市道路照明节能的潜力,推进城市绿色照明.
具体而言,系统具备几个主要功能.
(1)基于腾讯地图API,用户可以通过监控平台或微信小程序,查看所管控区域的路灯实时数据(如亮灯率、用电量等)信息,且可以对路灯实行单点、自定义片区、行政区域等远程照明控制.
(2)终端分3种模式(正常模式、自适应模式、节能模式)可供选择,可根据具体实际路段情况对路灯的亮灭时间段以及灯光亮度进行切换,同时可按单点、自定义片区、行政区域来一键开启或关闭路灯,不仅达到节能减排的目的,还满足个性化的亮灯需求.
(3)在系统数据监控界面,能够实时反映路灯状态信息,用户也可通过查询图表来完成对路灯运行情况的大数据分析.对于路灯故障问题则会在监控界面中凸显来提醒用户,无需到现场排查即可确定位置并安排人员进行维修.
2 系统架构及硬件设计
2.1 系统架构设计
系统采用NB-IoT模块通信层与网络通信的运营商OneNet应用服务层平台建立数据传输,再通过Nginx服务器与OneNet应用服务层平台建立第三方推送,实时推送路灯数据存入Nginx数据库并在Nginx服务器中由GateWayWorker推送至移动设备端实时展示.
系统由主控制器STM32F103单片机、M5310-A NB-IoT模块、IM1253B交直流计量模块、稳压电源隔离模块、220 V交流调光模块、微信小程序、ONENET监控平台组成,系统主要通过构建的微信小程序和监控平台实现对路灯的开关和亮度调节.主控制器利用串口发送标准AT指令到M5310-A模块与ONENET平台建立TCP连接,微信小程序通过ONENET平台提供的API接口对终端进行控制,将微信小程序界面用户的亮度调节命令通过平台发送到STM32F103单片机中进行判断,然后利用PWM调光原理,通过I/O引脚发送不同宽窄的数字式脉冲到交流调光模块,从而实现灯光亮度的调节.另一种控制方式可通过环境光照度自动控制灯的亮度,利用光照传感器感知环境光照度,根据光照度再输出对应的PWM波形完成灯光控制.同时利用IM1253B交直流计量模块对路灯运行状态数据进行采集,实现对路灯的动态数据监测,并通过串口返回给主控制器透传到平台中.
2.2 系统硬件设计
系统硬件采用的是5 V的主控制器供电以及220 V的灯光电路供电.硬件设计主要包括主控中心、NB-IoT模块、IM1253B交直流计量模块、220 V交流调光模块、灯光电路设计等5大模块.
2.2.1 主控中心
主控中心对其他硬件设备起控制作用,可以接收并分析光照传感器、温度传感器、NB-IoT模块和IM1253B交直流计量模块的数据,并发送不同的脉冲控制灯的亮度和开关.
目前市场上主要流行的有STM32[7]、51单片机、Arduino等3种较为热门的主控芯片,其中STM32的社会认可度高,在编程上虽然需要一定的技术能力,但在实际的产品应用中有其独特的优势,本系统作为一个控制类的工业化底层终端,更适用于使用STM32作为主控芯片进行控制.STM32F103RET6是STM32F103系列的一个产品,在系统中选择这种型号作为主控中心,主要是使用其以下特点:(1)需同时采用两个UART串口进行数据通信,同时要保证系统运行频率够快,才能达到较快响应的应用控制需求;(2)具备大量的扩展IO引脚,以供后面进行智慧城市建设对基础设施路灯终端的功能扩展,更能利用ONENET平台进行远程的OTA升级;(3)它的各种特性为51单片机的高级升级版,在寄存器的使用上增加官方HAL库,编程方便快捷并且能够达到工业化需求;(4)支持多路UART串口同时使用,外挂有NBIoT模组,串口2信号RX(A3引脚),串口2信号TX(A2引脚)用于IM1253B进行数据传输,串口3信号RX(B11引脚),串口3信号TX(B10引脚)用于NB模组使用,串口均使用TTL电压进行信号传递;(5)模数ADC转换功能,提供12位模数转换器,1 us转换时间,可提供为光照强度的采集;(6)PWM脉冲宽度调制利用TIM8高级定时器,提供4路PWM输出,能够实现对路灯的调光功能.
2.2.2 NB-IoT模块
NB-IoT模块主要负责TCP协议的无线通信,将ONENET平台的数据传输到主控中心进行分析,将来自主控制器的路灯状态和环境状态数据发送到ONENET平台,并接收用户通过网络发来的控制命令.
传统智慧路灯系统一般采用“两跳式”照明解决方案[8],集中控制与终端控制器之间的通讯一般采用PLC、Zigbee等通讯方式[9].这些方式需要部署大量的网关来控制路灯,具有成本高、组网难度大、操作管理麻烦、易受干扰、可靠性无法保障等缺点.长距离无线通信中,比较流行的技术有NB-IoT、LoRa、Zigbee、WIFI等4种.除NB-IoT通信外,其他3种通信技术均需要另外部署网关或路由器来接入核心网进行数据传输.LoRa作为近年来较热门的低功耗局域网无线标准,采用无需授权的免费频段,单个LoRa网关可以连接成千上万个节点,但LoRa在布设过程中,需要新建信号塔、工业基站甚至是便携式家庭网关,成本偏高,且抗干扰能力比不上窄带通信.Zigbee与WIFI均为短距离传输技术,单个网关或路由器接入数量有限,不能够满足区域内大量路灯节点的接入需求,若增加网关节点则会带来成本及组网难度的提升,造成组网复杂、通信容易受干扰等问题.NB-IoT采用运营商频段,支持低功耗设备在广域网的蜂窝数据连接,由运营商部署的NB-IoT基站可容纳几十万节点接入,可满足区域内大量的路灯节点的入网需求,因此采用NBIoT技术进行路灯监控系统的网络通信方式最为合适[10].目前较流行的NB-IoT通信模组为M5310-A,它是一款工作在Band 3、Band 5、Band 8的工业级单模NB-IoT模组,它有着比传统模组更高的通信速率,还有基站定位功能.支持中移物联网云平台协议,增加了空中升级固件程序功能,内置了LiteOS轻量级开源物联网操作系统,智能硬件使能平台,广泛用于智能抄表、智慧城市、智慧农业等行业应用场景.系统采用M5310-A作为通信模块,能有效完成单点数据接入网络、通信数据传输,实现联网功能.
2.2.3 IM1253B交直流计量模块
在用电监测产品中,IM1253B交直流计量模块主要是为了采集市场用电产品的参数进行研发的,主要面向采集单相交直流电参数,也是充电桩、路灯监控、机房、智能用电管理、设备能耗监测等诸多行业各类电力监控需求厂家的配套模块.该模块体积小,集成度高,采用工业级专用电能计量SOC芯片,可以测量45~65 Hz的交流电压、电流、功率、功率因数、频率等电气参数,IM1253B模块上设计一个UART口与单片机进行连接,通信规格采用电力行业通用标准DL/T 645-2007以及标准Modbus-RTU规约,兼容性好,便于实现自动化数据采集及监控功能[11].系统采用串口与模块连接,再接入到LED灯电路中即可完成电气参数的监测功能.
系统中IM1253B交直流计量模块负责将实时监测的电压、电流、功率、功率因数、频率、电能、温度等电参量数据发送到主控中心进行分析,数据通过串口发送到ONENET平台和主控中心进行通信.在该模块中,如果路灯发生故障,路灯工作电流极小甚至为零,数据返回控制中心后,控制中心会把警报信号发送到ONENET平台上,再由ONENET平台发送到微信小程序和监控平台上.
2.2.4 220 V交流调光模块
该模块作用是将通过主控中心输出的PWM波形转换为相应的电压进行输出,以达到控制路灯亮度的目的.
2.2.5 灯光电路设计
目前大部分城市的路灯建设已经相对完善,虽然存在管理与维护的缺陷,但是大成本的重新部署路灯系统是不切实际的.本系统采用稳压电源隔离模块对主控中心、NB-IoT模组、IM1253B模块进行5 V供电,向接入的路灯电路提供220 V的标准电压输入.在现有的路灯终端下,将原线路接入到220 V调光模块,再通过220 V调光模块的输出端接入到LED灯即可完成加装与改造.由于高电压LED灯供电电路与低电压单片机芯片供电电路是隔离的,在升级改造中可以采用带电工作的方式进行改造,最大限度地降低因改造而给生活带来的影响.而对于未建设的路灯终端,则可以在建设时一起安装.
成本方面,STM32F103主控制器价格在20元左右,作为通信核心的NB-IoT模块与监测路灯状态的IM1253B模块价格均在30元左右,整套设备成本大约集中在80元左右,单个路灯终端需配备一套完整设备.假如以1 km长度来计算,根据普通标准20 m间隔分布路灯,需要部署40个完整设备,大概总成本为3 200元左右.由于当前NB-IoT为物联网通信的主流技术,低功耗与高寿命的优点也能减低维护成本,至少在5年内无需因设备老化问题而更换.
3 系统软件设计与实现
3.1 软件设计流程
(1)在STM32F103RET6进行初始化设置.STM32F103RET6开发板通过M5310-A模组与平台进行通信,开发板与模组是通过串口来进行数据传输的,应先完成串口的初始化配置.由于与平台通信采用的是LWM2M协议,需要移植官方提供的协议源码到工程中,通过源码提供的数据传输接口,将自定义数据封装到数据流传输到平台.这部分需要配置3个串口分别进行工作.串口1用于调试信息打印、串口2用于与IM1253B模块的通信、串口3用于与NB-IoT模组的通信,两个通信的串口需配置有串口接收中断,执行相应接收数据的处理,网络通信的串口波特率采用115200、而采集模块的串口采用9600.
(2)需要配置一个I2C通信通道,与温湿度传感器模块进行通信,读取温湿度的数据.温湿度数据主要用于监控设备的运行环境,温度过高有可能出现线路老化发热情况,湿度过高有可能外壳损坏导致雨水渗入内部电路.当芯片处于极高温或高湿度的状况下运行,将会以故障上报到监控中心,需要及时定位维护.还要配置一个ADC通道,用于定期读取光照传感器的数据;再配置一个RTC实时时钟,用于记录当前的时间;灯光亮度的调节由PWM输出波形进行控制,需配置一个高级定时器的一个通道,用于输出PWM的波形,根据指令的设定,可以通过修改PWM波形的占空比来调节灯光的亮度.
(3)串口配置完成后,通过串口设置来初始化M5310-A模组,通过发送联网的AT指令与平台进行连接,连接后设备将资源列表发送到平台,平台将根据资源列表自动订阅设备的每一个资源,这样设备的资源变化将会及时上传到平台中.
(4)软件设置3个回调函数,分别处理平台或微信小程序下发的读命令、写命令和执行命令.当平台下发命令时,根据命令的解析,达到远程控制的效果.
(5)设计微信小程序,包括路灯模块、数据统计模块、维修管理模块、路灯控制模块,各模块具体功能见图1.
图1 智慧路灯微信小程序功能模块
3.2 微信小程序及管控平台主要功能设计与实现
3.2.1 路灯实况显示
此功能作为系统的首页,可直观地在地图上查看到路灯的状态信息,且可以随意滑动,系统则会根据区域的不同更换路灯状态信息.路灯状态分为正常(绿色)、关闭(黄色)、故障(红色)3种,点击单个路灯可对其进行灯泡亮度和灯泡模式的调控,且可以查看其各种参数信息与历史统计信息,见图2、图3.
图2 路灯实况显示界面
图3 路灯详情界面
3.2.2 路灯设备管理
在该功能模块中,可进行单个与批量的路灯信息添加(批量添加为Excel表导入方法),在设备列表中可以查看每个路灯的设备信息,并可对路灯设备进行修改和删除(左滑即可删除).另外,还可对区域信息进行添加、修改和删除操作,实现对路灯设备和区域信息进行动态管理.
3.2.3 数据统计模块
在该模块中,可直观地看到路灯的亮灯率、月用电量、故障统计等参数信息,点击即可查看到其历史统计信息,通过折线图观察其变化情况.还可更改区域和时间地选项更换界面路灯参数信息(见图4).
图4 数据统计界面图
3.2.4 维修管理模块
在该模块中,实时地显示了维修信息,且精准地定位到了路灯的区域信息,管理员可以及时地看到维修信息且知道该故障路灯的设备编号及地理位置,进行高效的路灯维护工作.每个路灯设备都唯一对应一个路灯编号进行标识,采用中国邮编的6位进行区域定位,区域内的街道使用2位数据按道路首字母顺序进行编号,再使用3位数据来区分路段中的路灯编号,共使用11位数字进行编号,根据编号也可基本定位路灯的位置,方便维护人员管理.
3.2.5 路灯控制模块
在该模块中,用户可以进行模式和区域的选择,点击开关按钮即可对路灯进行远程照明控制.模式分为自适应模式、节能模式和正常模式.自适应模式下路灯主控根据环境的光照强度自动调节灯光的亮度,在天气阴天或者环境昏暗的状态下可为路段提供一定的照明;节能模式下管理员可根据车流量或行人流量选择合适的路灯亮度,在确保照明效果的同时减少能源消耗;正常模式下路灯自开启后亮度始终处于一个数值不变.管理员在节能模式和正常模式下均可对其进行添加删除管理.节能模式下管理员可根据场景设置不同时间段的灯泡亮度,正常模式下管理员可根据时间段的不同设置灯泡亮度.
4 结语
笔者基于NB-IoT设计并实现了一套智慧路灯系统,具有几个优势:采用uni-app技术实现多端覆盖(IOS、Android、H5、小程序等),方便工作人员在不同环境下进行操作;结合腾讯地图API,用户可直接在地图上对每一盏路灯进行远程精准控制;实际应用中,只需在原有路灯终端下加装硬件模块即可,无需将原有路灯拆除重建,大大降低成本;系统采用基于轻量化的CoAP+LWM2M协议进行传输,降低物联网终端功耗.
系统具有信息感知、网络通信和控制处理能力,能够利用互联网集中式控制路灯的工作模式,达到节能减排的目的,也能够实时监控路灯的工作状态,监测路灯的电压、功率和故障等方面来完成对路灯的精准化维护,达到节省维护费用的目的,在智慧城市发展方面发挥着基础建设的重要作用.