簡介
本文檔為幫助開發(fā)者快速將設備接入到數(shù)字管家,完成FA、服務端和設備的通信,實現(xiàn)數(shù)字管家對設備的命令控制、日程管理,以及設備對數(shù)字管家的主動告警。
快速上手
1. 前提參考:
鴻蒙開發(fā)文檔:[docs.qq.com/doc/DUmN4VVhBd3NxdExK
]
- IoT平臺:完成IoT平臺新設備配置;
- 設備端:完成設備端的開發(fā)并定義好profile設備模型;
- 服務端:搭建并配置好了服務端;
- 數(shù)據(jù)庫:device_type表中添加好相關(guān)產(chǎn)品數(shù)據(jù);
2. 編寫設備控制頁面
- 在slice目錄下新建 xxxxSlice.java文件,通過 addActionRoute() 方法為此AbilitySlice配置一條路由規(guī)則,并且在在應用配置文件(config.json)中注冊,
- 在resources->base->layout下新建對應xml布局文件,在上述兩個文件中編寫相應界面代碼。
3. 頁面邏輯與數(shù)據(jù)處理
- slice頁面獲取deviceId:在onStart中通過調(diào)用intent.getStringParam("deviceId") ,獲取設備標識用于對設備進行控制或者獲取設備信息。
- slice頁面獲取狀態(tài):對于可以主動控制的設備,調(diào)用intent.getBooleanParam(KEY_IS_SET_COMMAND, false) ,用于判斷當前狀態(tài)下是需要執(zhí)行命令,還是通過 [EventBus]將命令數(shù)據(jù)傳出用于日程對設備的編排之中。
- 編寫設備控制命令的獲取和解析方法:在CommandUtil中根據(jù)具體設備profile定義,來新增獲取命令和解析命令的方法,以供設備調(diào)用sendCommand來發(fā)送命令和在日程中來解析命令。
- 配置設備相關(guān)信息:在DeviceData類的initData方法中,根據(jù)設備productId添加設備圖片資源ID、跳轉(zhuǎn)的action參數(shù)和日程解析方法,配置完成后設備列表頁、日程頁面等都能通過該配置進行圖片加載、路由跳轉(zhuǎn)和日程解析。
- 以上代碼邏輯處理和實現(xiàn)可參考LampAbilitySlice.java。
4. 接口對接
? 項目使用的網(wǎng)絡請求組件為RetrofitCache,項目中服務端api定義于ApiRx2,通過OKHttpUtilsRx2來實現(xiàn)異步調(diào)用。
- 若使用自己部署的服務端,須做如下修改: (1) 將OKHttpUtilsRx2類中SERVER_URL變量修改為自己的服務端api地址; (2) 將DeviceStateListener類中RABBITMQ_HOST變量修改為自己的服務端地址;
- 初始化設備狀態(tài):通過調(diào)用getDeviceInfo接口,傳入deviceId和userId來獲取,其中UserId在登錄時會儲存于Preferences輕量級數(shù)據(jù)存儲之中。
- 設備控制命令:通過調(diào)用sendCommand接口,傳入deviceId和命令json字符串來對指定設備進行控制。
如何驗證
1. 寫入NFC數(shù)據(jù)
根據(jù)設備定義好的設備profile模型,使用應用調(diào)測組助手將tlv格式數(shù)據(jù)寫入NFC NFC數(shù)據(jù)寫入章節(jié)。
2. 對設備進行碰一碰配網(wǎng)
將手機靠近NFC標簽,可正常拉起數(shù)字管家,并開始無感配網(wǎng)。
3. 驗證設備跳轉(zhuǎn)入口
- 在線設備貼近設備NFC標簽碰一碰,可正常跳轉(zhuǎn)至應用;
- 在首頁設備Tab和新增日程頁面的設備圖標能正確顯示設備狀態(tài),在線設備點擊圖標后可跳轉(zhuǎn)設備頁;
4. 驗證功能
- 新增日程:在輸入成員、設備執(zhí)行動作、執(zhí)行時間等后,日程頁面可看見新增的日程以及需執(zhí)行的動作,在到達指定時間后所有設備能夠執(zhí)行預設動作,并且相關(guān)成員手機會收到系統(tǒng)通知。
- 設備單點控制:進入設備控制頁面,執(zhí)行控制操作設備能有相應動作執(zhí)行。
- 主動告警:驗證設備端能否通過AMQP通知到數(shù)字管家,例如智能垃圾桶檢測到垃圾桶已滿會通過服務端通知到相關(guān)用戶,并且能觸發(fā)鈴聲提醒和系統(tǒng)通知彈框。
審核編輯 黃宇
-
鴻蒙
+關(guān)注
關(guān)注
59文章
2587瀏覽量
43924 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2143瀏覽量
32638
發(fā)布評論請先 登錄
【HarmonyOS】開發(fā)跨設備的鴻蒙(HarmonyOS) App
【HarmonyOS】開發(fā)跨設備的鴻蒙(HarmonyOS)App
開發(fā)跨設備的鴻蒙(HarmonyOS) App
如何優(yōu)雅地開發(fā)HarmonyOS APP應用
【HarmonyOS微課堂】JS FA開發(fā)基礎
基于OpenHarmony和數(shù)字管家設計的全屋智能門鎖(開發(fā)流程+實操)
一文帶你讀懂數(shù)字管家
鴻蒙智聯(lián)生態(tài)產(chǎn)品《接入智慧生活App開發(fā)指導》(官方更新版)
HarmonyOS APP打包運行和調(diào)試應用開發(fā)步驟
基于OpenHarmony 的數(shù)字管家應用開發(fā)樣例
在HarmonyOS版本下如何基于JS UI框架來開發(fā)?
HarmonyOS開發(fā)實例:【數(shù)字管家app】

評論