• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(DF創(chuàng)客社區(qū))

2019/08/13
424
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

103651mb9jyoy0ib06ilrz.jpg

共1個(gè)文件

本文首發(fā)于DF創(chuàng)客社區(qū),作者:不脫發(fā)的程序猿

【腦洞大賽】基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(項(xiàng)目簡(jiǎn)介)


項(xiàng)目背景

每當(dāng)夜幕降臨,城市中各種各樣、色彩繽紛的路燈亮起,為城市披上了一層絢麗的外衣。但在這絢麗的外表下則隱藏著巨大缺點(diǎn):

1)能源浪費(fèi):由于城市的夜晚進(jìn)入后半夜后,人們已經(jīng)開始休息,街上人流量開始減少,有些地段在特殊時(shí)段根本不需要過多的路燈照明,導(dǎo)致能源浪費(fèi),增加了不必要的成本;

2)維護(hù)困難:由于使用人工巡檢,需要大量人力,而路燈數(shù)量龐大,路燈實(shí)時(shí)狀態(tài)不能及時(shí)獲取,導(dǎo)致路燈故障維護(hù)、排查效率極低。

需求分析

路燈管理平臺(tái)的建設(shè),是智慧城市的一個(gè)重要組成部分,不僅能夠?qū)崿F(xiàn)城市及市政服務(wù)能力提升,也是智慧城市的一個(gè)重要入口,可促進(jìn)“智慧市政”和“智慧城市”在城市照明業(yè)務(wù)方面的落地。以往在路燈管理上存在著很多問題,例如路燈開關(guān)、巡查、維護(hù)基本靠人力,重點(diǎn)地段晚上需要派人巡視,以保證設(shè)備的齊備率;路燈發(fā)生故障時(shí),檢修人員無法確定路燈精確位置;管理人員對(duì)路燈無法進(jìn)行分時(shí)段控制、無法監(jiān)控路燈整體狀態(tài);路燈保持常亮狀態(tài)效率低、不節(jié)能。針對(duì)以上問題,本系統(tǒng)設(shè)計(jì)的智慧路燈監(jiān)控系統(tǒng)結(jié)構(gòu)圖如下所示:

具體功能如下:

1)路燈節(jié)點(diǎn)支持自定義控制方式,可支持自定義時(shí)間控制策略和多樣化控制(兩側(cè)路燈全亮、全關(guān)、隔桿高亮等)兩種方式。

2)根據(jù)所在環(huán)境光照強(qiáng)度,自動(dòng)調(diào)節(jié)路燈亮度,低功耗節(jié)能減排。

3)斷電保護(hù),電壓電流超過安全閾值,路燈自動(dòng)斷電。

4)路燈故障自動(dòng)報(bào)警,GPS精確定位,可從手機(jī)APP、微信小程序、PC端和Web平臺(tái)可視化監(jiān)控路燈信息,隨時(shí)可調(diào)取任何一處路燈信息。

5)實(shí)時(shí)采集路燈節(jié)點(diǎn)工作狀態(tài)、電壓、電流、功率、功率因數(shù)、耗電量、產(chǎn)生二氧化碳、頻率、環(huán)境光照度和路燈狀態(tài)數(shù)據(jù),實(shí)現(xiàn)統(tǒng)計(jì)分析和歷史查詢。

6)根據(jù)路燈節(jié)點(diǎn)歷史數(shù)據(jù),使用機(jī)器學(xué)習(xí)算法,分析路燈使用狀況,構(gòu)建精準(zhǔn)城市路燈畫像。

總之,基于NB-IoT技術(shù)的城市道路智慧路燈監(jiān)控系統(tǒng)有著廣闊的前景和寬廣的需求。

功能設(shè)計(jì)

基于NB-IoT技術(shù)的城市道路智慧路燈監(jiān)控系統(tǒng),在每個(gè)照明節(jié)點(diǎn)上安裝一個(gè)集成了NB-IoT模組的單燈控制器,單燈控制器再經(jīng)運(yùn)營(yíng)商的網(wǎng)絡(luò),與路燈控制平臺(tái)實(shí)現(xiàn)雙向通信,路燈控制平臺(tái)直接對(duì)每個(gè)燈進(jìn)行控制,包括開關(guān)燈控制、光照檢測(cè)、自動(dòng)調(diào)節(jié)明暗、電耗分析等操作。智慧路燈實(shí)物圖如下所示:

