一.實(shí)訓(xùn)背景
1、智慧小區(qū)工作需求
各類小區(qū)分布在城市的各個(gè)?落,多構(gòu)成單個(gè)或多個(gè)獨(dú)立的區(qū)域,而這使得小區(qū)的管理更加復(fù)雜和多變,給小區(qū)安防帶來很?壓力,技防手段越來越成為重點(diǎn)。
2、智慧小區(qū)工作現(xiàn)狀
不同小區(qū)的環(huán)境不同,監(jiān)管盲點(diǎn)較多,且內(nèi)部結(jié)構(gòu)相對(duì)松散,往往單靠?防很難實(shí)現(xiàn)全面而有效的防范和管理,利用智慧小區(qū)安全防護(hù)系統(tǒng)對(duì)小區(qū)生活實(shí)現(xiàn)政務(wù)高效、服務(wù)便捷、生活活智能等
二、實(shí)驗(yàn)?zāi)康?br>
1、基于真實(shí)設(shè)備,搭建軟硬件環(huán)境,接入 OneNET 平臺(tái)并實(shí)現(xiàn)設(shè)備屬性上報(bào);
2、通過 OneNET 平臺(tái)的“設(shè)備調(diào)試”實(shí)現(xiàn)設(shè)備屬性下發(fā);
3、通過 OneNET 平臺(tái)的“API 調(diào)試”實(shí)現(xiàn)設(shè)備屬性下發(fā);
4、直接基于 API 方式實(shí)現(xiàn)設(shè)備屬性下發(fā);
<meta charset="utf-8">
三.實(shí)訓(xùn)步驟
真實(shí)設(shè)備接入 OneNET 平臺(tái)實(shí)現(xiàn)屬性上報(bào)
1. 基于 OneNET 物聯(lián)網(wǎng)實(shí)驗(yàn)箱搭建實(shí)訓(xùn)項(xiàng)目終端硬件平臺(tái)
根據(jù)實(shí)訓(xùn)場(chǎng)景,選取 OneNET 物聯(lián)網(wǎng)實(shí)驗(yàn)箱“核心模塊”以及“Wifi 模塊”、“蜂鳴器模塊”、 “超聲波模塊”等場(chǎng)景所需的模塊進(jìn)行搭建(建議實(shí)驗(yàn)箱背板上只插上這四個(gè)模塊,其他項(xiàng)目中已經(jīng)使用過的模塊可以取下,確保模塊數(shù)據(jù)干擾)。

2.終端設(shè)備軟件系統(tǒng)搭建
(1)運(yùn)行 Keil uVision5 應(yīng)用程序
(2)載入項(xiàng)目三終端設(shè)備側(cè)代碼工程,載入后直接全編譯工程,查看編譯結(jié)果

3. 修改設(shè)備程序的 OneNET 平臺(tái)網(wǎng)絡(luò)接入配置參數(shù)
A. 工程相對(duì)路徑\device\src\net_device.c 約 677 行處,將{wifi}、{password}替換為設(shè)備所在 Wifi 網(wǎng)絡(luò)用戶名和密碼

B.工程相對(duì)路徑\onenet\src\onenet.c 約 56 行處,依次修改{設(shè)備密鑰}、{產(chǎn)品 id}、{設(shè)備名稱}為之前步驟中在 OneNET Studio 中所創(chuàng)建的產(chǎn)品、設(shè)備相關(guān)信息

C.工程相對(duì)路徑\applications\application.c 約 132 行處,根據(jù)之前步驟中在 OneNET Studio中所創(chuàng)建的物模型信息,依次增加屬性點(diǎn)標(biāo)識(shí)符以及對(duì)應(yīng)需上報(bào)的設(shè)備數(shù)據(jù)變量

D.工程相對(duì)路徑\onenet\src\cmd_callback.c 約 51 行處,根據(jù)之前步驟中在 OneNET Studio中所創(chuàng)建的物模型信息,增改此處的屬性點(diǎn)標(biāo)識(shí)符,對(duì)應(yīng)設(shè)置需寫入生效的設(shè)備數(shù)據(jù)處理函數(shù)名,并同時(shí)實(shí)現(xiàn)該函數(shù)的聲明以及具體函數(shù)代碼,完成寫入信息在本地設(shè)備上的實(shí)際生效邏輯

