2022-04-13

???智慧小區(qū)安全防護(hù)系統(tǒng)——真實(shí)設(shè)備接入報告

???????????????????楊小龍

1.項目背景

隨著時代的進(jìn)步與科學(xué)技術(shù)的快速發(fā)展批钠,我們對于智慧化的生活越來越需要,而我們更需要的是安全,安全的重要性不言而喻。智能小區(qū)的建設(shè)融合了一系列現(xiàn)代化高新技術(shù)糯累,是IC卡技術(shù)逞度、通信技術(shù)悍手、計算機(jī)技術(shù)經(jīng)過深度融合與集成之后而形成的一種結(jié)果逢慌,同時也是社會發(fā)展悠轩、時代進(jìn)步、科學(xué)技術(shù)水平提升環(huán)境下的必然產(chǎn)物攻泼。智能小區(qū)使用多種高科技手段火架,達(dá)到防火、防盜忙菠、防煤氣泄漏等安全要求距潘,小區(qū)本身的安防系統(tǒng)建立采取點(diǎn)、線和面的立體防護(hù)只搁,確保做到“防患于未然”。讓智能小區(qū)里的住戶擁有居家安全感俭尖。

2.項目目標(biāo)

1氢惋、基于真實(shí)設(shè)備,搭建軟硬件環(huán)境稽犁,接入 OneNET 平臺并實(shí)現(xiàn)設(shè)備屬性上報焰望;
2、通過 OneNET 平臺的“設(shè)備調(diào)試”實(shí)現(xiàn)設(shè)備屬性下發(fā)已亥;
3熊赖、通過 OneNET 平臺的“API 調(diào)試”實(shí)現(xiàn)設(shè)備屬性下發(fā);
4虑椎、直接基于 API 方式實(shí)現(xiàn)設(shè)備屬性下發(fā)震鹉;

3.項目步驟

第一步:基于 OneNET 物聯(lián)網(wǎng)實(shí)驗箱搭建實(shí)訓(xùn)項目終端硬件平臺

在實(shí)驗箱背板上插入這四個模塊(“核心模塊”、“Wifi 模塊”捆姜、“蜂鳴器模塊”传趾、 “超
聲波模塊”)搭建場景。

QQ圖片20220413114643.jpg

第二步:在Keil5中修改項目三代碼

步驟一:

工程相對路徑\device\src\net_device.c 約 677 行處泥技,將{熱點(diǎn)名稱}浆兰、{熱點(diǎn)密碼}替換為設(shè)備所在 Wifi 網(wǎng)絡(luò)用戶名和密碼(將{}括號一起替換,下同)珊豹;

image.png

步驟二:

工程相對路徑\onenet\src\onenet.c 約 56 行處簸呈,依次修改{產(chǎn)品key}、{產(chǎn)品 id}店茶、{設(shè)備名稱}為之前步驟中在 OneNET Studio 中所創(chuàng)建的產(chǎn)品蜕便、設(shè)備相關(guān)信息,本例中設(shè)備名稱就是之前步驟中創(chuàng)建的“controller”設(shè)備忽妒,并對應(yīng)填入其設(shè)備密鑰玩裙;

image.png

步驟三:

工程相對路徑\applications\application.c 約 132 行處兼贸,增加屬性點(diǎn)標(biāo)識符以及對應(yīng)需上報的設(shè)備數(shù)據(jù)變量,如下所示吃溅;

{"beep", &beep_info.beep_status[0], TYPE_BOOL, 1},
{"distance",&Sonic_Info.sonic_distance,TYPE_FLOAT,1},
image.png

步驟四:

工程相對路徑\onenet\src\cmd_callback.c 約 51 行處溶诞,添加代碼“{“beep”,CALLBACK_Beep},”,逗號前面的字符串標(biāo)識符為"beep"决侈,逗號后的處理方法名為 CALLBACK_Beep螺垢。

image.png

步驟五:

同時在該文件頭部,增加void CALLBACK_Beep(int value);這樣的方法聲明