與傳統(tǒng)“兩跳”方案不同,基于NB-IoT技術(shù)的解決方案不需要網(wǎng)關(guān),每個(gè)NB-IoT路燈控制器直接接入運(yùn)營(yíng)商的NB-IoT網(wǎng)絡(luò),即可與控制平臺(tái)通信,如下圖所示。

基于NB-IoT技術(shù)的城市道路智能路燈監(jiān)控系統(tǒng)包括感知層、網(wǎng)絡(luò)層應(yīng)用層。

感知層由單獨(dú)的路燈控制模塊和NB-IoT終端構(gòu)成。道路上的每個(gè)路燈都安裝1個(gè)路燈控制模塊,路燈控制模塊管理路燈的開關(guān)、負(fù)責(zé)數(shù)據(jù)信息的采集和監(jiān)控路燈的運(yùn)行狀態(tài),它通過NB-IoT網(wǎng)絡(luò)與NB-IoT終端進(jìn)行無線通信;NB-IoT終端將路燈控制模塊采集的數(shù)據(jù)信息上傳到NB-IoT基站,將應(yīng)用層中的手機(jī)或監(jiān)控中心的管理命令下達(dá)到路燈控制模塊,對(duì)感知層的路燈進(jìn)行管理和監(jiān)控,使用AI技術(shù)賦能,構(gòu)建精準(zhǔn)城市路燈使用狀況畫像分析。網(wǎng)路層由NB-IoT基站和Internet網(wǎng)絡(luò)構(gòu)成。Internet網(wǎng)絡(luò)主要應(yīng)用4G的LTE平臺(tái),將感知層的數(shù)據(jù)信息實(shí)時(shí)地傳送到應(yīng)用層,同時(shí)將應(yīng)用層的控制命令傳送到感知層。智能路燈監(jiān)控系統(tǒng)網(wǎng)絡(luò)架構(gòu)如下圖所示。

本系統(tǒng)設(shè)計(jì)方案具有以下優(yōu)勢(shì):

1)對(duì)路燈的控制上,采用分時(shí)段的3種控制策略,可以實(shí)現(xiàn)分時(shí)間段控制道路兩側(cè)路燈全亮模式、自動(dòng)調(diào)整模式(根據(jù)環(huán)境光照強(qiáng)弱或電壓電流閾值)、終端聯(lián)控模式,在滿足照度需求的情況下,實(shí)現(xiàn)對(duì)電能的節(jié)省。

2)通信方式所采用的是中國(guó)電信的NB-IoT網(wǎng)絡(luò),拓?fù)浜?jiǎn)單、部署成本低,NB-IoT采用DRX模式,實(shí)現(xiàn)終端的實(shí)時(shí)在線,這種通信方式更適合靜止的和低移動(dòng)性且需要下發(fā)指令的場(chǎng)景。

3)利用GPS地理信息管理系統(tǒng),可以在手機(jī)APP、微信小程序PC應(yīng)用和Web平臺(tái)界面上直觀定位每個(gè)路燈的位置,便于維修人員確定故障路燈地址、及時(shí)維修。

4)高精度數(shù)據(jù)采集與通信技術(shù),可采集路燈節(jié)點(diǎn)工作狀態(tài)、電壓、電流、功率、功率因數(shù)、耗電量、產(chǎn)生二氧化碳、頻率、環(huán)境光照度和路燈狀態(tài)數(shù)據(jù),數(shù)據(jù)精度達(dá)到小數(shù)點(diǎn)后兩位。

5)智能化設(shè)計(jì),使用機(jī)器學(xué)習(xí)算法,實(shí)現(xiàn)對(duì)路燈使用狀態(tài)的分析和評(píng)估。

本項(xiàng)目目前已經(jīng)完全實(shí)現(xiàn),演示視頻如下所示:

基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(設(shè)備選型)

