0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS開發(fā):【數(shù)字管家app設(shè)備接入FA】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-11 17:51 ? 次閱讀

簡介

本文檔為幫助開發(fā)者快速將設(shè)備接入到數(shù)字管家,完成FA、服務端和設(shè)備的通信,實現(xiàn)數(shù)字管家對設(shè)備的命令控制、日程管理,以及設(shè)備對數(shù)字管家的主動告警。

快速上手

流程

1. 前提參考:

鴻蒙開發(fā)文檔:[docs.qq.com/doc/DUmN4VVhBd3NxdExK]

  • IoT平臺:完成IoT平臺新設(shè)備配置;
  • 設(shè)備端:完成設(shè)備端的開發(fā)并定義好profile設(shè)備模型;
  • 服務端:搭建并配置好了服務端;
  • 數(shù)據(jù)庫:device_type表中添加好相關(guān)產(chǎn)品數(shù)據(jù);
2. 編寫設(shè)備控制頁面
  1. 在slice目錄下新建 xxxxSlice.java文件,通過 addActionRoute() 方法為此AbilitySlice配置一條路由規(guī)則,并且在在應用配置文件(config.json)中注冊, 路由配置1路由配置2
  2. 在resources->base->layout下新建對應xml布局文件,在上述兩個文件中編寫相應界面代碼。
3. 頁面邏輯與數(shù)據(jù)處理
  1. slice頁面獲取deviceId:在onStart中通過調(diào)用intent.getStringParam("deviceId") ,獲取設(shè)備標識用于對設(shè)備進行控制或者獲取設(shè)備信息
    deviceId
  2. slice頁面獲取狀態(tài):對于可以主動控制的設(shè)備,調(diào)用intent.getBooleanParam(KEY_IS_SET_COMMAND, false) ,用于判斷當前狀態(tài)下是需要執(zhí)行命令,還是通過 [EventBus]將命令數(shù)據(jù)傳出用于日程對設(shè)備的編排之中。 設(shè)備頁狀態(tài)
  3. 編寫設(shè)備控制命令的獲取和解析方法:在CommandUtil中根據(jù)具體設(shè)備profile定義,來新增獲取命令和解析命令的方法,以供設(shè)備調(diào)用sendCommand來發(fā)送命令和在日程中來解析命令。 獲取命令解析命令
  4. 配置設(shè)備相關(guān)信息:在DeviceData類的initData方法中,根據(jù)設(shè)備productId添加設(shè)備圖片資源ID、跳轉(zhuǎn)的action參數(shù)和日程解析方法,配置完成后設(shè)備列表頁、日程頁面等都能通過該配置進行圖片加載、路由跳轉(zhuǎn)和日程解析。 設(shè)備信息
  5. 以上代碼邏輯處理和實現(xiàn)可參考LampAbilitySlice.java。
4. 接口對接

? 項目使用的網(wǎng)絡(luò)請求組件為RetrofitCache,項目中服務端api定義于ApiRx2,通過OKHttpUtilsRx2來實現(xiàn)異步調(diào)用。

  1. 若使用自己部署的服務端,須做如下修改: (1) 將OKHttpUtilsRx2類中SERVER_URL變量修改為自己的服務端api地址; (2) 將DeviceStateListener類中RABBITMQ_HOST變量修改為自己的服務端地址;
  2. 初始化設(shè)備狀態(tài):通過調(diào)用getDeviceInfo接口,傳入deviceId和userId來獲取,其中UserId在登錄時會儲存于Preferences輕量級數(shù)據(jù)存儲之中。 設(shè)備狀態(tài)
  3. 設(shè)備控制命令:通過調(diào)用sendCommand接口,傳入deviceId和命令json字符串來對指定設(shè)備進行控制。
    控制

搜狗高速瀏覽器截圖20240326151450.png

如何驗證

1. 寫入NFC數(shù)據(jù)

根據(jù)設(shè)備定義好的設(shè)備profile模型,使用應用調(diào)測組助手將tlv格式數(shù)據(jù)寫入NFC NFC數(shù)據(jù)寫入章節(jié)。

2. 對設(shè)備進行碰一碰配網(wǎng)

手機靠近NFC標簽,可正常拉起數(shù)字管家,并開始無感配網(wǎng)。

無感配網(wǎng)

3. 驗證設(shè)備跳轉(zhuǎn)入口
  • 在線設(shè)備貼近設(shè)備NFC標簽碰一碰,可正常跳轉(zhuǎn)至應用;

碰一碰

  • 在首頁設(shè)備Tab和新增日程頁面的設(shè)備圖標能正確顯示設(shè)備狀態(tài),在線設(shè)備點擊圖標后可跳轉(zhuǎn)設(shè)備頁;

跳轉(zhuǎn)

4. 驗證功能
  • 新增日程:在輸入成員、設(shè)備執(zhí)行動作、執(zhí)行時間等后,日程頁面可看見新增的日程以及需執(zhí)行的動作,在到達指定時間后所有設(shè)備能夠執(zhí)行預設(shè)動作,并且相關(guān)成員手機會收到系統(tǒng)通知。

新建日程

  • 設(shè)備單點控制:進入設(shè)備控制頁面,執(zhí)行控制操作設(shè)備能有相應動作執(zhí)行。
    控制
  • 主動告警:驗證設(shè)備端能否通過AMQP通知到數(shù)字管家,例如智能垃圾桶檢測到垃圾桶已滿會通過服務端通知到相關(guān)用戶,并且能觸發(fā)鈴聲提醒和系統(tǒng)通知彈框。