image.png

步驟六:

在文件適當(dāng)位置增加該方法的具體實(shí)現(xiàn)邏輯代碼:

image.png

第三步:編譯工程赖歌,連接下載器燒寫程序到設(shè)備中

下載器的連接以及燒寫過程略枉圃。下載成功后設(shè)備重新加電,等待一定時間庐冯,進(jìn)入下一步孽亲。

第四步: 在OneNET 平臺查看設(shè)備狀態(tài)

登錄 OneNET Studio,查看“controller”設(shè)備運(yùn)行狀態(tài)為在線展父。若此時設(shè)備顯示為不在線返劲,則排查前面關(guān)于網(wǎng)絡(luò)接入、OneNET 鑒權(quán)等代碼修改處是否有誤栖茉。重復(fù)步驟 3篮绿、4、5吕漂,再次檢查并修改亲配,直到本步驟查看狀態(tài)為上線。

第五步:在OneNET 平臺查看設(shè)備上報數(shù)據(jù)信息

進(jìn)入設(shè)備詳情頁面惶凝,查看屬性表格頁展示的各個數(shù)據(jù)點(diǎn)顯示的信息吼虎,重點(diǎn)關(guān)注距離(標(biāo)識符“distance”)、蜂鳴器狀態(tài)(標(biāo)識符“beep”)等屬性點(diǎn)梨睁,是否已經(jīng)有數(shù)值上報鲸睛。(下圖僅為示例參考)

屏幕截圖 2022-04-12 110430.png

第六步:通過 OneNETStudio 的設(shè)備調(diào)試方式進(jìn)行屬性下發(fā)

選擇MQTT產(chǎn)品下的 “controller” 設(shè)備,切換調(diào)試方式為 “應(yīng)用模擬器”坡贺。

image.png

勾選蜂鳴器功能點(diǎn)官辈,點(diǎn)擊true下發(fā)數(shù)值,再點(diǎn)擊頁面下方的“屬性設(shè)置”按鈕遍坟,右側(cè)調(diào)試日志展示了下發(fā)的報文拳亿,設(shè)備端也同時將該數(shù)值執(zhí)行生效(蜂鳴器開始鳴叫)。

image.png

注 1:如設(shè)備端沒有生效愿伴,需要分析上一實(shí)訓(xùn)任務(wù)中肺魁,有關(guān)屬性下發(fā)的命令執(zhí)行代碼是否正確添加。

注 2:調(diào)試日志中會有超時等響應(yīng)報文隔节,這是因為設(shè)備收到屬性下發(fā)后沒有在規(guī)定時間內(nèi)返回確認(rèn)鹅经,OneNET 平臺會認(rèn)為設(shè)備響應(yīng)超時從而給 API 請求端回復(fù)超時報文寂呛。

注 3:設(shè)備執(zhí)行屬性設(shè)置動作后,可以修改設(shè)置值為“false”瘾晃, 再次下發(fā)贷痪,使設(shè)備端生效新的值。

第七步:下發(fā)屬性在終端設(shè)備上執(zhí)行生效(API 調(diào)試)

點(diǎn)擊“運(yùn)維監(jiān)控”菜單下“API 調(diào)試”子菜單蹦误,并將工作頁面左列顯示的兩大類調(diào)試類別中“應(yīng)用開發(fā)類”下拉列表展開劫拢。往下滾動到“設(shè)備屬性設(shè)置”功能項,點(diǎn)擊使之處于選中狀態(tài)强胰,在中間一列展示的必填參數(shù)中舱沧,填寫頁面中輸入必要的參數(shù),如下圖所示偶洋,本次任務(wù)中熟吏,填入真實(shí)接入的設(shè)備“controller”所對應(yīng)的相關(guān)信息,同時其中的 params 內(nèi)容填寫要設(shè)置的屬性標(biāo)識符以及對應(yīng)設(shè)置值玄窝,本次任務(wù)中設(shè)置蜂鳴器狀態(tài)為 false分俯,文本示例參考:

{
"beep": false
}

設(shè)備端蜂鳴器收到命令關(guān)閉

屏幕截圖 2022-04-12 115742.png

第八步:基于 API 方式實(shí)現(xiàn)設(shè)備屬性下發(fā)

步驟一 使用API調(diào)試工具Postman,并填入必要參數(shù):

(1)確定設(shè)備屬性設(shè)置的請求方式為 post哆料,請求 url 為:
http://openapi.heclouds.com/application?action=SetDeviceProperty&version=1
填入到 Postman 工具上面頁面的請求 url 輸入框中,修改左側(cè)請求提交方式是 POST

image.png

(2)確定請求 body 內(nèi)容及格式吗铐,project_id东亦、product_id、device_name 等關(guān)鍵參數(shù)的值均可參考前述任務(wù)中相同的查看方式通過 OneNET Studio 頁面獲得唬渗,以鍵值對形式將上述需要設(shè)置的具體參數(shù)組裝為 body 報文內(nèi)容典阵,最終填入 Postman 工具的 Body 選項頁內(nèi)。

 {
 "project_id": "gZtv5W",
 "product_id": "I971NKjoBg",
 "device_name": "controller",
 "params": {
 "beep": true
 }
}
image.png

(3)確定請求的 Header 內(nèi)容镊逝,這里需要一個向 OneNET 平臺鑒權(quán)所需的必要信息字段壮啊,就是“authorization ”信息(注意大小寫須一致),該信息可以使用“token計算工具”生成撑蒜,生成方式如下圖:

屏幕截圖 2022-04-16 140804.png

補(bǔ)充Headers其余內(nèi)容歹啼。

image.png

步驟二 發(fā)起 API 請求,查看結(jié)果:

發(fā)起請求前確認(rèn)當(dāng)前真實(shí)設(shè)備已在線座菠,以蜂鳴器屬性值(beep)下發(fā)為例狸眼,通過postman 發(fā)起請求,通過平臺鑒權(quán)后浴滴,該請求會下發(fā)到對應(yīng)的真實(shí)設(shè)備拓萌,打開蜂鳴器開關(guān),蜂鳴器會按照程序里預(yù)置的邏輯進(jìn)行鳴響升略。

屏幕截圖 2022-04-13 104540.png

更改“beep”屬性值為false

{
 "project_id": "gZtv5W",
 "product_id": "I971NKjoBg",
 "device_name": "controller",
 "params": {
 "beep": false
 }
}

發(fā)送請求后蜂鳴器會按照程序預(yù)置的邏輯關(guān)閉鳴響

屏幕截圖 2022-04-13 104700.png

第九步:基于 OneNET 云平臺的場景聯(lián)動

步驟一 進(jìn)入 OneNET Studio 場景聯(lián)動管理功能:

進(jìn)入 OneNET Studio 控制臺頁面微王,直接在“Studio 使用概覽”中點(diǎn)擊“我的項目”下已建立的項目名進(jìn)入項目管理功能屡限。

image.png

注:如用戶沒有創(chuàng)建過有關(guān)項目,OneNET Studio 提示需先創(chuàng)建項目炕倘,可參考之前實(shí)訓(xùn)任務(wù) 1 拓展任務(wù)中有關(guān)項目管理的操作步驟完成項目創(chuàng)建钧大、設(shè)備添加等準(zhǔn)備工作后,進(jìn)入下一個實(shí)訓(xùn)環(huán)節(jié)激才。

然后直接點(diǎn)擊“場景聯(lián)動”子菜單拓型,進(jìn)入場景聯(lián)動管理功能頁面。

image.png


步驟二 創(chuàng)建場景聯(lián)動規(guī)則:

點(diǎn)擊功能頁面右側(cè)“添加規(guī)則”按鈕瘸恼,在滑出的頁面規(guī)則名稱中輸入“距離探測告警”劣挫,點(diǎn)擊“添加”按鈕完成規(guī)則創(chuàng)建。