基于NB-IoT的智慧路燈監(jiān)管系統(tǒng)在感知層可實(shí)現(xiàn)實(shí)時(shí)采集路燈節(jié)點(diǎn)的工作狀態(tài)(亮滅狀態(tài))、電壓、電流、功率、功率因數(shù)、耗電量、產(chǎn)生二氧化碳、頻率、環(huán)境光照度、路燈亮度、路燈故障地理位置11種傳感數(shù)據(jù)信息。

路燈控制終端節(jié)點(diǎn)主要由主控制器、NB-IoT無線通信模塊、GPS模塊、光強(qiáng)檢測(cè)模塊、電能檢測(cè)模塊以及輸出控制模塊組成,路燈控制節(jié)點(diǎn)模塊硬件實(shí)物如下圖所示:

1、主控制器

主控制器選用STM32L432KC超低功耗單片機(jī)作為微控制器,NUCLEO-L432KC 開發(fā)板是首個(gè)集成一款QFN32微型封裝微控制器的Nucleo-32開發(fā)板,板載一顆STM32L432KCU6 微控制器(UFQFPN32),允許用戶直接使用ARM在線開發(fā)工具,板載Arduino Nano針腳布局可簡(jiǎn)化功能擴(kuò)展,集成的ST-Link調(diào)試器/編程器支持大容量存儲(chǔ)器和無探針調(diào)試,可以完全滿足智慧路燈節(jié)點(diǎn)數(shù)據(jù)處理的基本要求。

2、NB-IoT無線通信模塊和GPS模塊

NB-IoT通信模塊采用功耗極低的上海移遠(yuǎn)BC20通信模組,以及SIM卡座、串口電路、濾波天線、復(fù)位電路組成,由電源模塊供電。BC20支持GNSS,內(nèi)置GNSS模塊,支持GPS定位,北斗雙模定位,實(shí)現(xiàn)衛(wèi)星對(duì)路燈節(jié)點(diǎn)定位,極大方便用戶使用。本模塊接收來自主控制器的路燈實(shí)時(shí)狀態(tài)、路燈節(jié)點(diǎn)功耗傳感數(shù)據(jù)以及模塊獲取的GPS數(shù)據(jù)等信息,通過Internet將數(shù)據(jù)發(fā)送給華為IoT云平臺(tái),并接收用戶通過Intemet發(fā)送來的控制命令。

3、光照檢測(cè)模塊

光強(qiáng)檢測(cè)模塊利用光照模塊檢測(cè)外界光照強(qiáng)度,并將信號(hào)通過ADC方式傳入主控制器,根據(jù)環(huán)境光照強(qiáng)弱自動(dòng)調(diào)節(jié)路燈節(jié)點(diǎn)亮度。

4、輸出控制模塊

輸出控制模塊使用YYAC-3S 模塊,該模塊采用原裝可控硅,輸入與輸出光耦完全隔離,通過單片機(jī)IO口輸出PWM調(diào)節(jié)占空比去改變220V交流電壓從而達(dá)到調(diào)光調(diào)速調(diào)節(jié)功率等功能。

5、電能檢測(cè)模塊

電能檢測(cè)模塊采用UART接口和RS485接口,支持與PLC通信,刷新速度500MS,可讀取電壓、電流、功率、電能和頻率因數(shù)參數(shù)通過RS485或UART口輸出16進(jìn)制數(shù)據(jù)。設(shè)計(jì)有繼電器模塊,結(jié)合路燈節(jié)點(diǎn)耗能情況和閾值報(bào)警,用戶設(shè)置多種模式(分時(shí)間段控制道路兩側(cè)路燈全亮模式、自動(dòng)調(diào)整模式、隔桿亮燈模式和深夜模式)實(shí)現(xiàn)路燈智能管理。

電能檢測(cè)模塊采用UART接口和RS485接口,支持與PLC通信,刷新速度500MS,可讀取電壓、電流、功率、電能和頻率因數(shù)參數(shù)通過RS485或UART口輸出16進(jìn)制數(shù)據(jù)。模塊設(shè)計(jì)有繼電器模塊,結(jié)合路燈節(jié)點(diǎn)耗能情況和閾值報(bào)警,用戶自定義設(shè)置多種模式(例如:分時(shí)間段控制道路兩側(cè)路燈全亮模式、自動(dòng)調(diào)整模式、隔桿亮燈模式、深夜模式等)實(shí)現(xiàn)路燈智能管理。

