1. 引言
目前,大多数街道路灯都是人工或者定时控制,这种方法存在操作繁琐、浪费人力以及路灯开闭时间不能随着外界光照及时控制等问题,且容易受到人为因素的影响 [1] [2] [3] 。随着互联网技术的迅速发展,城市路灯智能化控制系统应运而生,成为现代互联网技术成功应用于城市市政建设的必然产物。这种系统通过手机电脑等移动端进行集中控制、监测和管理,根据不同的城市区域和路况设计方案,让操控人员可以通过互联网远程了解整个系统路灯的工作状态,并能够通过计算机进行人工或自动的远程监控 [4] [5] 。这不仅可以实现资源的合理利用,还能赋予路灯具备随着外界环境变化的智能化调节与自诊断报警等功能,从而对于促进城市智能化发展具有一定的意义。
基于上述分析:为实现路灯的智能化调节与自诊断报警等功能,本文提出一种基于NB-IOT的智慧路灯控制与故障报警系统设计。该系统主要分为智能终端与管理平台两部分,其中智能终端以STM32单片机为主控,辅以传感器模块、动力模块、通信模块和显示模块等。系统测试结果显示:本文所提系统实现了智慧路灯多参数自动检测及故障的实时报警,在智慧路灯的控制及故障报警中具有一定的应用前景。
2. 系统构成
基于NB-IOT的智慧路灯控制与故障报警系统分为智能终端与管理平台两部分。智能终端主要由控制器中心模块和传感器模块、动力模块、通信模块和显示模块组成。其中传感器模块主要包含温湿度传感器、光敏传感器;动力模块包含电源;显示模块则主要包含一块显示屏。管理平台分为下位机软件和上位机移动客户端软件设计。系统构成框架图如下图1所示。
![](//html.hanspub.org/file/12-2960355x7_hanspub.png?20240205164002574)
Figure 1. System composition framework diagram
图1. 系统构成框架图
3. 总体方案设计
智能终端设计在选好对应的硬件后,根据硬件的选型大小设计合适的外壳用于器件的安装。传感器实现温湿度、光照强度参数的测量,并将测量数据上传至控制中心模块。路灯根据收集到的光照强度,从而实现对灯光亮度的自动控制。通信模块实现控制中心模块与移动客户端软件之间信息的互通。显示屏能实时显示测量数据和路灯状况信息,实现远程监控。
管理平台中的下位机软件应实现传感器测量信息的显示,移动客户端实现温湿度感器、光敏传感器信息的显示,当路灯设备出现故障,发生短路或者断路的时候,蜂鸣器发出报警声,与此同时管理平台上位机云平台上路灯的工作状态变为异常,用户根据路灯的编号精准定位到时那哪一盏灯需要维修,如此便可节省了排查故障所需要的人力物力。
4. 系统智能终端设计与实现
智能终端的控制中心模块选用STM32芯片,温湿度传感器选用DHT11,光敏传感器选用型号为5506的光敏电阻。通信模块选用NB-IOT M5311核心板,选用的输入电压为直流电压5 V。
4.1. 控制中心模块
本系统采用STM32单片机作为核心控制器,搭配其他模块组成基于NB-IOT的智能路灯系统 [6] [7] 。该系统包含中控、输入和输出三个部分。其中,中控部分使用STM32单片机获取输入数据,并经过内部处理,控制输出部分。输入部分则是由供电电路、光照检测模块和温湿度检测模块组成。输出由三部分组成,第一部分是OLED显示模块,显示光照强度、温度和湿度;第二部分是NB-IOT模块,通过该模块收发数据,用户可在平台上观测到路灯及其周围数据;第三部分是LED灯,用于模拟路灯,可根据周围环境自动调节亮度,当路灯电路发生短路或者断路时,判定为发生故障,蜂鸣器自动报警。
4.2. 传感器模块
智能终端中传感器模块包含多种传感器,分别为温湿度传感器、光敏传感器。DHT11温湿度模块的内部逻辑电路主要由微控制器、NTC热敏电阻、湿度传感器和串行数据输出电路等组成。内部搭载了一个8位单片机,用于处理NTC和湿度传感器采集的数据。NTC热敏电阻被用于测量当前环境的温度。NTC电阻的阻值随着温度的变化而变化,DHT11将其电阻值转换为数字信号来表示环境温度。湿度测量方面,DHT11使用一种专门的高精度模拟数字转换芯片,通过对湿度传感器中吸湿盐水的两颗电极进行采样并计算湿度值。校验方式采用校验和,数据传输的准确性得到有效保障。此外,DHT11功耗非常低,仅需5 V电源电压下工作,平均最大电流仅为0.5 mA。如图2所示是DHT11的电路原理图
![](//html.hanspub.org/file/12-2960355x8_hanspub.png?20240205164002574)
Figure 2. Sensor module circuit diagram
图2. 传感器模块电路图
4.3. 电源模块
直流电源是一种可以提供稳定直流电压或电流输出的电力设备,通过稳定化技术来保证输出电压或电流的稳定性。直流电源在现代电子技术中得到广泛应用,它被用于电路设计、实验室研究、工业自动化控制以及各种电子设备的供电等方面。STM32单片机系列产品使用DC 5 V电源,稳压电路如下图3所示。
![](//html.hanspub.org/file/12-2960355x9_hanspub.png?20240205164002574)
Figure 3. Voltage stabilizing circuit module
图3. 稳压电路模块
4.4. 通信模块
通信模块使用M5311核心板模块,其集超小尺寸、超高性能,超低功耗等特点于一身,非常适合对成本、续航、可靠性有较高要求的物联网产品设计 [8] [9] 。将NB-IOT模块与MCU处理器通过串口线连接起来,进而实现数据交互。NB-IOT模块通过IPEX电缆口连接PCB天线,进而收发射频信号,有效地节省了空间。为了尽可能降低数据发送的损耗,在接口处采用了LC阻抗网络,同时增加了传输距离。NB-IOT模块引脚如图4所示。
![](//html.hanspub.org/file/12-2960355x10_hanspub.png?20240205164002574)
Figure 4. NB-IOT module pin diagram
图4. NB-IOT模块引脚图
5. 系统管理平台设计
系统管理平台设计分为下位机软件设计和移动客户端软件设计。下位机软件设计主要分为多个部分编写,主要有:系统初始化、传感器部分、通信部分、路灯灯光调节及故障报警。程序设计上首先对每个模块进行程序设计,之后对各个模块设计的程序进行主程序的汇总,最后利用调用函数的方法进行子程序的函数调用 [10] [11] 。以系统初始化为例对本文系统程序进行详细介绍:
volatile u8 alarm = 0;
volatile u16 adcvalue = 4000 ,guang;
uint8_t buf [5]; //温湿度缓冲区
u8 senddata [90] = {0};//串口发送缓冲区
volatile uint8_t usart_data2 = 0; //串口
uint8_t rxdata2 [40] = {0}; //串口
volatile uint8 usart_datasign2 = 0;
volatile uint8 rxok2 = 0;
volatile u16 wifi_100ms_flag;
volatile u16 showthresho = 0;
volatile uint8_t usart_data = 0; //串口
uint8_t rxdata [20] = {0}; //串口
volatile uint8usart_datasign = 0;
volatile uint8rxok = 0;
u8 ledsw, Ledstatus, fanstatus, fanstatuslast;
volatile uint8_t usart_data3 = 0; //串口
u8 hh = 0, mm = 0;
#define LEDON HAL_GPIO_WritePin (GPIOB, GPIO_PIN_8, GPIO_PIN_SET);//控制PB8引脚的led亮
#define LEDOFF HAL_GPIO_WritePin (GPIOB, GPIO_PIN_8, GPIO_PIN_RESET);//控制PB8引脚的led灭
#define FANON HAL_GPIO_WritePin (GPIOB, GPIO_PIN_6, GPIO_PIN_SET);
#define FANOFF HAL_GPIO_WritePin (GPIOB, GPIO_PIN_6, GPIO_PIN_RESET);
#define BEEPON HAL_GPIO_WritePin (GPIOA, GPIO_PIN_15, GPIO_PIN_SET);//控制PB8引脚上的蜂鸣器响
#define BEEPOFF HAL_GPIO_WritePin (GPIOA, GPIO_PIN_15, GPIO_PIN_RESET);//控制PB8引脚的蜂鸣器不响
#define KEY1 HAL_GPIO_ReadPin (GPIOB, GPIO_PIN_4)
//读取PB4引脚上按键状态
#define KEY2 HAL_GPIO_ReadPin (GPIOB, GPIO_PIN_5)
//读取PB5引脚上按键状态
//#define KEY3 HAL_GPIO_ReadPin (GPIOB, GPIO_PIN_6)//读取PB6引脚上的按键状态。
#define KEY4 HAL_GPIO_ReadPin (GPIOB, GPIO_PIN_7)//读取PB7引脚上的按键状态。
移动客户端应能获取NB-IOT发送到物联网云服务器保存的数据 [12] ,通过One NET平台实时显示当前检测仪温湿度传感器、光敏传感器信息。本文所涉及系统以One NET作为智慧路灯数据信息的收发和存储中心,终端设备再将收集到的数据实时上传到云平台上,用户根据平台界面实时监测数据了解到当前区域路灯的工作状况以及周围的环境状况。这体现了智慧路灯的智能化及其潜在的环境监测应用前景。
6. 系统测试
在完成本文系统所涉及的智能终端与管理平台后,对其系统进行测试。当周围环境亮度发生变化时,LED灯自动调节亮度,当周围光照度达到或超过1000 lux时,LED完全不发光。当光线强度为928 lux时,灯光明显变暗许多。然后用强光照射光敏传感器,用来模拟白天的光照强度,此时LED灯完全不发光。再观察OLED显示屏,此时的光照强度已经达到了上限1000 lux。也就是说,哪怕是白天智慧路灯控制系统即使通电了,路灯也不会亮,这样便在节能的同时还能预防路灯白天也亮的情况。运行如图5~图7所示。
![](//html.hanspub.org/file/12-2960355x11_hanspub.png?20240205164002574)
Figure 5. Display screen of One NET platform under normal state
图5. 正常状态下One NET平台显示画面图
![](//html.hanspub.org/file/12-2960355x12_hanspub.png?20240205164002574)
Figure 6. OLED screen display image with slightly bright light
图6. 光线略亮时的OLED屏显示画面图
![](//html.hanspub.org/file/12-2960355x13_hanspub.png?20240205164002574)
Figure 7. OLED screen display under strong light
图7. 强光时的OLED屏显示画面
为模拟路灯发生故障的情况,在通电后正常工作状态下拔下LED灯,相当于路灯发生短路或者断路,蜂鸣器发出报警声,与此同时,云平台上路灯工作状态为故障状态。如下图8所示。
![](//html.hanspub.org/file/12-2960355x14_hanspub.png?20240205164002574)
Figure 8. Equipment diagram during malfunction
图8. 故障时设备图
通过对本文所述系统性能测试可得:本文所述系统实现光照强度、温湿度等多参数检测,且具备故障报警及远程控制等功能,具有一定的实际应用价值。
7. 结语
为实现路灯的自动调节亮度和故障报警功能,本文提出基于NB-IOT的智慧路灯控制与故障报警系统设计。该系统由智能终端与管理平台构成,智能终端的控制中心模块选用STM32芯片,温湿度传感器选用DHT11,光敏传感器选用型号为5506的光敏电阻。管理平台中的下位机软件应实现传感器测量信息的显示,移动客户端实现温湿度感器、光敏传感器信息的显示,当路灯设备出现故障,发生短路或者断路的时候,蜂鸣器发出报警声,与此同时管理平台上位机云平台上路灯的工作状态变为异常,用户根据路灯的编号精准定位到具体路灯位置,如此便可节省了排查故障所需要的人力物力。通过对系统实物进行测试:本文所提系统可实现光照强度、温湿度等多参数检测,且具备故障报警及远程控制等功能。这在智慧路灯的控制及故障报警中具有一定的应用前景。
参考文献