image.png


步驟三 編輯距離探測告警的聯(lián)動規(guī)則:

點(diǎn)擊創(chuàng)建好的這條規(guī)則的操作列中“編輯規(guī)則”功能入口东帅,進(jìn)入具體編輯頁面压固,因為是初次進(jìn)入,這里展示的觸發(fā)條件以及執(zhí)行動作內(nèi)容為空靠闭,點(diǎn)擊右側(cè)的“編輯規(guī)則”按鈕帐我,
image.png

在滑出的頁面中具體編輯:
首先編輯觸發(fā)條件:
(1)執(zhí)行限制:滿足全部條件執(zhí)行
(2)觸發(fā)方式:“設(shè)備數(shù)據(jù)觸發(fā)”
(3)產(chǎn)品:之前實(shí)訓(xùn)任務(wù)中創(chuàng)建的產(chǎn)品
(4)設(shè)備:之前加入到項目里的“controller”
(5)功能:之前物模型中的“間隔距離”屬性點(diǎn)
(6)數(shù)值判斷條件:邏輯判斷選“<”,數(shù)值填入“5”

image.png

其次編輯執(zhí)行動作:
(1)動作類型:選擇“設(shè)備執(zhí)行”
(2)產(chǎn)品:之前實(shí)訓(xùn)任務(wù)中創(chuàng)建的產(chǎn)品
(3)設(shè)備:之前加入到項目里的“controller”
(4)功能:之前物模型中的“蜂鳴器”屬性點(diǎn)
(5)布爾:選擇“true - 1”
最后點(diǎn)擊“完成”按鈕愧膀,確認(rèn)本次編輯內(nèi)容拦键。



步驟四 再新增一個聯(lián)動規(guī)則,實(shí)現(xiàn)距離安全時取消告警:

參考步驟 2 描述檩淋,再新增一個聯(lián)動規(guī)則芬为,名稱可以為“距離安全取消告警”。
參考步驟 3 描述蟀悦,編輯該規(guī)則的具體條件及動作媚朦,參考如下:

編輯觸發(fā)條件:
(1)執(zhí)行限制:滿足全部條件執(zhí)行
(2)觸發(fā)方式:“設(shè)備數(shù)據(jù)觸發(fā)”
(3)產(chǎn)品:之前實(shí)訓(xùn)任務(wù)中創(chuàng)建的產(chǎn)品
(4)設(shè)備:之前加入到項目里的“controller”
(5)功能:之前物模型中的“間隔距離”屬性點(diǎn)
(6)數(shù)值判斷條件:邏輯判斷選“>”,數(shù)值填入“10”

image.png

編輯執(zhí)行動作:
(1)動作類型:選擇“設(shè)備執(zhí)行”
(2)產(chǎn)品:之前實(shí)訓(xùn)任務(wù)中創(chuàng)建的產(chǎn)品
(3)設(shè)備:之前加入到項目里的“controller”
(4)功能:之前物模型中的“蜂鳴器”屬性點(diǎn)
(5)布爾:選擇“false - 0”
最后點(diǎn)擊“完成”按鈕日戈,確認(rèn)本次編輯內(nèi)容询张。

image.png


步驟五 設(shè)備上線,觀察場景實(shí)現(xiàn)效果:

QQ圖片20220413114643.jpg

近距離遮擋超聲波模塊的距離探測器探頭浙炼,稍等一定時間后份氧,蜂鳴器模塊鳴叫,移開超聲波模塊遮擋弯屈,約 15 秒鐘后半火,蜂鳴器模塊停止鳴叫。

注:如設(shè)備未按場景聯(lián)動的規(guī)則邏輯執(zhí)行季俩,可通過規(guī)則頁面的“聯(lián)動日志查詢”tab 頁查看具體原因钮糖。響應(yīng)日志會有 Fail 的失敗日志,這是因為場景聯(lián)動觸發(fā)后,執(zhí)行的屬性下發(fā)后沒有在規(guī)定時間內(nèi)收到設(shè)備端的執(zhí)行返回確認(rèn)(該部分代碼在示例工程代碼中未實(shí)現(xiàn))店归,OneNET 平臺會認(rèn)為設(shè)備響應(yīng)超時從而判斷為失敗阎抒。