基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(硬件開發(fā))

 本節(jié)將進(jìn)行嵌入式硬件編程開發(fā),通過電能檢測(cè)模塊實(shí)現(xiàn)實(shí)時(shí)采集路燈節(jié)點(diǎn)電壓、電流、功率、總耗電量、功率因子、路燈開關(guān)狀態(tài)、耗能產(chǎn)生二氧化碳、光照度、路燈亮度、環(huán)境光照度、GPS位置11種傳感數(shù)據(jù),通過NB-IoT模組實(shí)現(xiàn)對(duì)華為云物聯(lián)網(wǎng)平臺(tái)數(shù)據(jù)上傳及下發(fā)獲取,達(dá)到聯(lián)動(dòng)控制效果。
1、開發(fā)軟件
嵌入式硬件開發(fā)使用STM32CubeMX和Keil5實(shí)現(xiàn),STM32CubeMX搭建NUCLEO-L432KC開發(fā)板GPIO底層配置,Keil5實(shí)現(xiàn)NUCLEO-L432KC開發(fā)板編程開發(fā)。
STM32CubeMX 是 ST 意法半導(dǎo)體近幾年來大力推薦的STM32 芯片圖形化配置工具,也是配置和初始化 C 代碼生成器(STM32 configuration and initialization C code generation),也就是自動(dòng)生成開發(fā)初期關(guān)于芯片相關(guān)的一些初始化代碼。STM32CubeMX 包含了 STM32 所有系列的芯片,包含示例和樣本(Examples and demos)、中間組件(Middleware Components)、硬件抽象層(Hardwaree abstraction layer)。

STM32CubeMX簡(jiǎn)介、下載及安裝參見:https://blog.csdn.net/m0_38106923/article/details/89458297

Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。
Keil5簡(jiǎn)介、下載、安裝及破解參見:https://blog.csdn.net/m0_38106923/article/details/89492257

2、STM32CubeMX底層環(huán)境搭建

使用STM32CubeMX搭建NUCLEO-L432KC開發(fā)板GPIO底層配置,主要配置微控制器晶振、定時(shí)器、PWM接口、UART1、UART2ADC接口LED狀態(tài)指示燈接口,具體實(shí)現(xiàn)如下:

3、Keil5編寫控制模塊實(shí)現(xiàn)代碼

在Keil5開發(fā)環(huán)境中需要編寫硬件基礎(chǔ)底層配置功能、電能電耗檢測(cè)功能、GPS定位功能、環(huán)境光照檢測(cè)功能、NB-IoT模組通信功能和云端交互功能。

NB-IoT模組配置實(shí)現(xiàn)代碼可至原文查看:

更多點(diǎn)擊鏈接查看:基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(硬件開發(fā))

基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(云端部署及訓(xùn)練)

 物聯(lián)網(wǎng)平臺(tái)包括數(shù)據(jù)管理、設(shè)備管理和運(yùn)營(yíng)管理等能力,可以實(shí)現(xiàn)統(tǒng)一安全的網(wǎng)絡(luò)接入、各種終端的靈活適配、海量數(shù)據(jù)的采集分析,從而實(shí)現(xiàn)新價(jià)值的創(chuàng)造。物聯(lián)網(wǎng)平臺(tái)向各行業(yè)提供強(qiáng)大的API開放能力,支撐各行業(yè)伙伴快速實(shí)現(xiàn)各種物聯(lián)網(wǎng)業(yè)務(wù)應(yīng)用,滿足各行業(yè)客戶的個(gè)性化業(yè)務(wù)需求;同時(shí),物聯(lián)網(wǎng)平臺(tái)支持無線、有線等多種接入方式,可以實(shí)現(xiàn)海量化、多樣化的設(shè)備接入。

本系統(tǒng)采用華為的OceanConnect物聯(lián)網(wǎng)聯(lián)接管理平臺(tái),OceanConnect是華為云核心網(wǎng)推出的以IoT聯(lián)接管理平臺(tái)為核心的IoT生態(tài)圈。該平臺(tái)具有豐富的協(xié)議適配能力,支持海量多樣化終端設(shè)備接人,而且還提供數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)顯示、數(shù)據(jù)分析、歷史查詢等功能。

