基于NB-IOT的智慧路灯控制系统研究与设计*
2022-07-04张余明
张余明
(桂林航天工业学院 计算机科学与工程学院,广西 桂林 541004)
随着我国数字化、智慧化城市建设的不断推进,传统的路灯控制系统已经成为智慧城市发展的一个瓶颈。不仅路灯开关灯控制方式单一、亮灯时间时早时晚,而且存在管理巡查维修困难、故障处理不及时等问题,使亮灯率无法保障。总而言之,目前的城市路灯智能化控制及管理程度低,从而导致路灯系统能耗高,维护成本高。
传统的城市路灯控制系统已无法满足智慧城市管理的需要,本文研究基于NB-IOT的智慧路灯控制系统,采用先进的窄带物联网技术(NB-IOT)、嵌入式技术、传感技术、电源管理技术、云技术等,按需定制、自动调节,实现城市路灯照明系统的智慧化控制和管理,是现代意义的智慧城市路灯综合管理系统,将得到广泛的应用。本系统通过NB-IOT作为数据传输途径,对每盏路灯进行远程监测和智慧化管理,为市政提供具有远程控制、远程监测、实时自动检测管理等功能的路灯控制系统,实现有效节能。本系统是集单灯节能、监控(单灯-四遥:遥控、遥测、遥信、遥调)、防盗报警、智能控制及管理于一体,有效提升城市路灯管控水平与最大化降低公共用电能耗,为智慧城市建设增光添色。
1 系统研究目的及意义
1.1 研究现状
随着建设节约型社会和智慧城市的发展需求,基于物联网的照明控制技术具有广阔的发展空间。目前路灯控制系统大部分采用集中控制的方式进行控制,无法实现按需、单灯控制。该系统不能根据当前区域城市环境或人流情况自动调节路灯的亮度及开与关,也无法实时反映路灯设备的耗电情况及工作状态,对运行情况不能集中监控、反馈、处理,还存在能源浪费、维护困难、管理成本高等问题。据统计,目前我国照明用电量占总用电量的22%,长期以来,外部路灯的耗电量占照明总用电量的32%,传统照明水平和路灯节能系统水平较低,路灯能耗高,光效低。电费和路灯管理费已经成为政府巨大的财政负担。
如何更快提高我国的道路照明水平、节能水平和智能化管理水平,是整个社会,乃至全球节能减排的重要组成部分。提高道路照明水平,对碳排放、环境保护和城市雾霾等严重的环境问题都有着十分重要的作用。结果表明,我国的街道照明具有以下特点:城市21∶00以后的大部分公共街道车辆和行人较少,但照明路灯仍然亮着,造成了能源很大一部分的浪费;本系统研究的智慧路灯控制系统可以更好地解决能源浪费问题。
1.2 研究意义
基于NB-IOT的智慧路灯控制系统,采用先进的窄带物联网技术、嵌入式技术、传感技术、云计算技术等,实现城市道路路灯的智慧化控制和管理,有效解决当前路灯控制系统存在的能源浪费、维护困难、管理成本高等问题,是智慧城市建设的需要,本文研究的基于NB-IOT的智慧路灯控制系统将具有很好的社会价值和经济效益。
2 系统总体设计
2.1 系统总体架构设计
系统总体设计采用分层式架构设计,系统架构设计如图1所示。
图1 系统总体架构图
系统主要由单灯控制器、监控中心服务器、客户端等组成。系统按结构分为节点层、汇聚层、IOT平台层、云服务层、用户层等。
第1层为节点层,主要包括若干单灯控制器,通过NB-IOT通信接收监控中心的指令,负责执行开、关、调光命令,并监控路灯的工作状态,采集城市道路路灯的电流、电压、电量、报警信息等数据,并将所有数据通过空中接口连接到NB-IOT基站。
第2层为汇聚层,主要承担节点层单灯控制器的数据接入处理和管理等相关功能,与网络层进行连接。
第3层为IOT平台层,负责汇聚层得到的IOT相关数据,并根据数据类型转发给云服务层监控中心服务器进行具体处理。
第4层为云服务层,负责整个系统的设备管理、控制管理等功能。主要包括路灯控制管理、路灯自动巡检管理、设备信息管理、地理信息管理、辅助分析等。
第5层为用户层,包括WEB客户端、App手机端。WEB客户端,实现PC端便携访问、操控、管理。通过App客户端实现手机、平板电脑、PAD端便携访问、操控、管理[1]。
2.2 系统功能
1)远程控制与管理:通过NB-IOT接入互联网实现系统的远程智能监控与管理。
2)多种控制模式:可以通过远程、PWM、定时等多种控制模式,实现城市路灯系统按需照明。
3)数据采集与检测:可对路灯系统的灯具及相关设备的电流、电压、电量数据进行在线、离线、故障状态等监测,并上传后台系统实现故障智能分析。
4)多功能实时报警:对出现的设备故障、断电、短路、异常开箱及相关设备状态异常等问题,可实时进行消息推送及预警、报警。
3 系统硬件设计
本系统硬件设备主要为单灯控制器,它是智慧路灯控制系统的核心组成部分,可通过NB-IOT通信接收监控中心的控制信号,执行开灯、关灯、灯光亮度调节等命令,并监控路灯的工作状态,并实时采集路灯电流、电压、电量等数据,具有PWM或0~10V调光模式。通讯方式采用NB-IOT通信模式,故障自动报警。硬件设计主要是完成单灯控制器的设计。
3.1 单灯控制器设计
单灯控制器采用分层分模块的设计方法,逐步实现单灯控制器的核心功能。电路设计采用Altium Designer16设计软件进行设计。单灯控制器用于照明路灯的控制、分析、检测,其包括MCU处理器、路灯AC控制、路灯调光、过零检测、电量检测、照度检测、故障检测模块、电磁监测、AC/DC变换等。单灯控制器设计如图2所示。
图2 单灯控制器设计框图
3.2 MCU处理器设计
MCU处理器设计采用STM32F103嵌入式微处理器,负责单灯控制器的数据处理、分析、控制、监控等,通过接收NB-IOT模块指令,实现路灯的手动控制、PWM调光控制、结合相关传感器实现自动调节控制、分析、检测、监控等,同时将采集路灯的相关数据通过NB-IOT模块上传监控中心,实现城市路灯的智慧管理。MCU处理器电路设计如图3所示。
3.3 NB-IOT模块设计
NB-IOT模块采用BC95模块,它是一款高性能、低功耗的NB-IOT无线通信模块。
NB-IOT模块与MCU处理器通过串口实现数据交互,NB-IOT模块的复位设计通过MCU处理器进行复位处理。当模块出现软件停止响应等情况时,可通过MCU处理器拉低NB-IOT模块管脚电位,实现模块复位。NB-IOT模块射频信号收发通过IPEX电缆接口与PCB天线连接,实现小型化设计,接口处采用LC阻抗网络,实现阻抗匹配设计,保证了信息的低损耗收发,增加了传输距离。为满足GSM 制式下瞬时大电流的需求,在供电通路上增加了1 000 μF 的低 ESR 储能电容。另外,在供电通路上增加 22 μF、0.01 μF、220 pF等不同容值的电容,进行滤波,降低干扰,布局时靠近模块VBAT管脚放置[2]。
图3 MCU处理器电路设计图
NB-IOT模块电路设计如图4所示。
图4 NB-IOT模块电路设计图
3.4 路灯交流AC控制设计
路灯交流AC控制设计输出采用MBT3904晶体管控制继电器的导通,MCU处理器输出控制信号经电阻送到晶体管基极,当MCU处理器输出控制信号为高电平时,晶体管导通,继电器线圈有电流流过,继电器吸合,继电器常闭端断开,常开端导通,交流输入信号无法输出至路灯,路灯没有供电,无法点亮;当MCU处理器输出控制信号为低电平时,晶体管截止,继电器线圈没有电流流过,继电器不吸合,继电器常闭端连接,常开端断开,交流输入信号通过常闭端给路灯供电,点亮路灯。MCU处理器通过控制晶体管的导通或截止,实现路灯交流AC信号的输出控制,从而实现路灯的开关控制。路灯AC控制电路设计如图5所示。
图5 路灯AC控制电路设计图
3.5 路灯调光控制设计
路灯调光控制设计采用PWM 调光输出模式,接收MCU处理器输出的0~3.3 V PWM调光信号,经100 Hz~1 kHz的带通滤波网络,送入运算放大器LM358二级放大后,调整到0~10 V PWM输出,带宽为100 Hz~1 kHz,限制了带宽,减少路灯的频闪,与路灯交流AC控制输出一起控制路灯的亮灭及亮度调整。 PWM输出10 V时,路灯为最亮状态;PWM输出0 V时,路灯熄灭。路灯调光控制电路设计如图6所示。
图6 路灯调光控制电路设计图
3.6 电量检测设计
电量检测设计采用高精度单相多功能计量芯片,芯片内置A/D转换。输入负载的交流电压采样采用电压互感器变换后经电阻网络差分输入至计量芯片,进行量化计算,输入负载的交流电流采样采用电流互感器变换后经电阻网络差分输入至计量芯片,进行量化计算,最终得出路灯功率、电流、电压等参数,通过芯片串口传输至MCU处理器,进行相关分析、处理,得出路灯消耗的电能及节能情况。电量检测电路设计如图7所示。
图7 电量检测电路设计图
3.7 电磁监测设计
电磁监测设计主要用于单灯控制器工作在室外的防雷设计。设计采用多级防雷设计,采用压敏电阻、气体放电管、高压瓷片电容、TVS管、安规电容、复合对称防雷保护等进行雷击浪涌设计,达到抗浪涌6~8 kV等级,确保产品安全稳定,不受雷击影响。电磁监测电路设计如图8所示。
图8 电磁监测电路设计图
3.8 AC/DC电源设计
AC/DC电源设计采用LDO模块进行稳压调整输出设计,输出电源为5 V和3.3 V。采用电容、电感滤波网络有效滤除纹波成分,达到直流稳定的效果。
AC/DC电源设计如图9所示。
图9 AC/DC电源电路设计图
4 系统软件设计
4.1 监控中心与单灯控制通信协议设计
基于NB-IOT的智慧路灯控制系统通过设计约定的协议通信,实现预定的功能。监控中心与NB-IOT平台通信,设计COAP协议进行通信;NB-IOT平台与单灯控制之间的通信采用自有协议通信。NB-IOT平台将协议信息打包成JAVA格式协议包转发给监控中心,实现路灯开、关、调光控制,实现路灯电流、电压、能量等参数的采集获取。
4.1.1 监控中心与NB-IOT平台通信架构
监控中心与NB-IOT平台通过COAP协议通信,实现相关信息推送。由于运营商对NB-IOT卡限制了IP(动态分配IP,IP在5分钟内保持不变),所以需要通过通信转发网关,使得路灯单灯控制器能够访问任意公网地址(监控中心服务器)。本协议采用COAP通信方式。通信架构如图10所示。
图10 通信架构图
4.1.2NB-IOT平台与单灯控制器数据采集通信设计
数据采集主要是监控中心服务器通过NB-IOT平台采集单灯控制器相关数据,包括电压、电流、有功功率等参数。
监控中心服务器发送指令到单灯控制器格式如表1所示。
表1 监控中心发送采集指令格式
4.1.3 NB-IOT平台与单灯控制器进行控制通信设计
单灯控制主要是监控中心服务器通过NB-IOT平台对单灯控制器进行开关、调光等操作,实现对单灯进行控制。
监控中心服务器到单灯控制器指令格式如表2所示。
表2 监控中心发送控制指令格式
4.2 单灯控制器嵌入式软件设计
单灯控制器嵌入式程序软件为智慧路灯控制器的内部嵌入式程序,用于智慧路灯控制器实现与NB-IOT平台、系统服务器、监控中心等通信及控制相关外部路灯设备、告警指示等。
4.2.1 软件架构设计
软件架构设计用于指导嵌入式软件各模块程序连接设计,如图11所示。
图11 软件架构设计图
4.2.2 MCU主程序模块程序设计
MCU主程序模块是嵌入式程序软件的核心部分,与其他模块进行相关通信,实现数据收发控制、开关、调光、报警等功能。MCU主程序模块负责与NB-IOT无线收发模块实现通信,负责接收云端控制指令和控制器相关数据上传通信,实现无线通信的收发控制。MCU主程序模块与路灯AC控制模块实现开关指令发送及控制状态响应,与路灯调光控制模块实现调光控制及控制状态响应,与电量采集模块实现路灯电量相关数据采集等。程序工作流程如图12所示。
图12 嵌入式程序流程图
程序主要代码如下:
int main(void)
{
u8temp_data[4]={0};
Init(); //配置系统时钟为 72M
LED_Init();
USART1_Config(); //USART1 电量采集
USART2_Config(); //USART2 //设置
USART3_Config(); //USART3 NB通信
LED_GPIO_Config(); //LED 端口初始化
LED2_GPIO_Config(); //指示灯IO初始化
CTRL_GPIO_Config(); //ctrl输出IO初始化
BC95_Init();
BC95_CoAP();
Clear_Buffer();
PWM1_init(100,36); //分频PWM频率=72000/900=80khz
EXTIX_Init();
Timer3_init(1,7200); //预分频7200,得到10k的计数时钟
DelayNS(1000);
yuancheng_control();
while (1)
{
BC95_Senddata1();
led0=0;
DelayNS(300000);
led0=1;
DelayNS(300000);
if(com3_flag==1)
{
com3_flag=0;
Clear_Buffer();
}
if((send_nb_flag==1)&&(test_flag==0)) //发送NB数据定时发送
{
send_nb_flag=0;
test_flag=1;
BC95_Init();
BC95_CoAP();
}
if(com1_finish==1) //串口1中断 电量检测
{receve_test();}
if(com2_finish==1) //串口2中断 参数设置
{receve_test();}
if(com3_finish==1) //串口3中断 NB通信
{
com3_finish=0;
collector_to_single_dandeng_kongzhi(); //单灯控制
}
}
}
4.3 NB-IOT平台设计
本系统开发借助中国电信物联网开发平台作为中间平台进行平台设计开发。NB-IOT平台实现对路灯设备的数据统一管理,同时向监控中心服务器开放接口,构建物联网路灯业务应用系统。
4.3.1 创建项目
平台登录后,新建智慧路灯项目。新建项目如图13所示。
图13 新建项目
4.3.2 产品开发
项目建立完成后,进行产品profile(模型)开发,产品的Profile文件是用来描述一款设备是什么、能做什么以及如何控制该设备的文件。每款产品都需要一个Profile文件。
产品模型(也称Profile)用于描述设备具备的能力和特性。开发者通过定义Profile,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息。
1)新建服务
根据设备的功能和业务场景添加服务,每个服务下可以增加属性(上报的数据)和命令(下发的命令),新建服务Deng_To_Pingtai如图14所示。
图14 服务Deng_To_Pingtai
新建服务Pingtai_To_Deng如图15所示。
图15 服务Pingtai_To_Deng
平台下发命令CTRL字段如图16所示。
图16 下发命令CTRL字段
2)编解码插件开发
NB-IOT智慧路灯设备和中国电信物联网开放平台之间采用CoAP协议通讯,CoAP消息的数据为应用层数据,应用层数据的格式由设备厂商自行定义。由于NB-IOT设备对省电要求通常较高,所以应用层数据一般采用十六进制格式。一款设备对应一个编解码插件。
智慧路灯到平台deng_up_pingtai编解码插件按照通信协议进行设置,如图17所示。
图17 deng_up_pingtai编解码插件
平台到智慧路灯PING_CTRL_DENG编解码插件按照通信协议进行设置,如图18所示。
图18 PINGTAI_CTRL_DENG编解码插件
3)在线调测
设备编解码插件设置完成后,开始设备在线调测,设备在线调测具备设备模拟和应用模拟功能,可以模拟数据上报和命令下发等场景,对设备、Profile、插件等进行调测。设备上线后,即可开始在线调测,设备在线调测如图19所示。
图19 设备在线调测
4)应用调试
应用调试功能模块用于帮助开发者使用真实设备或者虚拟设备对应用服务器进行调测。
应用调试如图20所示。
图20 应用调试
5 系统测试与分析
5.1 测试目的
测试的目的是为了保障产品的质量。在开发项目的同时,需要对软件硬件进行质量管控,联合测试。测试都是具有一定的测试用例,按照规定的步骤,对产品、软件、硬件进行地细致测试,确认是否达到技术指标要求。严格适用的试验测试程序包括:规定试验计划、试验规范、试验性能,试验数据的记录和存储,分析,并详细解读回归分析结果,对软硬件产品进行严格评估。
为了保证系统的设计开发质量和高可靠性,系统测试就是一个非常重要的步骤。作用在于找出系统设计的缺陷,进行逐步完善和弥补,验证是否满足客户的需求。
5.2 测试方法及内容
5.2.1 测试方法
1)功能测试
系统功能的有效性是决定系统是否正常和满足设计功能要求(如质量)的一个重要因素,应仔细完成系统功能测试。
2)性能测试
性能测试主要用于测试系统的处理速度,确认软、硬件的有效性、系统的稳定性,并确认在使用过程中是否存在重大错误。
3)环境适应性测试
环境适应性测试主要测试系统的高低温性能、振动性能及跌落性能等环境适应性性能,检测设备是否能适应实际工作环境。
5.2.2 测试内容
1)系统测试环境搭建
将设计的单灯控制器与模拟路灯设备及路灯电源模块搭建系统实际测试环境,进行系统相关功能测试、验证。设计的单灯控制器设备如图21所示。系统测试环境搭建如图22所示。
图21 单灯控制器设备
图22 系统测试环境
2)远程开关测试
测试环境搭建完成后,通过电信物联网平台连接监控服务器,监控服务器按照通信协议格式发送指令,实现远程开关测试。
远程开关测试如图23所示。
图23 远程开关测试
3)远程调光测试
测试环境搭建完成后,通过电信物联网平台连接监控服务器,监控服务器按照通信协议格式发送指令,实现远程调光测试。
远程调光50%测试如图24所示。
图24 远程调光50%测试图
远程调光100%测试如图25所示。
图25 远程调光100%测试图
远程调光20%测试如图26所示。
图26 远程调光20%测试图
5.3 测试结果分析
测试路灯亮度与节能情况,如表3所示。
表3 路灯亮度与节能测试结果
经过搭建实际环境进行系统设计指标测试验证,从功能测试、性能测试、环境适应性等各方面进行实际测试,达到系统设计目标,符合设计要求,系统能实现远程控制、自我调节,达到节能目的。
6 结论
该系统通过采用NB-IOT技术及传感器技术等,对每盏路灯进行远程监控和智慧化管理,不仅使路灯实现了“五遥”控制,而且实现了每盏路灯按需控制,亮度自我调节,最大化实现绿色节能目标。在智慧城市的建设中,为市政提供具有远程控制、远程监测、实时自动检测管理等功能的路灯控制系统,具有很高的社会价值和经济效益。