告警

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2352

    瀏覽量

    42856
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1975

    瀏覽量

    30194
收藏 人收藏

    評論

    相關(guān)推薦

    HarmonyOS開發(fā)設(shè)備的鴻蒙(HarmonyOSApp

    是圓形(如智能手表),這就給開發(fā)App帶來了麻煩?,F(xiàn)在幾乎每一個智能設(shè)備廠商,如Apple、華為都面臨這個問題。這就要求我們開發(fā)App盡可
    發(fā)表于 11-02 15:18

    HarmonyOS開發(fā)設(shè)備的鴻蒙(HarmonyOSApp

    手表),這就給開發(fā)App帶來了麻煩?,F(xiàn)在幾乎每一個智能設(shè)備廠商,如Apple、華為都面臨這個問題。這就要求我們開發(fā)App盡可能適合更多的智
    發(fā)表于 11-03 16:54

    開發(fā)設(shè)備的鴻蒙(HarmonyOSApp

    的屏幕,有的是橫向的屏幕,有的帶觸摸功能,有的不帶觸摸功能,甚至有的設(shè)備的屏幕是圓形(如智能手表),這就給開發(fā)App帶來了麻煩?,F(xiàn)在幾乎每一個智能設(shè)備廠商,如Apple、華為都面臨這個
    發(fā)表于 11-13 09:38

    如何優(yōu)雅地開發(fā)HarmonyOS APP應用

    ` 本帖最后由 軟通動力HOS 于 2021-3-10 15:29 編輯 研究HarmonyOS有一段時間了,今天主要結(jié)合自己多年的項目開發(fā)經(jīng)驗和各種技術(shù)棧結(jié)合HarmonyOS APP
    發(fā)表于 03-10 15:13

    HarmonyOS時鐘FA卡片開發(fā)樣例

    HarmonyOS時鐘FA卡片開發(fā)樣例介紹
    發(fā)表于 06-19 13:54

    一文帶你讀懂OpenHarmony數(shù)字管家

    、如何貢獻到數(shù)字管家體驗完數(shù)字管家,你是否也想為數(shù)字管家添磚加瓦呢?
    發(fā)表于 11-05 16:11

    HarmonyOS微課堂】JS FA開發(fā)基礎(chǔ)

    HarmonyOS微課堂】HarmonyOS Connect應用開發(fā)基礎(chǔ)課主要是向大家講解如何利用HarmonyOS提供的開發(fā)套件
    發(fā)表于 11-15 14:37

    基于OpenHarmony和數(shù)字管家設(shè)計的全屋智能門鎖(開發(fā)流程+實操)

    。開發(fā)流程項目主要開發(fā)流程如下圖,主要包含設(shè)備端、數(shù)字管家搭建開發(fā)環(huán)境、下載源碼、修改編譯、下載
    發(fā)表于 03-24 09:31

    一文帶你讀懂數(shù)字管家

    ,共同組建不同的場景,打破硬件設(shè)備之間的壁壘,成為你工作生活的好幫手;開源的運作模式讓所有志同道合的開發(fā)者參與進來,共同開發(fā)各種智能設(shè)備,完善各種場景,讓
    發(fā)表于 03-31 16:58

    鴻蒙智聯(lián)生態(tài)產(chǎn)品《接入智慧生活App開發(fā)指導》(官方更新版)

    HarmonyOS Connect云。 ② 消費者通過智慧生活App調(diào)用云端的H5開發(fā)包,從而實現(xiàn)對設(shè)備的管理和控制。 圖2 H5開發(fā)
    發(fā)表于 04-26 15:00

    HarmonyOS APP打包運行和調(diào)試應用開發(fā)步驟

    。其中,HAP可以直接運行在真機設(shè)備或者模擬器中;APP則是用于應用上架到華為應用市場。為了確保HarmonyOS應用的完整性,HarmonyOS通過
    發(fā)表于 05-24 14:27

    基于OpenHarmony 的數(shù)字管家應用開發(fā)樣例

    開關(guān)機等;新智能設(shè)備接入參考 數(shù)字管家設(shè)備接入指南,根據(jù)文檔編寫頁面、處理相關(guān)邏輯和對接服務端接
    發(fā)表于 09-14 14:07

    數(shù)字管家設(shè)備接入FA指南教程

    簡介本文檔為幫助開發(fā)者快速將設(shè)備接入數(shù)字管家,完成FA、服務端和
    發(fā)表于 09-14 14:11

    HarmonyOS版本下如何基于JS UI框架來開發(fā)?

    HarmonyOS應用開發(fā)模型 HarmonyOS的用戶應用程序包APP由一個或多個Hap包組成。每個Hap可以包含一個或多個Ability。Ability分為兩種類型:Featur
    的頭像 發(fā)表于 07-13 09:24 ?2178次閱讀

    HarmonyOS開發(fā)實例:【數(shù)字管家app

    數(shù)字管家場景需要手機端、設(shè)備端和服務端三方協(xié)同完成,本文檔介紹的demo是數(shù)字管家大場景中的手機端應用;用戶注冊登錄后可創(chuàng)建我的家庭并管理家
    的頭像 發(fā)表于 04-11 17:20 ?371次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)</b>實例:【<b class='flag-5'>數(shù)字</b><b class='flag-5'>管家</b><b class='flag-5'>app</b>】