硬件設(shè)備接入華為云物聯(lián)網(wǎng)平臺(tái),具體操作可參見:NB-IoT使用CoAP協(xié)議接入華為IoT平臺(tái)、NB-IoT BC20模組使用LWM2M協(xié)議接入華為IoT平臺(tái)

本博文將簡(jiǎn)要介紹NB-IoT智慧路燈系統(tǒng)云端部署和機(jī)器學(xué)習(xí)訓(xùn)練模型云端搭建的實(shí)現(xiàn)過程。
1、華為云端部署
第一步:定義Profile

第二步:編解碼插件開發(fā)

第三步:設(shè)備連接后在線測(cè)調(diào),查看數(shù)據(jù)是否正確。

2、華為云端Web開發(fā)

通過拖控件方式開發(fā)獨(dú)具特色和風(fēng)格的Web應(yīng)用,這里我原配置基礎(chǔ)上增加設(shè)備狀態(tài)功能、傳感器監(jiān)控功能和規(guī)則功能三個(gè)界面。

設(shè)備狀態(tài)功能如下所示:

傳感器監(jiān)控功能如下所示:

規(guī)則功能如下所示:

3、機(jī)器學(xué)習(xí)訓(xùn)練模型云端搭建

第一步:建立項(xiàng)目工程

第二步:建立訓(xùn)練數(shù)據(jù)神經(jīng)網(wǎng)絡(luò)

第三步:建立測(cè)試數(shù)據(jù)神經(jīng)網(wǎng)絡(luò)

基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(PC應(yīng)用開發(fā))

 作為IoT云平臺(tái)的數(shù)據(jù)交互PC客戶端,對(duì)平臺(tái)的數(shù)據(jù)進(jìn)行展示,實(shí)現(xiàn)本地與遠(yuǎn)程終端的數(shù)據(jù)交互,進(jìn)而展現(xiàn)出依賴云平臺(tái)的應(yīng)用使用的具體場(chǎng)景,進(jìn)一步展現(xiàn)云品臺(tái)的優(yōu)勢(shì)。

1、項(xiàng)目結(jié)構(gòu)

整個(gè)使用常規(guī)的傳統(tǒng)的三層架構(gòu),同時(shí)引入MVVM架構(gòu)模式,屬于混合型架構(gòu)設(shè)計(jì),將各個(gè)層次之間實(shí)現(xiàn)理論解耦,提高了系統(tǒng)各個(gè)層次之間的獨(dú)立性和可拓展性。

結(jié)構(gòu)說明如下:

HandyC.HW:項(xiàng)目實(shí)際入口,表現(xiàn)層,實(shí)際用戶操作邏輯的輸入輸出部分。

HandyC.HW.ViewModels:與表現(xiàn)層與之對(duì)應(yīng)的視圖實(shí)體類部分,對(duì)用戶交互邏輯的主要實(shí)現(xiàn)處理模塊,同時(shí)在該項(xiàng)目中進(jìn)行相關(guān)數(shù)據(jù)實(shí)體和視圖實(shí)體的相互轉(zhuǎn)換工作。

HandyC.HW.Data:用于處理來自于IoT平臺(tái)的數(shù)據(jù)源,為業(yè)務(wù)層提供需求的數(shù)據(jù)結(jié)果。

HandyC.HW.Service:項(xiàng)目的實(shí)際業(yè)務(wù)邏輯處理,組織數(shù)據(jù)層提供的數(shù)據(jù)。

HandyC.HW.Tools:項(xiàng)目整體結(jié)構(gòu)中需要使用到的基礎(chǔ)輔助類集合,包括網(wǎng)絡(luò)請(qǐng)求相關(guān)類,緩存,數(shù)據(jù)序列化和反序列化,特殊數(shù)據(jù)格式處理等。

對(duì)應(yīng)測(cè)試項(xiàng)目與之對(duì)應(yīng),前綴為Test.*,此處忽略

2、系統(tǒng)組織架構(gòu)

系統(tǒng)組織架構(gòu)分為兩個(gè)大的功能模塊,平臺(tái)監(jiān)管以及數(shù)據(jù)采集兩個(gè)模塊,平臺(tái)監(jiān)管主要是對(duì)設(shè)備實(shí)時(shí)動(dòng)態(tài)進(jìn)行監(jiān)管,數(shù)據(jù)采集,處理來自IOT云平臺(tái)的歷史相關(guān)數(shù)據(jù)并展示。