4.項目總結(jié)

在本次項目實(shí)驗中,基于真實(shí)設(shè)備接入 OneNET 平臺消痛,實(shí)現(xiàn)了通過OneNET 平臺對設(shè)備屬性下發(fā)并且還實(shí)現(xiàn)了直接基于 API 方式實(shí)現(xiàn)設(shè)備屬性下發(fā)且叁。通過拓展實(shí)訓(xùn)部分體驗了基于 OneNET 云平臺的場景聯(lián)動。經(jīng)過這次的實(shí)驗使得我對OneNET云平臺的使用更加熟練秩伞,對實(shí)驗實(shí)施的流程思路更清晰逞带。也讓我明白了OneNET云平臺還有更多的功能等著我去探索。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纱新,一起剝皮案震驚了整個濱河市展氓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脸爱,老刑警劉巖遇汞,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異簿废,居然都是意外死亡空入,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門族檬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來歪赢,“玉大人,你說我怎么就攤上這事单料」焯剩” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵看尼,是天一觀的道長。 經(jīng)常有香客問我盟步,道長藏斩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任却盘,我火速辦了婚禮狰域,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘黄橘。我一直安慰自己兆览,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布塞关。 她就那樣靜靜地躺著抬探,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上小压,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天线梗,我揣著相機(jī)與錄音,去河邊找鬼怠益。 笑死仪搔,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜻牢。 我是一名探鬼主播烤咧,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼抢呆!你這毒婦竟也來了煮嫌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤镀娶,失蹤者是張志新(化名)和其女友劉穎立膛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梯码,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宝泵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了轩娶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片儿奶。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鳄抒,靈堂內(nèi)的尸體忽然破棺而出闯捎,到底是詐尸還是另有隱情,我是刑警寧澤许溅,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布瓤鼻,位于F島的核電站,受9級特大地震影響贤重,放射性物質(zhì)發(fā)生泄漏茬祷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一并蝗、第九天 我趴在偏房一處隱蔽的房頂上張望祭犯。 院中可真熱鬧,春花似錦滚停、人聲如沸沃粗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽最盅。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間檩禾,已是汗流浹背挂签。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盼产,地道東北人饵婆。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像戏售,于是被迫代替她去往敵國和親侨核。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • ??????智慧小區(qū)安全防護(hù)系統(tǒng)項目報告 ???????????????杜海鑫 1.實(shí)驗背景 ??隨著時代的進(jìn)步與...
    遠(yuǎn)方上閱讀 414評論 0 0
  • ???智慧小區(qū)安全防護(hù)系統(tǒng)——真實(shí)設(shè)備接入報告 ???????????????????楊小龍 1.項目背景 隨著時...
    fighting_41a7閱讀 228評論 0 0
  • 智慧小區(qū)安全防護(hù)系統(tǒng)——真實(shí)設(shè)備接入實(shí)驗報告 帥全龍 1.實(shí)驗背景 隨著人類社會的不斷發(fā)展的同時灌灾,環(huán)境與人口等問題...
    一天三筐砂糖橘閱讀 199評論 0 0
  • 一搓译、實(shí)驗背景 1、智慧小區(qū)工作需求 各類小區(qū)分布在城市的各個角落锋喜,多構(gòu)成單個或多個獨(dú)立的區(qū)域些己,而這使得小區(qū)的管理更...
    Dalala閱讀 1,004評論 0 0
  • 基于真實(shí)設(shè)備接入 OneNET 平臺實(shí)訓(xùn)報告 鐘梓航 一.項目背景 蜂鳴器根據(jù)距離監(jiān)測報警 二.項目目標(biāo) 1、基于...
    草莓QQ糖閱讀 205評論 0 0