智慧小區(qū)安全防護(hù)
1.實驗背景
隨著人類社會的不斷發(fā)展的同時达吞,環(huán)境與人口等問題日益凸顯昵观。為解決城市發(fā)展難題蜂奸,實現(xiàn)城市的可持續(xù)發(fā)展箫爷,建設(shè)智慧城市已成為當(dāng)今城市發(fā)展不可逆轉(zhuǎn)的歷史潮流嚷节。智慧城市一經(jīng)出現(xiàn)就成為人們關(guān)注的焦點。在智慧城市中虎锚,環(huán)境保護(hù)的問題尤為重要硫痰。而目前尚無一套完善的智慧城市環(huán)境監(jiān)控系統(tǒng)。
2.實驗?zāi)康?/h2>
1窜护、基于真實設(shè)備效斑,搭建軟硬件環(huán)境,接入 OneNET 平臺并實現(xiàn)設(shè)備屬性上報柱徙;
2缓屠、通過 OneNET 平臺的“設(shè)備調(diào)試”實現(xiàn)設(shè)備屬性下發(fā);
3护侮、通過 OneNET 平臺的“API 調(diào)試”實現(xiàn)設(shè)備屬性下發(fā)敌完;
4、直接基于 API 方式實現(xiàn)設(shè)備屬性下發(fā)羊初;
3.實驗步驟
真實設(shè)備接入 OneNET 平臺實現(xiàn)屬性上報
修改設(shè)備程序的 OneNET 平臺網(wǎng)絡(luò)接入配置參數(shù)
net_device.c 約 677 行處滨溉,將{wifi}、{password}替換為設(shè)備所在 Wifi 網(wǎng)絡(luò)用戶名和密碼(將{}括號一起替換)
\src\onenet.c 約 56 行處长赞,依次修改{設(shè)備密鑰}晦攒、{產(chǎn)品 id}、{設(shè)備名稱}為之前步驟中在 OneNET Studio 中所創(chuàng)建的產(chǎn)品得哆、設(shè)備相關(guān)信息脯颜,本例中設(shè)備名稱就是前步驟中創(chuàng)建的“Controller”設(shè)備,并對應(yīng)填入其設(shè)備密鑰
\application.c 約 132 行處贩据,根據(jù)之前步驟中在 OneNET Studio中所創(chuàng)建的物模型信息栋操,依次增加屬性點標(biāo)識符以及對應(yīng)需上報的設(shè)備數(shù)據(jù)變量
\cmd_callback.c 約 51 行處,根據(jù)之前步驟中在 OneNET Studio中所創(chuàng)建的物模型信息乐设,增改此處的屬性點標(biāo)識符讼庇,對應(yīng)設(shè)置需寫入生效的設(shè)備數(shù)據(jù)處理函數(shù)名,并同時實現(xiàn)該函數(shù)的聲明以及具體函數(shù)代碼近尚,完成寫入信息在本地設(shè)備上的實際生效邏輯
以蜂鳴器寫入為例蠕啄,對應(yīng)修改該變量定義段內(nèi)某行形如“{“beep”,CALLBACK_Beep},”的信息,逗號前面的字符串標(biāo)識符為"beep"歼跟,逗號后的處理方名為 CALLBACK_Beep和媳。同時在該文件頭部,增加 void CALLBACK_Beep(int value);這樣的方法聲明
編譯工程哈街,連接下載器燒寫程序到設(shè)備中
下載器的連接以及燒寫過程略留瞳。下載成功后設(shè)備重新加電针炉,等待一定時間胶征,進(jìn)入下一步
OneNET 平臺側(cè)查看設(shè)備狀態(tài)
登錄 OneNET Studio酌摇,查看“Controller”設(shè)備運(yùn)行狀態(tài)為在線
OneNET 平臺側(cè)查看設(shè)備上報數(shù)據(jù)信息
下發(fā)屬性在終端設(shè)備上執(zhí)行生效(設(shè)備調(diào)試)
通過 OneNETStudio 的設(shè)備調(diào)試方式進(jìn)行屬性下發(fā)點擊運(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)試)
進(jìn)入“API 調(diào)試”功能頁面點擊“運(yùn)維監(jiān)控”菜單下“API 調(diào)試”子菜單,并將工作頁面左列顯示的兩大類調(diào)試類別中“應(yīng)用開發(fā)類”下拉列表展開在中間一列展示的必填參數(shù)中阶剑,填寫頁面中輸入必要的參數(shù)跃巡,如下圖所示,本次任務(wù)中牧愁,填入真實接入的設(shè)備“Controller”所對應(yīng)的相關(guān)信息素邪,同時其中的 params 內(nèi)容填寫要設(shè)置的屬性標(biāo)識符以及對應(yīng)設(shè)置值,本次任務(wù)中設(shè)置蜂鳴器狀態(tài)為 true
基于 API 方式實現(xiàn)設(shè)備屬性下發(fā)
發(fā)起請求前確認(rèn)當(dāng)前真實設(shè)備已在線递宅,以蜂鳴器屬性值(beep)下發(fā)為例娘香,通過 postman 發(fā)起請求,通過平臺鑒權(quán)后办龄,該請求會下發(fā)到對應(yīng)的真實設(shè)備,打開蜂鳴器開關(guān)淋昭,蜂鳴器會按照程序里預(yù)置的邏輯進(jìn)行鳴響俐填。
基于 OneNET 云平臺的場景聯(lián)動
進(jìn)入 OneNET Studio 場景聯(lián)動管理功能
創(chuàng)建場景聯(lián)動規(guī)則
編輯場景聯(lián)動【距離安全取消告警】規(guī)則
4.實驗總結(jié)
通過此次項目的實施,能夠?qū)崿F(xiàn)對距離和蜂鳴器的實時檢測并控制蜂鳴器自動開關(guān)翔忽。雖然在這過程中無法通過屬性下發(fā)出有效的數(shù)據(jù)英融,但是通過老師的幫助,可以在實況中看到數(shù)據(jù)的改變
在創(chuàng)建產(chǎn)品時歇式,要注意距離float數(shù)據(jù)類型驶悟,步長應(yīng)當(dāng)選擇小數(shù)不能為整數(shù),否則沒有有效的距離出現(xiàn)
代碼與設(shè)備中的物理模型要一致材失,否則無有效數(shù)據(jù)
通過此次項目痕鳍,對哦呢那天平臺更熟悉,也對創(chuàng)建產(chǎn)品等注意事項更細(xì)心