3、使用技術(shù)

  • 網(wǎng)絡(luò)通信相關(guān)技術(shù)(數(shù)據(jù)接口請(qǐng)求)
  • WPF(UI框架)
  • MvvmLight(MVVM框架)
  • 依賴注入
  • 簡(jiǎn)單緩存
  • LiveCharts(圖標(biāo)框架)
  • HandyControl(WPF組件框架)
  • 非對(duì)稱雙向認(rèn)證(Https)
  • AutoMapper(DTO轉(zhuǎn)換框架)

4、開發(fā)環(huán)境與工具

  • 開發(fā)環(huán)境:Windows7 sp1、.Net Framework 4.7.2
  • 開發(fā)語言:C#
  • 開發(fā)工具:MicrosoftVisual Studio professional 2019(VS 2019)

5、功能介紹

設(shè)備管理頁面的主頁面,紅框區(qū)域內(nèi)為設(shè)備統(tǒng)計(jì),包含了對(duì)當(dāng)前設(shè)備的設(shè)備類型、設(shè)備狀態(tài)、設(shè)備的協(xié)議類型的相關(guān)統(tǒng)計(jì)信息,屬于設(shè)備總體的一個(gè)統(tǒng)計(jì)信息。設(shè)備列表中展示的是當(dāng)前的存在的設(shè)備,以卡片的方式展示出來,包括設(shè)備的名稱、設(shè)備的型號(hào)、設(shè)備的編號(hào)等預(yù)覽。

顯示設(shè)備的詳細(xì)信息。

設(shè)備的實(shí)時(shí)數(shù)據(jù)顯示頁面,能夠動(dòng)態(tài)實(shí)時(shí)請(qǐng)求道IoT平臺(tái)上的設(shè)備下發(fā)的最近歷史信息。

云平臺(tái)聯(lián)動(dòng)主頁中的卡片為一卡片一設(shè)備,點(diǎn)擊設(shè)備卡片,可以對(duì)設(shè)備進(jìn)行聯(lián)動(dòng)模式控制,可支持三種聯(lián)動(dòng)模式,終端聯(lián)控模式、自動(dòng)調(diào)光模式和分段定時(shí)模式。

默認(rèn)手動(dòng)模式,可以通過手動(dòng)直接下發(fā)指令到IoT平臺(tái),通過平臺(tái)將命令通知對(duì)應(yīng)的設(shè)備執(zhí)行,點(diǎn)擊控制按鈕進(jìn)行云平臺(tái)掛載設(shè)備的開啟和關(guān)閉。

用戶可以通過點(diǎn)擊切換至定時(shí)模式,設(shè)定時(shí)間后,將點(diǎn)擊發(fā)送定時(shí)設(shè)備,等待設(shè)定的命令發(fā)送至IoT平臺(tái)。

命令下發(fā)成功是接收到的反饋信息。

自動(dòng)模式與手動(dòng)模式的操作類似,用戶通過開啟和關(guān)閉實(shí)現(xiàn)對(duì)IoT平臺(tái)上掛載的設(shè)備的執(zhí)行模式的設(shè)定,關(guān)閉時(shí),設(shè)備默認(rèn)執(zhí)行,為上一次的模式運(yùn)行狀態(tài),開啟時(shí),變更為根據(jù)實(shí)際的自動(dòng)條件進(jìn)行自身狀態(tài)的控制。

設(shè)備歷史數(shù)據(jù)顯示頁面,主要功能為查詢功能,用于顯示從IoT平臺(tái)獲取到的當(dāng)前設(shè)備對(duì)應(yīng)的歷史記錄信息,可通過查詢條件進(jìn)行更加細(xì)致數(shù)據(jù)查找。

點(diǎn)擊每條記錄的操作列按鈕,能夠獲取到該條記錄的詳細(xì)信息。

下圖的頁面為命令歷史數(shù)據(jù)的主頁面,默認(rèn)顯示第一個(gè)設(shè)備的相關(guān)歷史數(shù)據(jù),能夠查詢到多端給設(shè)備發(fā)送的相關(guān)命令指令歷史信息。