4.編譯工程,連接下載器燒寫程序到設(shè)備并去OneNET 平臺(tái)側(cè)查看設(shè)備上報(bào)數(shù)據(jù)信息

<meta charset="utf-8">
下發(fā)屬性在終端設(shè)備上執(zhí)行生效(設(shè)備調(diào)試)
1. 設(shè)備端軟硬件環(huán)境準(zhǔn)備
沿用上一個(gè)實(shí)訓(xùn)任務(wù)中搭建的設(shè)備硬件系統(tǒng),以及繼續(xù)使用 Keil5 開發(fā)工具載入的項(xiàng)目三終端設(shè)備側(cè)代碼工程(該工程代碼在完成上一實(shí)訓(xùn)任務(wù)后,已經(jīng)能夠接入 OneNET 平臺(tái)并上報(bào)屬性點(diǎn)數(shù)據(jù))。將設(shè)備上電,等待 OneNET Studio 中顯示該設(shè)備處于上線狀態(tài),進(jìn)入下一實(shí)訓(xùn)步驟。
2. 通過 OneNETStudio 的設(shè)備調(diào)試方式進(jìn)行屬性下發(fā)
點(diǎn)擊運(yùn)維監(jiān)控菜單下“設(shè)備調(diào)試”子菜單,進(jìn)入 OneNET Studio 的設(shè)備調(diào)試功能頁面。選擇需要調(diào)試的產(chǎn)品、設(shè)備信息。本任務(wù)中,需要選擇之前步驟中
創(chuàng)建的產(chǎn)品,及歸屬其下的“Controller”設(shè)備。

下發(fā)屬性在終端設(shè)備上執(zhí)行生效(API 調(diào)試)
1. 設(shè)備端軟硬件環(huán)境準(zhǔn)備
沿用上一個(gè)實(shí)訓(xùn)任務(wù)中搭建的設(shè)備硬件系統(tǒng),以及繼續(xù)使用 Keil5 開發(fā)工具載入的項(xiàng)目三終端設(shè)備側(cè)
代碼工程(該工程代碼在完成上一實(shí)訓(xùn)任務(wù)后,已經(jīng)能夠接入 OneNET 平臺(tái)并上報(bào)屬性點(diǎn)數(shù)據(jù))。
將設(shè)備上電,等待 OneNET Studio 中顯示該設(shè)備處于上線狀態(tài),進(jìn)入下一實(shí)訓(xùn)步驟。
2. 進(jìn)入“API 調(diào)試”功能頁面
點(diǎn)擊“運(yùn)維監(jiān)控”菜單下“API 調(diào)試”子菜單,并將工作頁面左列顯示的兩大類調(diào)試類別中“應(yīng)用開發(fā)類”下拉列表展開

基于 API 方式實(shí)現(xiàn)設(shè)備屬性下發(fā)
1.準(zhǔn)備API 接口調(diào)試工具 Postman
2.填入?yún)?shù)(參數(shù)有請(qǐng)求方式,url)
3.確定請(qǐng)求的 Header 內(nèi)容,發(fā)起 API 請(qǐng)求,查看結(jié)果


四、總結(jié)
通過該項(xiàng)目我們實(shí)現(xiàn)了 OneNET 平臺(tái)的“設(shè)備調(diào)試”實(shí)現(xiàn)設(shè)備屬性下發(fā),OneNET 平臺(tái)的“API 調(diào)試”實(shí)現(xiàn)設(shè)備屬性下發(fā),基于 API 方式實(shí)現(xiàn)設(shè)備屬性下發(fā)實(shí)現(xiàn)數(shù)據(jù)的可視化。前期非常順利,后面遇到了些許問題,但經(jīng)過老師和同學(xué)的幫助下,都得已解決。在這個(gè)過程中,學(xué)到了排查錯(cuò)誤結(jié)果的多種方式,更加熟練的運(yùn)用postman軟件。