自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HarmonyOS Connect設(shè)備開發(fā)之碰一碰系列分享總貼

系統(tǒng) OpenHarmony
本篇解讀碰一碰個人體驗(yàn)版,介紹如何實(shí)現(xiàn)自定義設(shè)備UI、碰一碰拉起服務(wù)卡片、設(shè)備配網(wǎng)、消息下發(fā)及設(shè)備控制。

??想了解更多關(guān)于開源的內(nèi)容,請?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

一、 說明

在宿舍全屋智能開發(fā)過程中淺嘗數(shù)字管家,意猶未盡。一方面是沒寫過APP,連門鎖的UI都是套用臺燈的;另外,如果想添加自己的設(shè)備還需要遵循profile,然后在服務(wù)器配置,重點(diǎn)是不知道服務(wù)器啥時候罷工;最后,宿舍不全是運(yùn)行HarmonyOS的設(shè)備,門鎖等設(shè)備不能實(shí)現(xiàn)服務(wù)全宿舍,這不夠!

經(jīng)過反復(fù)研讀官方給出的??碰一碰個人體驗(yàn)版??之后,找出了一條可行技術(shù)路線——開發(fā)自己的HarmonyOS Connect設(shè)備。

【HarmonyOS Connect設(shè)備開發(fā)-個人】 將系列解讀碰一碰個人體驗(yàn)版,介紹如何實(shí)現(xiàn)自定義設(shè)備UI、碰一碰拉起服務(wù)卡片、設(shè)備配網(wǎng)、消息下發(fā)及設(shè)備控制。

圖1 開發(fā)流程總結(jié)

話不多說,先上demo:

圖2-MRobot

圖3-SmartFan

圖2是不久前折騰好幾宿做出來的機(jī)器人。當(dāng)然,為了突出教程核心,我將介紹如何開發(fā)自己的智能風(fēng)扇圖3所示。一通百通,大家完全可以設(shè)計(jì)更多有趣的作品。

涉及軟硬件如下:

接下來默認(rèn)已準(zhǔn)備好上述軟硬件;設(shè)備開發(fā)實(shí)測OpenHarmony 1.1.0 源碼支持在Windows一站式開發(fā),按照官方教程配置好工具鏈即可。

二、 運(yùn)行個人體驗(yàn)版

第一天,我將按照官方教程,新建OneHop模板工程,源碼燒錄設(shè)備,運(yùn)行測試,了解工作流程。

1、 新建模板工程-拉起服務(wù)

基于OneHop Template新建工程,按照官方教程??原子化服務(wù)??即可完成。

接下來就是AGC平臺簽名、真機(jī)運(yùn)行,需要注意的是在真機(jī)運(yùn)行時需要選擇多個hap包安裝。

真機(jī)上運(yùn)行APP后,如何使用NFC拉起服務(wù)呢? 需要在平臺華為開發(fā)門戶配置關(guān)聯(lián)意圖。細(xì)分兩步:申請ProductID【順便把它寫入nfc標(biāo)簽中去】、配置服務(wù)。如下圖:

接下來測試碰一碰拉起:

有沒有發(fā)現(xiàn),目前為止我們并沒有開發(fā)設(shè)備,就能實(shí)現(xiàn)碰一碰拉起了。這里應(yīng)該更能體會到碰一碰實(shí)質(zhì)上依靠后臺的服務(wù),綁定服務(wù)意圖后,nfc只是一個觸發(fā)。

2、 設(shè)備側(cè)開發(fā)

細(xì)分以下幾點(diǎn):

打開源碼后,需要修改幾個地方:

①將Hi3861開發(fā)板Demo代碼中的“hals”和“winder”目錄拷貝至源碼工程中的applications/sample/wifi-iot/app/目錄下:

②修改device/hisilicon/hispark_pegasus/hi3861_adapter/hals/communication/wifi_lite/wifiservice/source/wifi_device.c文件,將HiWifiWpaEventCb函數(shù)中如下兩處代碼進(jìn)行注釋。