通過點(diǎn)擊每條記錄末尾的數(shù)據(jù)明細(xì),可以查看到當(dāng)前命令記錄的具體信息。

6、核心代碼

PC端主要分為兩個(gè)部分,一個(gè)是通過https請(qǐng)求雙向認(rèn)證獲取到來自于IoT平臺(tái)提供的相關(guān)Api接口的目標(biāo)數(shù)據(jù),將數(shù)據(jù)進(jìn)行處理根據(jù)View的需求進(jìn)行相關(guān)的ViewModel處理之后展示到頁面中;一個(gè)是需要PC端與IoT平臺(tái)上的掛載設(shè)備進(jìn)行數(shù)據(jù)交互時(shí),實(shí)現(xiàn)本地命令的發(fā)送,進(jìn)而間接控制設(shè)備的數(shù)據(jù)響應(yīng)。

鑒定權(quán)限代碼至原文查看:基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(PC應(yīng)用開發(fā))

基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(手機(jī)應(yīng)用開發(fā))

通過與華為云平臺(tái)進(jìn)行數(shù)據(jù)對(duì)接及聯(lián)動(dòng)控制,為此開發(fā)智慧路燈APP控制系統(tǒng)

1、系統(tǒng)總體描述

本系統(tǒng)共分為九個(gè)模塊:系統(tǒng)導(dǎo)航、用戶登錄、掃碼綁定、設(shè)備定位、設(shè)備狀態(tài)、歷史查詢、設(shè)備控制、畫像分析和系統(tǒng)設(shè)置。每個(gè)模塊對(duì)應(yīng)其各自的功能,通過設(shè)備的定位、設(shè)備的實(shí)時(shí)狀態(tài)及設(shè)備控制能夠全方位監(jiān)控路燈的耗能量及使用情況。畫像分析也可對(duì)某地方或某用戶進(jìn)行大數(shù)據(jù)AI分析得到監(jiān)測(cè)數(shù)據(jù),并且能夠?qū)崟r(shí)向用戶推送用電情況,并為其用戶進(jìn)行合理的用電安排及方案。

2、使用技術(shù)

2.1、基礎(chǔ)技術(shù)

  • 系統(tǒng)總體使用java語言進(jìn)行開發(fā);
  • 在界面設(shè)計(jì)及展示部分使用HTML搭配CSS技術(shù)使其界面美觀大方;
  • 框架設(shè)計(jì)使用MVP模式進(jìn)行設(shè)計(jì)使其系統(tǒng)結(jié)構(gòu)清晰明了;
  • 數(shù)據(jù)對(duì)接使用HTTP和OkHttp3協(xié)議,大大降低數(shù)據(jù)處理難度;且提高了數(shù)據(jù)的完整性和實(shí)時(shí)性。

2.2、核心技術(shù)

  • 登錄界面使用視屏背景技術(shù)將登錄界面進(jìn)行高度美化;
  • 在設(shè)備定位模塊中使用第三方高德地圖SDK進(jìn)行開發(fā);
  • 在云平臺(tái)對(duì)接時(shí)使用華為云平臺(tái)相關(guān)模塊接口進(jìn)行開發(fā);
  • 使用Clendar相關(guān)類進(jìn)行日期選擇設(shè)計(jì);
  • 使用Zxing二維碼掃描分析技術(shù)進(jìn)行掃碼分析;
  • 使用Echart技術(shù)進(jìn)行數(shù)據(jù)實(shí)時(shí)顯示圖表分析;
  • 在畫像分析模塊使用AI大數(shù)據(jù)分析獲取數(shù)據(jù)實(shí)例。

2.3技術(shù)亮點(diǎn)

  • 對(duì)第三方技術(shù)的合理運(yùn)用;
  • 對(duì)MVP開發(fā)框架的組合設(shè)計(jì);
  • 對(duì)API接口的清晰掌握;
  • 對(duì)各種相關(guān)工具類的開發(fā)及調(diào)用;
  • 結(jié)合大數(shù)據(jù)AI分析進(jìn)行功能設(shè)計(jì)。

