第 1 章 绪论
1.1 研究背景及意义
随着城市建设的不断发展,城市道路照明不仅是人们日常生活中必不可少的
公共设施,也是展现城市景观、体现城市形象的重要途径。由于物联网技术的迅速发展,进一步扩展了智慧城市物联网发展的领域。路灯作为智慧城市建设中
不可或缺的公共基础设施,直接反映了一个城市建设的发展水平。而且路灯监控
系统与人们的生活紧密相连,人们对于路灯监控系统智能化的需求愈来愈强烈,
其发展也愈来愈受到了大家的重视。
传统的路灯监控系统一般大多采取线路集中控制、人力巡检、电脑端 Web
监控等方式,在实际应用中不能实现对路灯的精准化、智能化管理,在长期的管
理维护过程中存在许多问题:(1)控制方式:手动[2]、时控[3]等简单控制方式易
受季节等自然环境和人为因素影响,另外区域集中控制方式管理不方便,不能单
灯控制;(2)状态监测:大多采用 PC 机监测路灯的状态参数,效率低,不能实
时、准确、全面地监控小区的路灯运行状况;(3)环境监测[4]:缺乏对路灯多种
传感器的联接,实现对路灯周围环境信息的存储、监测,及时完成相应的部署,
实现在线环境质量监测。为了解决传统路灯监控系统存在的实际问题,满足人们
对于路灯监控系统智能化的更高需求,对于其所采用的物联网通信技术的研究已
成为目前研究的热点。
智能路灯监控系统一般大多采用电力线通信(Power line Communication,
PLC)、ZigBee、远距离无线电(Long Range Radio,LoRa)等物联网通信技术。
PLC 信号不稳定、可靠性差;
ZigBee和 LoRa工作在非授权频谱,且 ZigBee 需要部署大量网关来控制路灯,成本高,管理麻烦;
LoRa需要自建并维护网关,难度高。
针对以上问题,近些年来,由于广覆盖、海量连接、低功耗的特点,目
前基于窄带物联网(Narrow Band Internet of Things,NB-IoT)的智能路灯监控系
统发展迅速。NB-IoT 技术构建于蜂窝网络,使用授权频谱频段,采取带内、保
护带、独立部署三种方式,与现有的网络共存,只消耗约 180KHz 的带宽,可以
直接部署于GSM或者LTE 网络。它聚焦于低功耗广覆盖(Low-Power Wide-Area,
LPWA)物联网(Internet of Things,IoT)[5]市场,是一种在全球范围内被广泛
应用的新兴技术,具有广覆盖、多连接、低功耗、低成本等良好的性能特点,其
在智慧城市[6]中的应用实例也正不断增多。
基于目前市场中出现了多种智能监控终端,大部分的智能路灯监控系统多采
用PC 机控制,但这种方式存在许多问题,如不易携带、体积大、成本高[7],不
能满足智能化照明的需求。随着 Android的广泛应用,Android设备被选为智能
路灯监控系统的监控终端,使用蓝牙、WIFI 等无线技术,手机可实现对路灯系
统的远程、实时监控,因此Android系统手机终端的远程监控成为了主流的监控
方式。
基于低功耗 NB-IoT 物联网通信技术,采用 Android手机应用程序(APP)
监控终端,对路灯进行实时在线智能监控。在保证照明质量的前提下,有效地降
低了路灯照明用电量、节约了照明资源、降低了管理维护成本,提高了路灯监控
系统智能化的管理水平。因此,基于NB-IoT 的智能路灯监控系统的设计与研究
具有很重要的意义。
1.2 国内外研究现状
智能路灯承载着城市安全、节能和高效维护管理的愿望,已经有 20 多年的
研究历史。早前上个世纪就开始对这项技术展开了认证研究。目前,使用在智
能路灯的物联网通信技术主要有PLC、ZigBee[11-14]、LoRa[15]等,它们满足不
了城市广泛分布的路灯互联需求,是路灯依然未规模化、智能化部署的重要原因
之一。路灯的管理和控制系统的发展大致分为三个过程:人工控制阶段,机械控
制阶段和计算机控制阶段。现代化的路灯监控系统可以借助现有通讯服务平台
实现遥测、遥控、遥信“三遥”路灯数据采集和监控。自上个世纪 90 年代,西
方发达国家就已经开始了对智能照明系统的研究,积累了丰富的成功案例和宝贵
的经验。美国的Sensity公司则是美国智慧路灯领域的佼佼者,思科在 2015 年 7
月对 Sensity 进行了 3600 万美元的投资。此外,以智慧照明起步的法国 Street
Vision 公司在该领域也进行了深入的研究。可见,虽然在国外智能路灯项目起步
较早,但也是最近才得到了广泛的发展。
国外在智能路灯监控领域的技术特点大致体现在现代化的监控方案、信息承
载方式、管理系统三个方面。首先,现代化的监控方案体现在由集中监控方式发
展到精确的场景及行为分析阶段。路灯控制的三遥模式在国外已经发展的很成
熟,许多国家也都制定了专门针对路灯的工业标准。在集中监控的基础上,现代
化的路灯监控方式更加关注于对场景及行为的分析,如自适应感知光照、根据日
升日落时间的自动开关及调光、车流及人流分析等功能,并且针对繁华道路、偏
僻道路及高速公路均设置不同的监控方案,一方面使路灯的监控更加智能化,另
一方面也进一步节约了能源。
新加坡、法国和瑞士已经采用计算机技术实现了路灯的自动化监控,德国
ABB公司基于 I-BUS 总线[18]研发的路灯控制系统实现了对路灯的集中开关控
制;日本松下公司基于HBS 协议[19]研究了智能灯具管控系统,实现了对灯的智
能化远程控制。2008 年《城市照明》杂质报道了法国城市照明管理集团 LUXICOM
单灯控制管理,通过计算机控制技术实现了单个路灯的管理,通过采用电力载
波通信(Power Line Carrier Communications,PLCC)与路灯节点取得通信,从
而对整个城市路灯线路进行在线统一调控。此外,日本科学家设计用ZigBee 技
术对路灯进行通信控制,每个路灯都设置一个节点管理装备,节点装备通过微处
理器、ZigBee 接收器、传感器和继电器等组装在一起。
我们国家的智能路灯监控系统也经历了与国外相似的发展过程,目前正处于
一个不断发展的阶段。在近几年对智能路灯的研究中,已经取得了很多的成果。
一般多采用不同的物联网通信技术对传统的路灯监控系统进行智能优化。然而,
由于国家还没有对智能路灯监控制定相应的统一标准,使得大家对于智能路灯监
控系统所采用的物联网通信技术参差不齐[21]。采用 PLC 等有线控制方式,只能
实现路灯的开关控制,路灯功能单一,只有照明作用。PLC 电力线载波常存在较
多谐波,信号衰减快,PLC 信号不稳定,可靠性差。虽然它是较早推出的物联网
通信技术,但存在着难以突破的技术瓶颈。还有的采用 ZigBee/LoRa 无线控制方
式,在远距离传输、高效和可靠方面存在严重不足。ZigBee 需要自行组网,经
网关进行连接,网络覆盖差、易受干扰、信号不可靠,连接易掉线。
文献[22]使用电力载波芯片组建单/双灯控制器通信网络提出了一种基于电
力载波的路灯智能控制解决方案,方便的对路灯设备进行统一协调的管理和便捷
的操控,实现了对路灯数据的采集统计;文献[23]针对城市夜晚道路行驶车辆较
少时路灯的使用情况,提出建立一个利用雷达测速仪和照度传感器相结合的城市
路灯节能控制系统,通过与技术相结合实现智能路灯控制器和监控中心数据的无
线通信;文献[24]设计与实现了一种基于Web 下的路灯智能控制软件,采用 Web
技术来实现路灯的智能化控制,有效的解决了路灯控制软件客户端过大、自动嵌
入地图等问题,但采用 Web 界面监控,存在不易携带、体积大等问题;文献[25]
主要对城市路灯节能控制的相关技术方法进行了深入的分析和研究,最终研发出
一款基于通用分组无线服务(General Packet Radio Service,GPRS)的应用于城
市路灯的节能控制系统;文献[26][27][28]设计并实现了基于 ZigBee 的智能路灯
系统,实现了对路灯的集中远程监控,减轻了人力物力消耗,提高了道路照明质
量;文献[14]中,提出了一种ZigBee 结合GPRS 技术的智能路灯控制系统,基于
单片机设计了将传感器节点和物联网网关融合,虽然实现了数据传输、实时监控
查看等功能,但是这种方式必须要部署控制路灯的网关,成本高、传输距离短、
组网难度高,且运行管理麻烦;文献[15]中,提出了一种基于 LoRa 技术的远距
离智能照明系统,虽然解决了传输距离受限制的问题,但时延较大,易受无线电
波干扰,可靠性无法保证。文献[29]分析认为未来的物联网市场必定是以 LPWA
为代表,根据不同行业应用场景,NB-IoT、增强型机器类通信(enhanced Machine
Type Communication,e MTC)、LoRa、Sigfox 等多种物联网通信技术齐头并进,
互为补充,并行发展。文献[30]介绍了 LPWA 的发展趋势及其多种物联网通信技
术的优缺点;在倡导节能环保的大背景前提下,文献[31]调研分析了路灯管理方
式的当前发展现状,提出了一种基于无线通信技术 GPRS 和 ZigBee 的新型智能
路灯控制系统。
1.3 NB-IoT 技术概述
NB-IoT是一个新兴的 3GPP(3rd Generation Partnership Project)无线接入技术,
属于低功耗广域物联网(Low-Power Wide-Area Network, LPWAN)领域范畴,该
技术旨在为物联网中的海量连接设备提供网络连接,基于运营商基础设施建设,
简化应用网络拓扑结构,并通过低功耗技术实现设备超长待机[32]。NB-IoT 技术
自 2016 年标准规范冻结起,就引起了各界专家学者们广泛关注,并在智慧交通、
智慧家庭、智慧城市等方面广泛展开应用,推动万物互联发展,在物联网领域带
来翻天覆地的变化[33-34]
1.3.1 常用物联网通信技术对比
NB-IoT 技术是一种新的窄带蜂窝通信(LPWAN)技术,具有广覆盖、多连
接、低功耗、低成本等特点[35],与常用物联网通信技术LoRa及ZigBee 技术的
性能特点对比如表 1-1 所示。
表 1-1 常用物联网通信技术参数对比[29]
指标
NB-IoT
LoRa
ZigBee
频谱特点
授权
非授权
非授权
传输速率/(kb·s-1)
160~250
0.3~50
小于 250
通信距离/km
15.00
15.00~20.00
0.01~0.10
组网方式
基于现有蜂窝组网
基于 LoRa 网关
基于 ZigBee 网关
成本/美元
小于 5
约为 5
1~2
典型应用
水表、车联网、路灯等
智慧农业、物流跟踪
智能家居、家庭自动化
相比较于常用的 LoRa、ZigBee 物联网通信技术,NB-IoT 技术具有良好的性
能特点。NB-IoT 工作在授权频谱范围内,路灯终端模组设备需要许可才能接入
网络,信号服务质量高,传输速率快、通信距离远、芯片价格低廉;基于现有蜂
窝组网,网络建设维护成本低,覆盖范围更广,穿透能力更强,可以提供可靠稳
定的数据通信;受到的干扰相对较少,不易被其他无线通信设备干扰,而且广泛
应用于水表、车联网、路灯等多种物联网智慧场景。
1.3.2 NB-IoT 技术特点
NB-IoT 是一种新的窄带蜂窝通信 LPWAN 技术,工作在授权频谱,其技术
注意特性主要包括一下几个方面:
(1)部署灵活:NB-IoT 技术要求能够在 GSM 网络中使用的 200kHz 带宽
内完成部署,因此在授权许可频谱范围内可以提供更多的部署选项。NB-IoT 对
于下行链路和上行链路,只需要 180kHz的最小系统带宽,相当于 LTE 中一个物
理资源块的带宽,有三种部署模式,分别是独立部署,保护带部署和带内部署。
(2)广覆盖:通过提高功率谱密度和增加重传次数等技术手段,在相同频
段下,NB-IoT比 GPRS 网络增益提高约 20dB,可提供更广更深的覆盖能力,满
足各小区路灯的无缝覆盖。
(3)多连接:为满足大量的设备连接需求,NB-IoT 可支持每个小区 5~10
万个的连接能力,且 NB-IoT 终端数据发送速率小,对网络延时不敏感,借助于
省电模式(Power Saving Mode, PSM)和扩展不连续接收(Enhanced Discontinuous
Reception,e DRX)机制,也可以让更多的设备同时连接,满足覆盖范围内所有
路灯可靠接入的要求。
(4)低功耗:降低模块运行功耗,提供更长的待机和工作时间,对物联网
应用设备来说尤为重要。NB-IoT技术主要使用PSM和eDRX等模式,通过简化
无线协议、缩短收发时间等措施,降低终端功耗,符合城市照明节能的要求。
(5)低成本:NB-IoT 终端芯片价格低廉。NB-IoT 的低速率、低功耗、低
带宽特性给其带来了低成本的优势。
因此,NB-IoT 基于以上良好的性能特点,广泛适用于智能路灯物联网应用
场景,可满足对小区路灯智能化的需求.
1.4 本文的研究工作及论文组织结构
文中主要研究了基于 NB-IoT 技术的智能路灯监控系统。实时采集路灯所处
环境的温度、湿度、光照强度等状态信息,通过 NB-IoT 网络传输到监控中心手
机应用程序(APP)端,智能地对系统内每一盏路灯管控、监测及故障定位,并
通过软件程序对路灯监控系统的功耗进行了对比优化。论文的结构安排如下:
第1章绪论首先介绍了课题的研究背景和研究意义,然后对路灯监控系统的
国内外研究现状进行了阐述,并概述了无线通信NB-IoT 技术的特点,最后叙述
了本论文的主要研宄内容和组织结构。
第 2 章介绍了 NB-IoT 智能路灯监控系统的总体设计。首先对该系统的组网
架构进行了整体的阐述,接着分别从硬件和软件两个层面详细介绍了该系统的主
要结构设计,最后介绍了数据通信协议及应用架构的选择。
第 3 章介绍了 NB-IoT 智能路灯监控系统端到端的集成开发。首先对路灯终
端软件进行了设计与实现,之后介绍了 OceanConnect 平台的集成开发,重点详
细介绍了profile 文件、编解码插件的编写,以及数据上报、命令下发的流程,
最后是手机APP 的设计与开发。
第 4 章主要是进行了NB-IoT智能路灯监控系统的设计实现及性能测试。主
要包括路灯终端与 OceanConnect 平台的数据上传下发通信测试、联合监控中心
手机端APP 对整体系统的集成测试以及系统功耗优化测试三个部分。
第 5 章总结了本论文所做的工作,并对接下来的研究工作进行了展望。
第 2 章 NB-IoT 智能路灯监控系统方案设计2.1 系统功能需求分析
为更加方便小区人们的日常生活出行,综合考虑方便、舒适、安全和节能[37]
等实际因素,本文对智能路灯监控系统的现状需求和特点进行了分析,通过采用
广域低功耗 NB-IoT 技术,智能化、实时化地监控路灯。首先控制路灯终端的硬
件平台需要被搭建;其次是路灯终端侧网络接入、OceanConnect 平台集成软件
开发,实时分析处理路灯的状态数据信息;最后是手机APP 的设计与开发,实
时显示路灯的各个状态信息。依据该思路,本文设计的智能路灯监控系统包括如
下功能:
(1)数据采集
基于本文智能路灯监控系统的设计思路,以及对数据的需求,需在路灯终端
侧采集各传感器数据,如光照强度、温度、湿度、经纬度等信息。
(2)单灯调控
考虑到时间、路段、天气等实际条件,本文采用广域低功耗 NB-IoT 技术,
通过命令下发控制开、关灯以及单灯调控,设定了合理高效的单灯运行方案。在
保证路灯照明质量的同时,也实现了灵活的单灯调控,最终实现了路灯的“按需
照明、节能运行[38]”。
(3)状态监控
对于上传的路灯设备状态数据可以在手机APP端实时显示并存储。手机APP调用OceanConnect平台的数据查询接口(Representational State Transfer_Appl
ication,RESTful_API)进行数据提取和命令下发,实现对每一盏路灯的状态参
数实时在线监测和控制;
(4)故障路灯定位
一方面对 OceanConnect 平台生成的路灯运行设备日志进行分析,另一方面
也借助全球定位系统(Global Positioning System,GPS),从而实时、精准地定位
故障路灯,指导运维人员进行主动运维和定向维修,提高路灯智能化、精细化的
管理能力。
(5)环境监测
通过路灯上联合安置多种传感器,通过手机APP 端实时监测特定区域的环
境质量信息。
2.2 系统总体设计架构
基于NB-IoT的智能路灯监控系统经由 OceanConnect 平台,通过对路灯终端
传感器监测到的路灯状态数据进行分析,根据监测到的路灯状态信息在手机APP端来实现对路灯的远程监控、开关灯及周围环境的信息监测,达到路灯监控的进一步智能化。
图 2-1 智能路灯监控系统的组网架构图
基于NB-IoT 的智能路灯监控系统的组网架构图如图 2-1 所示,包括路灯终
端、NB-IoT网络、OceanConnect 平台和监控中心四个层次结构。
路灯终端是一种单灯控制器装置。该装置包括路灯设备(内置传感器)、主
控芯片、NB-IoT 通信模组和电源模块。它通过 NB-IoT 通信模组与无线网络进行
通信,从而采集、监测路灯状态信息及控制每盏路灯的开和关。
NB-IoT 网络由 NB-IoT 技术与核心网构成。该网络采用先进的广域低功耗
NB-IoT 技术,工作在授权频谱下,且使用端到端的电信级安全技术,保障数据
和接入方式的安全。
OceanConnect 平台是物联网管理平台。该平台包含丰富的协议,具备良好
的适配能力,允许海量的多样化路灯设备的接入,实现不同类型路灯设备及不同
监控中心的统一接入和管理,保证互联互通。
监控中心包括手机APP和服务器。经由服务器中心,通过Internet 账号登录
验证成功,管理员即可以在手机移动APP 端实现随时随地的数据信息存储和路
灯监控。
2.3 系统软硬件结构配置2.3.1 硬件总体结构
基于 NB-IoT 的智能路灯监控系统的路灯终端由主控芯片(STM32L431 RC
T6)、NB-IoT 通信模组(BC35-G)、光照传感器、温湿度传感器、GPS 传感器以
及电源模块构成,其硬件总体结构如图 2-2 所示。
图 2-2 路灯终端硬件结构图[36]
在图 2-2 的路灯终端硬件结构中,该路灯终端配备有光照传感器、温湿度传
感器和 GPS 传感器三种,它们各自的原理图如图 2-3 所示。
光照传感器采用 BH1750,如图 2-3(a)所示。BH1750 属于一种 I2C 通信
接口的数字型光强传感器,它负责采集光照的强度,可支持的光照强度变化范围
很大[39],且分辨率高达 65535 lx。
温湿度传感器采用 DHT11,如图 2-3(b)所示。DHT11 经由已校准数字信
号输出,且使用专业的温湿度传感技术和数字模块采集技术,其性价比极高。该
传感器由负温度系数(Negative Temperature Coefficient,NTC)测温元件与电阻
式测湿元件组成,连接到一个性能好、体积小的 8bit 单片机,且抗干扰强、响应快。
GPS 传感器采用 Quectel L80-R,如图 2-3(c)所示。Quectel L80-R GPS 模
块配有嵌入式贴片天线(15mm×15mm×4mm)和低噪声放大器(Low Noise
Amplifier,LNA),是一款适用于工业应用的高性能设备。它基于 MTK 定位引
擎,能够在小尺寸无引线封装中实现业界最高水平的灵敏度、精度、首次定位时
间(Time TO First Fix,TTFF)以及最低功耗。
图 2-3 中光照、温湿度、GPS传感器分别实时采集得到路灯的光照强度、温
湿度、经纬度等状态数据,经过串口,这些数据首先被主控芯片传到 NB-IoT 通
信模组,然后通过 NB-IoT 网络再传输给监控中心。同时,内置 NB-IoT 通信模
组的信号接收装置接收监控中心下发的控制道路路灯运行状态的命令。唯一的通
用身份识别 ID 被配置在每一个路灯终端内,与唯一的路灯设备相对应,监控中
心从而可以对每一个路灯进行识别,进而实现精准的单灯监控。此外,可扩展多
种其它传感器监测路灯周围的环境信息,并将其反馈给监控中心,使监控中心可
以跟据状态数据信息及时对周围环境状况进行有效监测和分析。
图 2-3 三种传感器原理图
2.3.2 路灯终端的控制模块
本文系统路灯终端的控制模块包括 NB-IoT 通信模组(BC35-G)和主控芯片
(STM32L431 RCT6)。
NB-IoT通信模组指的是将 Baseband 芯片、RF 芯片和 NB-IoT 协议栈等组合
在一块印制电路板(Printed Circuit Board,PCB)上,并且向外提供硬件管脚和
软件接口的模组。在目前 NB-IoT 通信模组的市场上,应用比较广泛的是上海
移远通信技术股份有限公司(Quectel)的 BC95 和 BC35-G 两大系列。BC35-G
系列是 BC95 系列的增强型,优化了定位、移动性、功耗、数据传输速率等模组
性能,并且增强了系统的安全性。因此,本文选用 Quectel BC35-G系列的通信
模组。
Quectel BC35-G 通信模组的性能很高、功耗较低,基于华为芯片研发,根据
NB-IoT 无线电通信协议(3GPP Rel. 14)标准,使用电信的网络运营商建立通信,
内嵌丰富的网络服务协议栈,支持B1/B3/B5/B8/B20/B28 多个频段,各个频段其
对应频率范围如表 2-1所示。BC35-G 的功能框图如图 2-4所示。BC35-G模组共
有94个引脚,其中,LCC引脚有54个,LGA引脚有40 个,图 2-5 为该模组的
所有引脚布局与接口。模组的接口功能:电源供电、串口、USIM 接口、模数转
换接口、RI 信号、网络状态指示接口。
BC35-G 通信模组的特点是低功耗、高性能。BC35-G 模块仅约一元硬币大
小,尺寸大小为 23.6mm×19.9mm×2.2mm,可以最大限度地满足终端设备对小
体积产品模块的需求,有效地减小了产品尺寸,同时也降低了产品的成本。
BC35-G 模块可以连接到海量的终端设备(每个小区可支持多达100000个用户),
采用更易于焊接的 LCC 封装,适用于低成本、自动化与规模化的现代化生产方
式,且其所采用的 SMT 贴片技术能够提高 BC35-G 的可靠性,满足不同复杂环
境下的应用需求。BC35-G 的尺寸小巧、功耗极低、工作温度范围极宽,被认为
是IoT 应用领域的理想选择,常被用于远程抄表、智慧城市、智能路灯、农业和
环境监测等领域,用以提供完善的短信和数据传输服务。
图 2-4 BC35-G 功能框图
表 2-1 频段对应频率范围
频段
上/下行
频率范围/MHz
Band 1
UL
1920-1980
DL
2110-2170
Band 3
UL
1710-1785
DL
1805-1880
Band 5
UL
824-849
DL
869-894
Band 8
UL
880-915
DL
925-960
Band 20
UL
832-862
DL
791-821
Band 28
UL
703-748
DL
758-803
图 2-5 BC35-G 模组原理图
综合考虑芯片成本、功耗、工作频率、可靠性等性能指标,本文系统的路灯
终端最终选择 STMicroelectronics 公司的低功耗 STM32L431 RCT6 基本系列。
STM32L431 RCT6 是一种超低功耗微控制器,基于高性能的 ARM Cortex-M4
32 位RISC内核,具有64KB的 SRAM与高达256KB 的Flash ROM,工作频率
高达 80MHz,运行在-40 到 85℃的温度范围内,低功耗、低成本且高可靠性。
STM32L431 RCT6 以 64 引脚的形式封装,其引脚图如图 2-6 所示。
图 2-6 STM32L431 RCT6 引脚图
图 2-7 STM32L431 RCT6 原理图
STM32L431 RCT6 的原理图如图 2-7 所示。STM32L431 RCT6 支持三种工作
模式,在不同的状态或者不同的工作时间下,它可以灵活选择相应的工作模式,
用更低的功耗来完成工作,而且也可通过编写相关功能代码来降低系统功耗。
2.3.3 物联网平台选择
本文选择的物联网平台是OceanConnect 平台。OceanConnect 平台利用物联
网、大数据等信息技术,统一连接和管理物联网设备,广泛应用于智能路灯、智
能抄表等物联网的多个领域。OceanConnect 平台支撑用户对终端设备的智能化、
精细化管理,其管理能力开放,功能特性丰富,主要的功能特性如下所示。
(1)提供不同类型设备的连接管理、适配不同网络下的接入类型和接入协
议;
(2)拥有较强的开放性和集成能力。其应用程序编程接口(Application
Programming Interface,API)的开放管理功能支持第三方应用程序;
(3)提供数据存储、转换、大数据分析、数据监控和显示功能;
(4)提供低功耗、高安全性的数据上报功能;提供低功耗的命令下发功能,
包含立即下发和缓存下发两种情况。
OceanConnect 平台提供了三个级别的全方位开放能力[41]:设备、网络和应
用程序。设备层开放功能:为不同类型的设备提供系列化的接入代理(Agent),
快速高效地将直接或间接连接的设备连接到 OceanConnect 平台;网络层开放功
能:多种网络支持被 OceanConnect 平台直接集成在系统中,通过串口访问代理,
供不同类型设备的集成开发人员所选用;应用层开放功能:OceanConnect 平台
拥有丰富的 RESTful 接口,包括身份验证、设备管理、数据采集、命令下发和消
息推送等,通过使用这些接口,应用开发人员从而可以成功连接到 OceanConnect
平台,并最终与终端设备通信。
2.3.4 通信协议的比较和选取
在本文智能路灯监控系统中,路灯终端和 OceanConnect 平台之间的数据通
信方式需要有良好的支持。在目前的多种物联网传输协议中,消息队列遥测传输
(Message Queuing Telemetry Transport ,MQTT) 和 受 限 制 的 应 用 协 议
(ConstrainedAPPlication Protocol,CoAP)两个轻量级协议的应用较为广泛。综
合比较表 2-2 MQTT 和CoAP两种物联网通信协议,根据本系统特点进行比较,
选择路灯终端和 OceanConnect 平台之间的数据通信协议采用CoAP协议。
表 2-2 两种物联网通信协议对比[42]
MQTT
CoAP
模型
高度分离的发布者/订阅者模型
异步通信模型
传输层
采用 TCP。通过保证的消息传递模式,确保可靠的消息传递,无论源节点如何
采用 UDP。较小的数据包
和更快的传输周期
消息模式、种类
发布/订阅、 允许 16 种不同类型的消息
请求/响应、 仅允许 4 种消息类型
功耗
略高
较低
长连接方式
支持
不支持
优点
协议简单、轻量级
终端的硬件配置要求低
支持消息实时通知
数据报长度的最优化
提供可靠通信
节省电量
应用场景
智慧家庭
智能路灯、智能电表、
智慧农业、智能停车
与超文本传输协议(HyperText Transfer Protocol,HTTP)类似,CoAP 是一
种应用层协议。不同的是,CoAP 是针对受限设备的需求来设计的,运行于用户
数据报协议(User Datagram Protocol,UDP)之上;HTTP 则是运行于传输控制
协议(Transmission Control Protocol,TCP)之上;而且CoAP的数据包大小远小
于HTTP的TCP 流。CoAP 协议遵循客户端/服务器(Client/Server,C/S)[43]架
构,客户端的请求与服务器的响应之间的通信不需要提前建立连接,并且允许
UDP广播和多播用于寻址。不需要建立三次握手机制就可访问互联网,协议的
最小数据包大小只有 4 Byte,可满足目前微型机之间的通信需求。CoAP 协议消
息格式[44]如图 2-8 所示。
0 2 4 8 16 24 32
Ver
T
TKL
Code
Message ID
Token
Options
0x FF
Payload
图 2-8CoAP协议消息格式
CoAP 协议的各个报文描述如下:版本 Ver:表示报文版本编号,类似于 IPv4
和 IPv6,占2位。报文类型T:占2位,CoAP 协议定了4种不同形式的报文[45],
如表 2-3 所示,这些消息类型相当于HTTP协议的 GET,POST 等。标识符长度
TKL:占 4 位,用于指示 Token 区域的具体长度。响应码 Code:在CoAP请求
报文和响应报文时,Code的表现形式不同。Code的大小为1 Byte,被分成了前
3位和后5位两个部分。报文编号 Message ID:占两个字节,采用大端格式描述,
用于客户端和服务器建立请求和响应报文之间的一一对应关系,即起报文确认作
用。标识符 Token:通过 TKL 指定 Token 长度,通常用于应用确认。报文选项
Options:根据报文选项,通过互联网,其对应 CoAP请求的主机名称、URL、
请求参数、端口号等信息均能被查找到。分隔符 0xFF,占一个字节,用于区分
CoAP 首部和具体负载。负载 Payload:该部分为真正有用的被交互的数据。CoAP
负载支持二进制、文本、xml、json 等多种不同的数据类型,但并不支持 HTML
类型。
表 2-3CoAP协议消息的类型
消息类型
消息代码
消息含义
CON
0
需要被确认的请求
NON
1
无需被确认的请求
ACK
2
用于向发送方确认
RST
3
复位消息
系统中OceanConnect 平台和监控中心之间的数据通信协议采用的是超文本
传输协议(HTTP)[46],该协议也是一种应用层通信协议,包括命令和传输信息,
遵循C/S架构,可用于互联网应用系统之间的通信,进而集成多种应用超媒体资
源的访问。
2.4 本章小结
本章主要介绍了 NB-IoT 智能路灯监控系统的整体方案设计。首先对系统的
功能需求进行了分析,并基于该需求提出了一个总的系统设计架构;在该系统总
体设计架构基础上,然后介绍了系统硬件结构的配置,主要包括硬件系统的总体
结构、主控芯片和 NB-IoT 通信模组的硬件设计及原理图;最后,介绍了软件系
统的物联网平台(OceanConnect 平台)和系统间的通信协议的选择,通过分析
和比较CoAP和 MQTT 通信协议特点,对选取的CoAP通信协议作了详细的分
析和介绍。
第 3 章 NB-IoT 智能路灯监控系统端到端的集成开发
NB-IoT 端到端的开发工作主要包括路灯终端侧开发、OceanConnect 平台集
成开发和监控中心侧手机APP 的开发三个部分。路灯终端侧开发的主要工作是
软件代码开发及网络接入调试;OceanConnect 平台集成开发则主要负责 profile
文件和编解码库的开发工作;手机APP 开发首先是设计APP 界面,然后则是调
用 OceanConnect 平台 RESTful 接口的功能代码开发。
3.1 NB-IoT 路灯终端软件设计3.1.1 路灯终端软件开发环境
NB-IoT 路灯终端使用 C 语言编写开发程序,并且在 Keil uVision5 下进行编
译和调试。Keil uVision5 窗口管理系统的灵活性很好。该系统采用的路灯终端开
发软件是 Keil MDK-ARM,它的编译器和调试工具均与 ARM 器件实现了最完美
的匹配[40]。通过Keil u Vision5 开发环境支持的硬件调试器,开发人员可以方便
地访问被调试处理器的所有外围设备,通过 STLINK-V2,还可以直接烧录下载
程序。Keil uVision5 的开发界面如图 3-1 所示。
图 3-1 Keil uVision5 开发界面
3.1.2 路灯终端软件实现
NB-IoT 路灯终端软件的实现主要完成模组初始化、参数设置、BC35-G 初始
化检查与数据收发等工作。路灯终端软件执行流程[40]如图 3-2 所示。
图 3-2 主应用程序执行流程
系统上电后,首先初始化终端模块;初始化完成后,打开 NBTool_V2 设置
并调试软件工作参数,如 IP 地址、端口号及模块频率等;参数设置完成后,检
查 BC35-G 模组的初始化状态,如网络信号、信号信息等。当检查完成后,即可
与基站进行数据传输。系统路灯终端软件参数等信息如图3-3 所示,设置波特率
为 9600 bit·s-1。
通过执行 AT(Attention)命令,路灯终端对 BC35-G 进行操控。AT 命令作
为一种接口标准,它有确定的命令格式与相应的返回值。AT 命令的命令集一般
都是以AT起始、以回车键结束,表 3-1 为本文常用的AT命令。无论AT命令能
否成功执行,都应有相应的返回值。通过发送AT指令,可以很容易地实现对
BC35-G 的控制。
图 3-3 路灯终端软件参数信息
表 3-1 常用AT命令
描述
通用指令
终端开机
AT+CFUN=0
查询软件版本
AT+CGMR
查询设备号
AT+CGSN=1
设置设备号
AT+NTSETID=1, 867725030060143
设置终端对接地址
AT+NCDP= 139.159.140.34
设置APN
AT+CGDCONT=1,"IP","ctnb"
复位
AT+NRB
开机
AT+CFUN=1
查询 SIM 卡 IMSI 号
AT+CIMI
基站连接通知
AT+CSCON=1
核心网连接通知
AT+CEREG=2
下行数据通知
AT+NNMI=1
数据发送成功通知
AT+NSMI=1
自动搜网
AT+CGATT=1
查询 UE 状态
AT+NUESTATS
查询分配 IP 地址
AT+CGPADDR
发送数据
AT+NMGS
查询发送缓存
AT+NQMGS
查询接收缓存
AT+NQMGR
3.2 OceanConnect 平台集成开发
OceanConnect 平台集成开发是本章很重要的一个部分。通过 OceanConnect
平台集成开发,可以将路灯终端、OceanConnect 平台和手机APP 三部分进行连
接,手机APP 可以显示来自路灯终端的各种传感器数据,路灯终端则可以接收
到 OceanConnect 平台和手机APP 端下发的控制命令。
3.2.1 OceanConnect 平台的对接
OceanConnect平台的对接流程如图 3-4所示,其中,编写profile文件和开
发编解码插件是最主要的两部分工作。profile文件使用json格式进行编写,它主
要用于描述设备“是什么”、“可以做什么”和“如何做”。编解码插件一方面解
码来自NB-IoT 通信模组上报的数据,另一方面则是对OceanConnect平台下发至
NB-IoT通信模组的数据进行编码。
图 3-4 OceanConnect 平台的对接流程
3.2.2 编写profile文件和开发编解码插件
在OceanConnect平台上,通过编写profile文件来描述路灯设备的类型和服
务能力,如图 3-5所示。devicetype-capability.json 程序描述的是路灯设备的能力
特征,包括厂商(manufacturerName)、型号(model)、协议类型(protocolType)、
设备类型(deviceType)以及 提供 的服 务类 型 ( serviceTypeCapabilities );
servicetype-capability.json 程序则提供了路灯设备的温度(Temperature)、湿度
(Humidity)、光照强度(light)、经度(Longitude)及纬度(Latitude)等服务类
型的具体信息。
{"devices" : [
{"manufacturerName" : "NBIOT",
{"properties" : [
{"propertyName" : "Temperature",
"dataType" : "decimal","required" : true,
"min" : " -100","max" : "100",
"step" : 0.0,"maxLe
List" : ["LED_ON","LED_OFF"]}],
"responses" : null}]
}
ngth" : 0,
"method" : "RWE","unit" : " ","enumList" : null},
{"propertyName" : "Humidity",
"dataType" : "decimal","required" : true,
"min" : "0","max" : "100",
"step" : 0.0,"maxLength" : 0,
"method" : "RWE"
℃
,"unit" : "RH%","enumList" : null},
{"propertyName" : "light",
"dataType" : "int","required" : true,
"min" : "0","max" : "65535",
"step" : 0.0,"maxLength" : 0,
"method" : "RWE","unit" : "Lux","enumList" : null},
{"propertyName" : "Latitude",
"dataType" : "decimal","required" : true,
"min" : "0","max" : "180",
"step" : 0.0,"maxLength" : 0,
"method" : "RWE","unit" : "N","enumList" : null},
{"propertyName" : "Longitude",
"dataType" : "decimal","required" : true,
"min" : "0","max" : "180",
"step" : 0.0,"maxLength" : 0,
"method" : "RWE","unit" : "E","enumList" : null},
"events" : null]
}
"manufacturerId" : "NBIOT","model" : "Light",
"protocolType" : "CoAP","deviceType" : "MultiSensor",
"omCapability" : null,
"serviceTypeCapabili
1. devicetype - capability.json:
ties" : [
{"serviceId" : "StreetLight",
"serviceType" : "StreetLight",
"option" : ""}]}]
}
{"commands" : [
{"commandName" : "Control","paras" : [
{"paraName" : "LED","dataType" : "str
2. servicetype - capability.json:
ing","required" : true,
"min" : "1","max" : "2147483646",
"step" : 0.0,"maxLength" : 3,"unit" : "null",
"enumList" : ["ON","OFF"]}],
"responses" : [{"responseName" : "cmdResponses","paras" : []}]},
{"commandName" : "LED","paras" : [
{"paraName" : "Switch","dataType" : "string","required" : true,
"min" : "1","max" : "2147483646",
"step" : 0.0,"maxLength" : 7,"unit" : "null",
"enum
图 3-5 路灯设备profile文件
然后是开发对应profile文件的编解码插件,OceanConnect 平台则负责调用
该编解码插件,将二进制消息转换为 json 格式类型,从而完成路灯终端和
OceanConnect 平台之间数据上报和命令下发的双向通信过程,实现对路灯设备
的高效和可视化管理。
3.2.3 数据上报和命令下发流程
数据上报流程如图 3-6 所示。在上行方向上,路灯设备首先是采集数据,将
数据按自定义规则进行编码,并通过串口以AT命令的形式发送已编码的数据给
NB-IoT 通信模组;NB-IoT 通信模组接收到AT命令后,自动将其封装到 CoAP
协议消息中,并发送到已配置的OceanConnect平台;OceanConnect平台收到数
据后,自动解析CoAP协议包,并根据路灯设备profile文件,查找匹配的编解码
插件,将数据解析为与路灯设备profile中匹配的 json 数据,并将其存储在
OceanConnect 平台上;最后,监控中心通过数据查询接口( RESTful)获取
OceanConnect 平台上的数据。
图3-6 数据上报流程
图 3-7 命令下发流程
命令下发流程如图 3-7 所示。在下行方向上,监控中心首先调用 RESTful 接
口向 OceanConnect 平台发送异步命令(json 数据);接着,如果 OceanConnect
平台判断路灯设备在线,命令则立即下发,若路灯设备离线,则命令将缓存下发;
然后,路灯设备在某时刻上报数据,OceanConnect 平台收到数据之后,将先在
数据库中检索是否存在对应路灯设备有效而未下发的命令,如有,则下发该命令;
最后,命令通过编解码插件进行编码,并被发送到路灯设备,路灯设备收到命令,
执行命令,并返回执行结果至 OceanConnect 平台,根据命令执行结果,
OceanConnect 平台修改对应的命令状态。
3.3 手机APP 开发
基于目前手机使用范围广、市场渗透率高和携带方便的特点,本文基于
Android平台设计开发了路灯监控系统手机APP,实时地监控每一个路灯的状态,
并能够及时作出应急处理,使路灯的管理更加智能化,且给路灯维护人员带来了
很大的方便。路灯监控系统APP 主要的功能包括:路灯使用状态信息显示和监
测、控制路灯的开和关、定位故障路灯等。
3.3.1 开发工具与开发环境的选择
本文使用集成了 Android 开发工具的谷歌 Android Studio 作为开发工具。
在开发手机APP 之前,首先需要搭建好开发环境,开发环境的参数设置如表 3-2
所示。
表 3-2 开发环境参数
项目
版本
说明
备注
操作系统
Windows 7 旗舰版
根据自己的电脑自行选择操作系统
选择自己最熟悉的操作系统
平台版本
Android7.1.1
平台版本与 SDK 版
本需对应
平台版本与 SDK 版本一一对应
软件开发工具包
AndroidSDK 25
JDK
选择最新版本的 jdk
不断更新jdk 版本
软件开发语言
Java
应用APP 常用 Java
语言开发
跨平台的一门高级编程语言
3.3.2APP 用户界面设计
Android系统拥有丰富的可视化用户界面,包括菜单、对话框按钮、下拉菜
单等组件。其中layout布局模块为该APP 界面设计所有的.xml 布局文件,Android
中的布局方式通常使用线性布局(LinearLayout)、相对布局(RelativeLayout)、
帧布局(FrameLayout)和表格布局(TableLayout)四种。在layout布局模块中,通
过LinearLayout与RelativeLayout 两种布局方式相结合,主要使用 TextView 文本
控件来设计该路灯监控系统APP,其主要界面设计实现如图 3-8 所示。
(a)用户登录界面 (b)设备信息界面
图 3-8 用户登录和设备信息界面
当用户进入路灯监控系统APP 后,如图 3-8(a)所示,首先显示一个登录
入口界面,填写系统的“服务器地址、端口号、用户名、密码”信息之后,点击
“登录”按钮进入设备状态信息选项卡界面,如图3-8(b)所示,界面显示了当
前设备的名称、状态以及当前时刻路灯终端采集的温度、湿度和光照强度等信息。
双击该设备信息界面即可看到路灯终端传感器采集上报的历史数据信息,该信息
是实时不断更新变化的。同时,通过设备信息界面 的LED_Switch1和LED_Switch2 两个按钮控件可以及时下发命令控制路灯的开和关。
3.4 本章小结
本章主要介绍了 NB-IoT 智能路灯监控系统的所有开发工作。首先是路灯终
端的开发,介绍了路灯终端软件开发环境,分析了路灯终端软件实现的具体执行
流程,包括软件参数设置、BC35-G 模组初始化和AT命令收发数据;然后介绍
了 OceanConnect 平台端的集成开发工作,分析了平台的整体对接流程,编写开
发了平台端的profile文件和编解码插件,并分别详细介绍了数据上报与命令下
发的流程;最后是监控中心手机应用APP 的设计与开发,包括开发工具、开发
环境的选择,APP 监控界面的设计与实现等。
第 4 章 NB-IoT 智能路灯监控系统的实现及测试
4.1 系统搭建
把光照、温湿度、GPS传感器等模块与主板相连,通过USB或者3.7V锂电
池给主板供电,然后采用串口调试工具QCOM,设置波特率为9600bit·s-1,将终端设备与OceanConnect平台进行绑定,测试环境如图4-1所示,其中图4-2为模拟路灯实物图。本实验基于EVB_M1开发板和传感器,测试模拟2个路灯控制终端,LED 2 为主路灯,LED 1 为辅道灯。F1、F2、F3、F4 为控制 LED 1 路灯的 4 个手动开关。
图 4-1 测试环境 图 4-2 模拟路灯实物图
4.2 数据上传下发测试
设置 LED 2 固定开灯时间为当天下午 18:00 至次日凌晨 06:30,一般通过手
动F1/F2开、F3/F4关。根据一年四季时间、路段、天气等条件,当监测的光照
强度达到阈值时,通过 OceanConnect 平台或者监控中心及时下发命令,根据“夏
季早上可适当提前关灯,冬季早上应适当延后关灯”、“主路灯亮”、“开关辅道灯”
等控制方式,在保证照明质量的前提下进行灵活的单灯节能调控,有效降低路灯
照明用电量,实现节能减排。
4.2.1 数据上传测试
在不同光照强度的环境下,路灯终端实时向 OceanConnect 平台上传数据。
依据设定好的协议,OceanConnect 平台将收到的数据解析并显示,数据上传测
试结果如图4-3 所示。图4-3中的历史数据菜单是路灯终端传感器实时上报的路
灯设备数据,该数据包括路灯设备的 Temperature,Humidity,light,Longitude
以及 Latitude 等信息。OceanConnect 平台可以存储这些数据信息,通过 RESTful
接口供监控中心手机APP 调用。
图 4-3 数据上传测试结果
4.2.2 命令下发测试
在保持与数据上传测试相同的条件下,OceanConnect 平台或者手机APP 监
控中心向路灯终端发送开灯、关灯等控制指令,完成命令的下发测试。
由于 LED2为带传感器的主路灯,LED 1 是未连接传感器的辅道灯,所以
LED1不具备数据采集和数据传输功能。因此考虑通过共享 LED 2 主路灯上传
的数据信息,通过 LED_ON/ LED_OFF 开关来对 LED 1 辅道灯做出判断控制。
命令下发测试结果如图 4-4 所示,命令显示已成功送达。从第二个大括号开
始,ON,OFF 分别代表开、关 LED 2 主路灯,LED_ON,LED_OFF 分别代表
开、关 LED 1 辅道灯。
图 4-4 命令下发测试结果
该实验首先实现了 LED 2 主路灯数据的实时上报,然后联合 LED 2 和 LED
1,有效利用数据共享的重要价值,分析主路灯 LED 2 上报的实时状态数据信息,
并及时对辅道灯 LED 1 做出控制,体现了该路灯监控系统的进一步智能化监控。
4.3APP 功能实现
通过 OceanConnect 平台的 RESTful_API 接口,使用蓝牙、WIFI 等无线通信
技术,手机APP 进行路灯终端传感器的数据提取和命令下发,完成对路灯的监
测、控制和数据的上传下发,最终实现了路灯的智能化远程监控。路灯监控系统
APP 的界面设计如图 4-5 所示,图(b)为登录界面,图(b)为路灯状态数据监
控显示界面。路灯终端的定位轨迹如图(c)所示,通过分析 OceanConnect 平台
的设备记录日志,同时借助 GPS 传感器,实现了对故障路灯的精准定位,指导
维修人员进行主动运维和定向维修,改变了以前主要依靠人工巡检、电话报修的
运维方式,实现了路灯的智能化和精细化管理.
图 4-5APP 界面显示
4.4 系统功耗测试与分析
图4-6为系统功耗测试实物场景。采用Keysight N6705 直流电源分析仪,它
是一款多功能的电源系统,既可以作为多输出直流电源,又具备示波器和数据记
录器的波形/数据捕获功能。通过在“仪表视图”中显示平均输出电压和电流,
波形显示在“示波器视图”中,从而可以对系统的功耗进行良好的测试与分析。
本论文设计与研究了智能路灯监控系统,该系统采用了低功耗 NB-IoT 技术。
但是由于在该系统的路灯终端中,采用的电路板非工板,在一定程度上增大了整
个系统的功耗。因此,除了 NB-IoT 技术自身的低功耗外,本文考虑通过软件程
序控制路灯终端主控芯片 STM32L431 RCT6 和通信模组 BC35-G 两种方式,来
进一步降低系统功耗。
图 4-6 功耗测试实物图
4.4.1 初始状态功耗测试
考虑在正常运行状态下,电压为 3.7V,设置延迟时间为 1500ms。如图 4-7
所示,读取电源分析仪上原始运行状态下的电流最大值、最小值、平均值信息,
并计算其出功率最大值、最小值和平均值,其电流和功率值记录如表 4-1 所示。
图 4-7 电源分析仪软件界面
表 4-1 电流、功率记录表
电压(V)
电流(m A)
功率(W)
最大值
3.7
189
0.70
最小值
75
0.28
平均值
101
0.38
本次实验采用了100个样本数(10s),得到100 组电流的平均值数据,根据
P=UI 功率公式,计算出其对应的平均功率值,其路灯终端功耗变化趋势如图 4-8
所示。
图 4-8 初始状态功耗变化趋势图
4.4.2 STM32L431 RCT6 功耗控制
默认情况下,单片机在系统或电源复位后处于运行模式。当CPU不需要一
直运行时(例如等待外部事件时),可以使用几种低功耗模式来节省电能。用户可
以选择在低功耗、短启动时间和可用唤醒源之间提供最佳折衷的模式。超低功耗
STM32L431 RCT6 支持 3 种低功耗模式[47-48]。
睡眠模式:在休眠模式下,只有CPU被停止,所有外设继续运行,当中断/
事件发生时,可以唤醒CPU。此模式下功耗较高。
停止模式:该模式包括 Stop 0,Stop 1,Stop 2 三种。在该种模式下,保留
SRAM1、SRAM2 和所有寄存器的内容,停止 VCORE 域中的所有时钟,禁用 PLL、
MSI、HSI16 和 HSE,LSI 和 LSE 可以继续运行,RTC 也可以保持活动状态(带
RTC 的停止模式,不带RTC 的停止模式)。在该模式下,一些具有唤醒功能的外
围设备可以通过启用 HSI16 RC 来检测它们的唤醒状态。此模式下功耗较低。
待机模式:该模式是利用欠压复位(Brown-out Reset,BOR)[48]实现最低功
耗的一种方式。关闭内部调节器使 VCORE 域关机,但 SRAM2 内容可以保留。
关闭锁相环、MSI RC、HSI16 RC 和 HSE 晶体器。RTC 可以保持活动状态(待机
模式有 RTC,待机模式没有 RTC)。BOR 在待机模式下始终保持活动状态。此模
式下功耗最低。
待机模式虽然功耗最低,相差 10 个微安,但是只有特定的唤醒脚可以唤醒,
实时性不是很好。本文选择停止模式,因为停止模式功耗较低,而且任一中断或
事件都能唤醒。采用了Stop 2停止模式,在该模式下,大部分 VCORE 域处于较
低的泄漏模式,配置为中断唤醒方式。
同理保持相同的条件,本次实验得到了100组平均功率数据。与初始状态的
功耗进行对比,如图4-9所示,实线代表Stop 2模式控制下路灯终端功耗的变化
趋势,虚线代表初始状态的功耗变化趋势,由趋势图对比显示,Stop 2 模式下的
平均功率比初始状态的更低。所以,通过利用Stop 2模式可以有效降低路灯终端
的功耗,从而更好地降低系统总的功耗。
图 4-9 两种控制方式功耗对比
4.4.3 BC35-G 功耗控制
除了控制主控芯片 STM32L431 RCT6 的低功耗模式,此外,还可以通过减
少系统时钟频率(加延迟)操作减少在运行时的功耗。
保持初始状态的相同条件,修改设置延迟时间为 3min,与初始状态的功耗
进行对比,如图 4-10 所示,实线代表增加延迟时间后路灯终端功耗的变化趋势,
虚线代表初始状态的功耗变化趋势,经对比显示,加延迟模式下的平均功率比初
始状态的更低。所以,结果表明,通过增加延迟时间方式可以有效降低路灯终端
的功耗,从而更好地降低系统总的功耗。
图 4-10 两种控制方式功耗对比
4.4.4 双控模式功耗控制
结合前边对 STM32L431 RCT6 和 BC35-G 的两种功耗控制方式,考虑双控
模式,在 Stop 2 低功耗模式下,同时减少系统时钟频率,其关键代码如图 4-11
所示。在 Stop 2 模式唤醒后,配置 PWR_STOPENTRY_WFI,即 flash 程序从中
断开始执行,节省了电能。系统原始状态延迟时间由 1500ms 增加到 180000ms
(3min),减少了在运行时的功耗。
图 4-11 双控模式关键代码
保持初始状态的相同条件,与初始状态、Stop 2 模式、加延迟等三种方式的
功耗同时进行对比,如图 4-12 所示,实线代表此双控模式下路灯终端功耗的变
化趋势,其它自上到下依次表示初始状态的功耗变化趋势、增加延迟时间后路灯
终端功耗的变化趋势、Stop 2 模式控制下路灯终端功耗的变化趋势。结果对比显
示,该双控模式下的平均功率比其它三种方式下的功率都更低。因此,通过设置
Stop 2 低功耗模式和加延迟的双控模式下可以更有效地降低路灯终端的功耗,从
而更好地降低系统总的功耗,满足低功耗良好的性能特点。
图 4-12 四种控制方式功耗对比
4.5 本章小结
本章介绍了 NB-IoT 智能路灯监控系统的功能实现和功耗测试两部分。首先
进行了实验测试系统的搭建;根据所搭建的系统,然后对系统的整体功能进行了
测试和分析,包括数据上传、命令下发测试及手机APP 远程在线监控的功能实
现;最后一部分则对于系统运行的功耗进行了测试与控制,从路灯终端主控芯片
STM32L431 RCT6 和通信模组 BC35-G 两方面,对系统进行了功耗的控制。通过
比较三种功率优化控制方式测试结果,分析得出双控模式下更能有效地降低系统
的功率,满足系统低功耗的性能优点。
第 5 章 总结与展望5.1 工作总结
路灯作为智慧城市建设中不可或缺的公共基础设施,直接反映了一个城市建
设的发展水平。传统的路灯监控系统一般大多采取线路集中控制、人力巡检、电
脑端 Web 监控等方式,在实际应用中不能实现对路灯的精准化、智能化管理。
基于 ZigBee 技术的路灯监控系统必须要部署控制路灯的网关,成本高、传输距
离短、组网难度高,且运行管理麻烦。基于 LoRa 技术的路灯监控系统,虽然解
决了传输距离受限制的问题,但时延较大,易受无线电波干扰,可靠性无法保证。
本文设计的基于 NB-IoT 的智能路灯监控系统,所提系统方案无需重新组网,
并且抗干扰性好、低功耗、低成本。通过联接 OceanConnect 平台,连接路灯终
端与监控中心,实现了实时采集路灯所处环境的温度、湿度、光照强度及经纬度
等状态信息,并通过NB-IoT 网络传输到监控中心的手机APP 端,为用户提供了
路灯工作状态的远程网络监控服务,使用户及时获悉路灯感知信息并及时部署相
关任务。通过查看路灯的温度数据,可对路灯的使用寿命进行预测;通过获得路
灯环境湿度的数据,可对路灯的灯具防护等级(Ingress Protection,IP)进行优
化设计;通过光照、GPS 传感器,可实现对路灯的实时开、关控制及故障定位。
另外多种传感器的数据采集、上报及存储,通过数据共享其路灯状态数据信息,
对其他辅路灯进行实时分析控制,更好地节约能源,同时也对周围环境的温度、
湿度、光照强度等因素进行有效在线环境质量监测。
5.2 研究展望
从整个系统的设计与测试结果来看,本文提出的基于 NB-IoT 的智能路灯监
控系统实现了小区路灯的进一步智能化管理,但是由于时间的问题,该系统还存
在较多的不足之处,后期的研究工作应该在以下几个方面做继续的深入研究。
1. 本文主要研究了光照强度值对于路灯监控系统的影响,没有联合考虑红
外线传感器、智能控制算法及智能调光等因素,考虑不够全面;
2. 除NB-IoT自身低功耗特性及软件优化系统功率外,本文所使用的硬件开
发板是已有的成品,仍对系统的功耗有较大的影响,未来的工作考虑自己设计、
开发工板,进一步降低系统的功耗;
3. 由于环境条件限制,本文仅在搭建的硬件平台上进行相关实验研究。未
来考虑在真实的小区路灯环境中,同时增加路灯的数量,并进行多次实验验证。