③打開device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk文件,找到CONFIG_I2C_SUPPORT is not set,取消注釋,并將其修改為CONFIG_I2C_SUPPORT=y。

④修改applications/sample/wifi-iot/app/BUILD.gn文件,將features字段中的startup修改為winder,并添加winder模塊的索引deps,配置示例如下所示。

⑤修改vendor/hisilicon/hispark_pegasus/config.json文件,將test子系統(tǒng)內(nèi)容及其上方逗號刪除。

⑥【可選】修改oled、溫濕度初始化,讓其默認(rèn)成功【以下操作是針對只有一個hi3861模組也想體驗(yàn)碰一碰, 因?yàn)樵创a要求連接oled、溫濕度傳感器,不接會導(dǎo)致初始化時不通過,就不會執(zhí)行配網(wǎng)。】

編譯燒錄 基礎(chǔ)操做,視頻有展示,不多介紹。

燒錄成功復(fù)位后,hi3861串口0會輸出如下提示信息,說明一切正常:

3、 體驗(yàn)案例-控制風(fēng)扇

拿起手機(jī)碰一碰寫入ProductID的NFC標(biāo)簽,正常會拉起設(shè)備界面,然后配網(wǎng),順利進(jìn)入控制界面。點(diǎn)擊相應(yīng)的按鈕,在設(shè)備端會接收到相應(yīng)數(shù)據(jù)。

4、開發(fā)解讀

可以看出,HarmonyOS Connect設(shè)備開發(fā)主要分南北兩大塊。

  • 先看北向的代碼框架。

APP分為兩個模塊,一是配網(wǎng)原子化服務(wù),模板基于JS編寫;二是控制原子化服務(wù),依賴java實(shí)現(xiàn)。每個模塊官方給出了詳細(xì)的參考??設(shè)備配網(wǎng)原子化服務(wù)開發(fā)指導(dǎo)書、設(shè)備控制原子化服務(wù)開發(fā)指導(dǎo)書??。

這里梳理出南北向開發(fā)流程,如下:

原子化app源碼框架:

設(shè)備源碼框架:

查看template模板工程可知,設(shè)備控制UI交互邏輯依賴于JAVA,同時模板是基于預(yù)先設(shè)置的UI控件開發(fā)的頁面,配好相應(yīng)的json文件即可使用。但是這對自由開發(fā)UI來說局限性太大,由此下一步將拋除該束縛,去JAVA化,使用JS接口發(fā)送數(shù)據(jù)。

三、 幾點(diǎn)說明

在此之前我并沒有太多app開發(fā)經(jīng)驗(yàn),尤其是前端開發(fā)從未涉及,所以分享將以實(shí)現(xiàn)功能為主,不注重優(yōu)化;

如果你和我一樣第一次寫鴻蒙APP,那么恭喜你選擇了一個門檻極低的開發(fā)平臺,原因有三:

①鴻蒙app提供豐富API,基于ArkUI框架開發(fā)和畫畫類似。

②JS入門并不難,花幾個小時看看基礎(chǔ)即可。

③再不濟(jì)還有可視化UI開發(fā)(北向淺嘗,極力推薦)。

??想了解更多關(guān)于開源的內(nèi)容,請?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-05-19 15:47:24

碰一碰連接設(shè)備開發(fā)鴻蒙

2021-12-28 16:10:20

鴻蒙HarmonyOS應(yīng)用

2022-01-17 14:51:20

鴻蒙HarmonyOS應(yīng)用

2021-07-15 09:39:06

鴻蒙HarmonyOS應(yīng)用

2022-12-23 20:46:37

遙控器應(yīng)用鴻蒙

2021-04-27 13:58:03

數(shù)字人民幣數(shù)字貨幣區(qū)塊鏈

2021-02-23 19:24:51

數(shù)字人民幣碰一碰支付

2023-02-03 16:31:33

2021-03-20 22:11:16

數(shù)字人民幣數(shù)字貨幣區(qū)塊鏈
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號