3、開發(fā)軟件

  • 系統(tǒng)環(huán)境:Windows 10
  • 開發(fā)環(huán)境:Android Studio 3.0,JDK 8.0
  • 運(yùn)行環(huán)境:Android 5.0級(jí)以上
  • 接口測(cè)試軟件:Postman 6.5版本
  • 控制軟件:Git
  • 打包發(fā)布軟件:Android Studio (Generate Signed APK)
  • 軟件簽名:iot_project.jks

4、功能概述
4.1、系統(tǒng)導(dǎo)航
首次進(jìn)入APP當(dāng)進(jìn)入導(dǎo)航界面,導(dǎo)航界面中介紹APP的Logo、簡(jiǎn)單描述、路燈模型、路燈功能分類及路燈運(yùn)行方式。

4.2、用戶登錄

用戶登錄界面使用視屏作為頁面背景,通過輸入用戶名及密碼進(jìn)行系統(tǒng)登錄。系統(tǒng)的用戶名及密碼在系統(tǒng)后臺(tái)統(tǒng)一進(jìn)行注冊(cè)。

4.3、掃碼綁定
用戶登錄成功后將自動(dòng)跳轉(zhuǎn)至掃碼界面,跳轉(zhuǎn)界面后會(huì)對(duì)該移動(dòng)設(shè)備進(jìn)行權(quán)限訪問,用戶需要同意所有權(quán)限才能正常使用該系統(tǒng)。授權(quán)后進(jìn)行二維碼掃描。此時(shí)需要對(duì)路燈上的二維碼進(jìn)行掃碼,通過掃碼得到該路燈的設(shè)備信息,從而在主界面中可查看該路燈的其他信息。

4.4、設(shè)備定位

此模塊中將對(duì)該掃描設(shè)備進(jìn)行設(shè)備定位,觀察其設(shè)備所在的具體位置,并能夠查看當(dāng)前地方的天氣環(huán)境。此處的設(shè)計(jì)也是為后來的管理方便,對(duì)每一個(gè)路燈設(shè)備能夠全方位的進(jìn)行查看。

4.5、設(shè)備狀態(tài)

此模塊將對(duì)所在設(shè)備的所有信息進(jìn)行實(shí)時(shí)查看,有電壓、電流、功率、功率因子、總耗電量、光照度、路燈開光狀態(tài)及路燈耗能所產(chǎn)生的二氧化碳量。

4.6、歷史查詢

此模塊是對(duì)該路燈所有數(shù)據(jù)的歷史查詢,通過對(duì)歷史數(shù)據(jù)的查詢可分析出該設(shè)備在本周、本月及本年的所有用電量情況。這樣就能夠合理的對(duì)路燈用電量進(jìn)行管理。

4.7、設(shè)備控制

此模塊是對(duì)路燈的遠(yuǎn)程控制,共分為三個(gè)模式分別為:終端聯(lián)控模式、分段定時(shí)模式及自動(dòng)調(diào)光模式。三種模式分別對(duì)應(yīng)三種不同的路燈控制,可遠(yuǎn)程也可自動(dòng),充分達(dá)到了用電量的控制。

4.8、畫像分析

此模塊涉及了大數(shù)據(jù)AI分析功能,將華為云機(jī)器學(xué)習(xí)服務(wù)分析的數(shù)據(jù)結(jié)果下發(fā)至該系統(tǒng),系統(tǒng)對(duì)其數(shù)據(jù)進(jìn)行圖文的可視化展示,清晰的可以查看到城市區(qū)域日常用電情況及地方用電情況(由于數(shù)據(jù)量較少,所以設(shè)計(jì)的是本人七月份的個(gè)人用電畫像)。

4.9、系統(tǒng)設(shè)置

系統(tǒng)設(shè)置功能共分為以下幾點(diǎn):系統(tǒng)設(shè)置、修改密碼、關(guān)于我們、系統(tǒng)更新及退出登錄。

5、核心代碼

數(shù)據(jù)獲取核心代碼至原文查看:基于NB-IoT的智慧路燈監(jiān)控系統(tǒng)(手機(jī)應(yīng)用開發(fā))

  • 103651mb9jyoy0ib06ilrz.jpg
    下載
    描述:STM32CubeMX底層環(huán)境搭建

相關(guān)推薦