基于NB-IoT的智慧路灯监控系统(硬件开发)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_38106923/article/details/97925200

目录

1、设备选型

1.1、主控制器

1.2、NB-IoT无线通信模块和GPS模块

1.3、光照检测模块

1.4、输出控制模块

1.5、电能检测模块

2、硬件开发

2.1、开发软件   

2.2、STM32CubeMX底层环境搭建

2.3、Keil5编写控制模块实现代码 


1、设备选型

基于NB-IoT的智慧路灯监管系统在感知层可实现实时采集路灯节点的工作状态(亮灭状态)、电压、电流、功率、功率因数、耗电量、产生二氧化碳、频率、环境光照度、路灯亮度、路灯故障地理位置11种传感数据信息。

路灯控制终端节点主要由主控制器、NB-IoT无线通信模块、GPS模块、光强检测模块、电能检测模块以及输出控制模块组成,路灯控制节点模块硬件实物如下图所示:

1.1、主控制器

主控制器选用STM32L432KC超低功耗单片机作为微控制器,NUCLEO-L432KC 开发板是首个集成一款QFN32微型封装微控制器的Nucleo-32开发板,板载一颗STM32L432KCU6 微控制器(UFQFPN32),允许用户直接使用ARM在线开发工具,板载Arduino Nano针脚布局可简化功能扩展,集成的ST-Link调试器/编程器支持大容量存储器和无探针调试,可以完全满足智慧路灯节点数据处理的基本要求。

1.2、NB-IoT无线通信模块和GPS模块

NB-IoT通信模块采用功耗极低的上海移远BC20通信模组,以及SIM卡座、串口电路、滤波天线、复位电路组成,由电源模块供电。BC20支持GNSS,内置GNSS模块,支持GPS定位,北斗双模定位,实现卫星对路灯节点定位,极大方便用户使用。本模块接收来自主控制器的路灯实时状态、路灯节点功耗传感数据以及模块获取的GPS数据等信息,通过Internet将数据发送给华为IoT云平台,并接收用户通过Intemet发送来的控制命令。

1.3、光照检测模块

光强检测模块利用光照模块检测外界光照强度,并将信号通过ADC方式传入主控制器,根据环境光照强弱自动调节路灯节点亮度。

1.4、输出控制模块

输出控制模块使用YYAC-3S 模块,该模块采用原装可控硅,输入与输出光耦完全隔离,通过单片机IO口输出PWM调节占空比去改变220V交流电压从而达到调光调速调节功率等功能。

1.5、电能检测模块

电能检测模块采用UART接口和RS485接口,支持与PLC通信,刷新速度500MS,可读取电压、电流、功率、电能和频率因数参数通过RS485或UART口输出16进制数据。设计有继电器模块,结合路灯节点耗能情况和阈值报警,用户设置多种模式(分时间段控制道路两侧路灯全亮模式、自动调整模式、隔杆亮灯模式和深夜模式)实现路灯智能管理。

 

 

2、硬件开发

接下来进行嵌入式硬件编程开发,通过电能检测模块实现实时采集路灯节点电压、电流、功率、总耗电量、功率因子、路灯开关状态、耗能产生二氧化碳、光照度、路灯亮度、环境光照度、GPS位置11种传感数据,通过NB-IoT模组实现对华为云物联网平台数据上传及下发获取,达到联动控制效果。

2.1、开发软件
   

嵌入式硬件开发使用STM32CubeMX和Keil5实现,STM32CubeMX搭建NUCLEO-L432KC开发板GPIO底层配置,Keil5实现NUCLEO-L432KC开发板编程开发。

STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,也是配置和初始化 C 代码生成器(STM32 configuration and initialization C code generation),也就是自动生成开发初期关于芯片相关的一些初始化代码。STM32CubeMX 包含了 STM32 所有系列的芯片,包含示例和样本(Examples and demos)、中间组件(Middleware Components)、硬件抽象层(Hardwaree abstraction layer)。

STM32CubeMX简介、下载及安装参见:https://blog.csdn.net/m0_38106923/article/details/89458297   

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

Keil5简介、下载、安装及破解参见:https://blog.csdn.net/m0_38106923/article/details/89492257

2.2、STM32CubeMX底层环境搭建

    使用STM32CubeMX搭建NUCLEO-L432KC开发板GPIO底层配置,主要配置微控制器晶振、定时器PWM接口UART1、UART2ADC接口LED状态指示灯接口,具体实现如下:

2.3、Keil5编写控制模块实现代码 

在Keil5开发环境中需要编写硬件基础底层配置功能、电能电耗检测功能、GPS定位功能、环境光照检测功能、NB-IoT模组通信功能和云端交互功能。

NB-IoT模组配置实现代码如下:

电能电耗监测功能实现代码如下: 

GPS定位功能实现代码如下:

环境光照检测功能实现代码如下: 

NB-IoT模组模组通信功能实现代码如下: 

云端交互功能实现代码如下:

基于NB-IoT的智慧路灯监控系统(云端部署及AI模型训练)

展开阅读全文

基于Qualcomm的智慧路灯让城市更美好

08-12

平时我们司空见惯的路灯,其实是个用电大户。拥有高亮度的灯管长时间处于开启状态下,会消耗大量的电能。不仅如此,路灯设施的检查与维护对市政单位而言也是个不小的挑战。rn rn目前的大多数路灯都无法进行系统化的管理,这在很大程度上影响了市政单位对路灯系统的维护工作。比如当某一路灯出现故障时,相关单位无法及时进行处理,巡检人员无法快速反应,对其进行维护,进而造成能源浪费,甚至埋下安全隐患。rnrn不过,在物联网技术不断发展的今天,这些问题都能够解决。通过为路灯安装物联网检测设备,将其改造为智能路灯,不仅能够让路灯系统更加省电,同时也会得到更系统化的管理。rn rnQualcomm 针对物联网设备开发的 MDM9206 芯片能够胜任这一工作。MDM9206 功耗低,可靠性强,同时也能保证很好的信号穿透能力。此外,这款芯片同时支持 Cat-M1 和 Cat-NB1,不论是日常的数据收集还是突发故障都能够及时响应。rnrn智能路灯在安装完毕之后就可以立即投入使用,它们会自动调试、接入云端,并上传各自的地理位置。基于云服务的路灯系统可以实时监控路灯系统运行状态,对线路漏电,耗电异常等安全问题进行报警。rn rn比如当电流检测值超出正常范围时,系统将切断到路灯的交流电,并发送警告到云端,推送给相关机构,实现高效的能耗监管。而通过监测支线输入及输出的电压及电流,计算支线漏电电流,能够检查出支线漏电,路灯故障的状况,便于及时通知维修人员进行处理。 论坛

没有更多推荐了,返回首页