簡介
本文檔為幫助開發者快速將設備接入到數字管家,完成FA、服務端和設備的通信,實現數字管家對設備的命令控制、日程管理,以及設備對數字管家的主動告警。
快速上手
1. 前提參考:
鴻蒙開發文檔:[docs.qq.com/doc/DUmN4VVhBd3NxdExK
]
2. 編寫設備控制頁面
- 在slice目錄下新建 xxxxSlice.java文件,通過 addActionRoute() 方法為此AbilitySlice配置一條路由規則,并且在在應用配置文件(config.json)中注冊,
- 在resources->base->layout下新建對應xml布局文件,在上述兩個文件中編寫相應界面代碼。
3. 頁面邏輯與數據處理
- slice頁面獲取deviceId:在onStart中通過調用intent.getStringParam("deviceId") ,獲取設備標識用于對設備進行控制或者獲取設備信息。
- slice頁面獲取狀態:對于可以主動控制的設備,調用intent.getBooleanParam(KEY_IS_SET_COMMAND, false) ,用于判斷當前狀態下是需要執行命令,還是通過 [EventBus]將命令數據傳出用于日程對設備的編排之中。
- 編寫設備控制命令的獲取和解析方法:在CommandUtil中根據具體設備profile定義,來新增獲取命令和解析命令的方法,以供設備調用sendCommand來發送命令和在日程中來解析命令。
- 配置設備相關信息:在DeviceData類的initData方法中,根據設備productId添加設備圖片資源ID、跳轉的action參數和日程解析方法,配置完成后設備列表頁、日程頁面等都能通過該配置進行圖片加載、路由跳轉和日程解析。
- 以上代碼邏輯處理和實現可參考LampAbilitySlice.java。
4. 接口對接
? 項目使用的網絡請求組件為RetrofitCache,項目中服務端api定義于ApiRx2,通過OKHttpUtilsRx2來實現異步調用。
- 若使用自己部署的服務端,須做如下修改: (1) 將OKHttpUtilsRx2類中SERVER_URL變量修改為自己的服務端api地址; (2) 將DeviceStateListener類中RABBITMQ_HOST變量修改為自己的服務端地址;
- 初始化設備狀態:通過調用getDeviceInfo接口,傳入deviceId和userId來獲取,其中UserId在登錄時會儲存于Preferences輕量級數據存儲之中。
- 設備控制命令:通過調用sendCommand接口,傳入deviceId和命令json字符串來對指定設備進行控制。
如何驗證
1. 寫入NFC數據
根據設備定義好的設備profile模型,使用應用調測組助手將tlv格式數據寫入NFC NFC數據寫入章節。
2. 對設備進行碰一碰配網
3. 驗證設備跳轉入口
- 在線設備貼近設備NFC標簽碰一碰,可正常跳轉至應用;
- 在首頁設備Tab和新增日程頁面的設備圖標能正確顯示設備狀態,在線設備點擊圖標后可跳轉設備頁;
4. 驗證功能
- 新增日程:在輸入成員、設備執行動作、執行時間等后,日程頁面可看見新增的日程以及需執行的動作,在到達指定時間后所有設備能夠執行預設動作,并且相關成員手機會收到系統通知。
- 設備單點控制:進入設備控制頁面,執行控制操作設備能有相應動作執行。
- 主動告警:驗證設備端能否通過AMQP通知到數字管家,例如智能垃圾桶檢測到垃圾桶已滿會通過服務端通知到相關用戶,并且能觸發鈴聲提醒和系統通知彈框。
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
57文章
2365瀏覽量
42894 -
HarmonyOS
+關注
關注
79文章
1978瀏覽量
30273
發布評論請先 登錄
相關推薦
【HarmonyOS】開發跨設備的鴻蒙(HarmonyOS) App
是圓形(如智能手表),這就給開發App帶來了麻煩。現在幾乎每一個智能設備廠商,如Apple、華為都面臨這個問題。這就要求我們開發的App盡可
發表于 11-02 15:18
【HarmonyOS】開發跨設備的鴻蒙(HarmonyOS)App
手表),這就給開發App帶來了麻煩?,F在幾乎每一個智能設備廠商,如Apple、華為都面臨這個問題。這就要求我們開發的App盡可能適合更多的智
發表于 11-03 16:54
開發跨設備的鴻蒙(HarmonyOS) App
的屏幕,有的是橫向的屏幕,有的帶觸摸功能,有的不帶觸摸功能,甚至有的設備的屏幕是圓形(如智能手表),這就給開發App帶來了麻煩?,F在幾乎每一個智能設備廠商,如Apple、華為都面臨這個
發表于 11-13 09:38
如何優雅地開發HarmonyOS APP應用
` 本帖最后由 軟通動力HOS 于 2021-3-10 15:29 編輯
研究HarmonyOS有一段時間了,今天主要結合自己多年的項目開發經驗和各種技術棧結合HarmonyOS APP
發表于 03-10 15:13
【HarmonyOS微課堂】JS FA開發基礎
【HarmonyOS微課堂】HarmonyOS Connect應用開發基礎課主要是向大家講解如何利用HarmonyOS提供的開發套件
發表于 11-15 14:37
基于OpenHarmony和數字管家設計的全屋智能門鎖(開發流程+實操)
。開發流程項目主要開發流程如下圖,主要包含設備端、數字管家搭建開發環境、下載源碼、修改編譯、下載
發表于 03-24 09:31
一文帶你讀懂數字管家
,共同組建不同的場景,打破硬件設備之間的壁壘,成為你工作生活的好幫手;開源的運作模式讓所有志同道合的開發者參與進來,共同開發各種智能設備,完善各種場景,讓
發表于 03-31 16:58
鴻蒙智聯生態產品《接入智慧生活App開發指導》(官方更新版)
至HarmonyOS Connect云。
② 消費者通過智慧生活App調用云端的H5開發包,從而實現對設備的管理和控制。
圖2 H5開發
發表于 04-26 15:00
HarmonyOS APP打包運行和調試應用開發步驟
。其中,HAP可以直接運行在真機設備或者模擬器中;APP則是用于應用上架到華為應用市場。為了確保HarmonyOS應用的完整性,HarmonyOS通過
發表于 05-24 14:27
在HarmonyOS版本下如何基于JS UI框架來開發?
的HarmonyOS應用開發模型 HarmonyOS的用戶應用程序包APP由一個或多個Hap包組成。每個Hap可以包含一個或多個Ability。Ability分為兩種類型:Featur
評論