吴忠躺衫网络科技有限公司

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

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

3天內不再提示

HarmonyOS碰一碰基本功能如何實現

OpenHarmony技術社區 ? 來源:HarmonyOS技術社區 ? 作者:HarmonyOS技術社區 ? 2022-01-04 14:58 ? 次閱讀

碰一碰簡單來說就是,使用 NFC 拉起配網 FA,入網之后,使用控制 FA 進行設備控制。

總結下來開發碰一碰能力需要 3 部分:

設備端:安裝碰一碰固件程序。

手機端:可以使用原子化服務配網模板、控制模板。

NFC 標簽存放設備端信息。用原子化服務的包名→生成 Product ID,用于拉起 FA。

接下來參考官方 demo 和 OneHop 模板來體驗下碰一碰的流程。

設備端

①源碼下載

硬件需要 Hi3861,OpenHarmony 版本需要 1.1.0,可以 repo 拉取。

repoinit-uhttps://gitee.com/openharmony/manifest.git-brefs/tags/OpenHarmony_release_v1.1.0--no-repo-verify
reposync-c

關于 Ubuntu 編譯環境搭建可以參考軟通動力大佬的帖子,寫的特別詳細:

https://harmonyos.51cto.com/posts/9453

首先要完成官方鏡像的拉取和編譯,成功之后在嘗試安裝 OneHop 設備端代碼,設備端代碼獲取鏈接:

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/team_x/demo_winder

OneHop 設備端固件代碼,只需要 hals 和 winder 兩個文件夾,為了方便大家下載,我在文末上傳了這兩個文件夾。這兩個文件夾需要拷貝到 applications/sample/wifi-iot/app/ 目錄下。

②源碼修改

修改文件:

device/hisilicon/hispark_pegasus/hi3861_adapter/hals/communication/wifi_lite/wifiservice/source/wifi_device.c

代碼如下:

staticvoidHiWifiWpaEventCb(consthi_wifi_event*hisiEvent)
{
if(hisiEvent==NULL){
return;
}
/*注釋此處
if(LockWifiEventLock()!=WIFI_SUCCESS){
return;
}
*/
for(inti=0;i

設備端使用到了 I2C 的屏幕,所以需要在 make 的 config 文件中開啟 I2C 的支持。 具體操作如下:

打開下面文件,注意取消前面的#號:

device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk

-#CONFIG_I2C_SUPPORTisnotset
+CONFIG_I2C_SUPPORT=y

為了方便調試需要關閉 test 子系統,在 vendorhisiliconhispark_pegasusconfig.json 文件中,刪除下面代碼,注意逗號。

,
{
"subsystem":"test",
"components":[
{"component":"xts_acts","features":[]},
{"component":"xts_tools","features":[]}
]
}

最后將 app 添加到編譯框架,在 applications/sample/wifi-iot/app/BUILD.gn 文件,將 features 字段中的 startup 修改為 winder,并添加 winder 模塊的索引 deps。

import("http://build/lite/config/component/lite_component.gni")

lite_component("app"){
#將startup修改為winder
features=[
"winder",
]
#添加winder模塊的索引deps
deps=["http://applications/sample/wifi-iot/app/hals:hi3861_hals"]
}

③構建編譯

1.1.0 的構建使用的是 hb 命令,方式如下:

hbset#設置編譯路徑
.#選擇當前路徑
#hisilicon#選擇編譯的目標類型
>wifiiot_hispark_pegasus
ipcamera_hispark_aries
ipcamera_hispark_taurus

hbbuild-bdebug#執行編譯

燒錄推薦使用 HiBurn,簡單高效,一張圖就明白了。

4f49f934-5dcf-11ec-b2e9-dac502259ad0.png

4fa96f68-5dcf-11ec-b2e9-dac502259ad0.png

最后燒錄完成提示:

ExecutionSuccessful

手機端

①編輯模板

手機端就簡單了,安裝DevEco Studio 3.0 Beta1及以上版本,然后 IDE 自帶 OneHop 的模板。

https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta

4ffa2246-5dcf-11ec-b2e9-dac502259ad0.png

②獲取證書

源碼不怎么需要修改,但是在真機上運行程序,需要在線獲取簽名證書。基本流程就是在AppGallery Connect注冊項目和應用,然后用 IDE 軟件自動獲取。

https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/myProject

需要注意的是網站注冊時的包名要和 src/main/config.json 中"bundleName"保持一致不然是獲取不到的。

這部分出問題參考官方文檔吧,文檔很詳細:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section837891802519

再就是為了方便調試可以先關閉免安裝功能(在 src/main/config.json 中,將"installationFree"設置為 false)這樣桌面會生成應用圖標,無需 NFC 貼紙,打開圖標一樣可以實現設備配網、控制。

"installationFree":false

③測試 APP

到這里可以先打開桌面的 app 測試下配網功能,這里有坑,目前示例的穩定性很差,配網大概率會失敗。

先關閉手機 wifi 再打開,然后 Hi3861 上電,再然后開啟配網 app 可以提高成功率。

正常情況下配網成功就會自動拉起控制 FA,控制 FA 需要在 DevEco Studio 菜單欄 Run→Edit Configurations。

勾選 entry 模塊下的“Deploy Multi Hap Packages”選項,這樣項目中的多個模塊都能添加到手機端。

如果這樣配網完成還是不能自動拉起控制 FA,那么檢查下 default/pages/netconfig/netconfig.js,檢查下這個函數參數是否正確。

lettarget={
bundleName:'com.liangzili.myonehop.hmservice',
abilityName:'com.liangzili.myonehop.ControlMainAbility',
deviceType:1,
data:{

session_id:getApp(this).ConfigParams.deviceInfo.sessionId,
product_id:getApp(this).Product.productId,
product_name:getApp(this).Product.productName
}
}
FeatureAbility.startAbility(target);

NFC 標簽

標簽的作用類似新建一個快捷方式,然后把快捷方式貼到設備上,手機碰一下打開這個快捷方式就可以自動下載配網 FA 和控制 FA,只要 app 體積在 10M 以內,這些操作用戶是感受不到的。接下來就說說這個標簽的制作方法。

①制作貼紙

首先當然是需要購買一些 NFC 貼紙,我使用的是下圖這一種。

給 NFC 貼紙寫內容需要一個 APP,在華為應用市場,搜索“應用調測助手”安裝即可。

寫入貼紙的信息一共 2 條 Product ID 和設備 SN,或者一些自定義信息。只有 Product ID 是必填的,這個在 APP 拿包名申請即可。

②設置意圖

當手機碰觸 NFC 貼紙的時候,手機需要通過 Product ID 去云端獲取用戶意圖。

所以需要登錄華為開發者門戶設置下,當檢測到設置的 Product ID 是要執行的操作。

5117a112-5dcf-11ec-b2e9-dac502259ad0.png

主要的設置就在這里,可以看到配網 FA 是通過 NFC 貼紙拉起的,而控制 FA 是配網 FA 拉起的:

“App 包名”填寫為 config.json 文件中的 bundleName 字段取值。

“模塊名”填寫為入口原子化服務(即設備配網模塊)config.json 文件中的 moduleName 字段取值。

“服務名”填寫為入口原子化服務(即設備配網模塊)config.json 文件中的 mainAbility 字段取值。

這樣碰一碰的功能基本就實現了。

總結

大部分的內容官方文檔都有詳細說明,我只寫了不一樣的地方,和我踩過的雷,希望能給大家避避坑。詳細流程還是要結合官方文檔看。

原文標題:鴻蒙“碰一碰”功能實現!

文章出處:【微信公眾號:HarmonyOS技術社區】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 華為
    +關注

    關注

    216

    文章

    34537

    瀏覽量

    253015
  • nfc
    nfc
    +關注

    關注

    59

    文章

    1632

    瀏覽量

    180971
  • 開發者
    +關注

    關注

    1

    文章

    590

    瀏覽量

    17097

原文標題:鴻蒙“碰一碰”功能實現!

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    小熊派&鴻蒙實現一碰聯網+遠程控制的智能臺燈

    小熊派BearPi-HM_Nano開發板實現一碰聯網及遠程控制的智能臺燈教程正在編寫中.....收藏該貼不迷路,教程鏈接將發在評論區,敬請期待!!!
    發表于 05-26 19:19

    一碰”版本的藍牙鍵盤,來啦

    /終端設備識別使用的功能。經過幾個月的更新,這次我們為大家帶來的是基于Neptune開發板的鍵盤藍牙模塊DIY指南v0.3版本,為大家帶來幾個重磅更新:1. 支持搭載HarmonyOS系統手機“
    發表于 07-28 18:04

    首款鴻蒙系統打印機亮相 WPS“一碰打印”功能吸睛

    的傳統,極簡配網、輕松連接,簡潔操作界面,一碰打印,全新設計的極簡外觀帶來未來感和科技感。其中,WPS的“一碰打印”功能成為亮點。為滿足用戶更多遠程打印需求,華為推出“華為打印”功能
    發表于 09-17 09:50

    HarmonyOS原子化服務掃一碰完整體驗

    HarmonyOS原子化服務掃掃,一碰完整體驗。前提,已經上架的原子化服務與服務卡片并申請鴻蒙碼,進行了NFC的配置和設置;用已經是Harmon
    發表于 01-14 14:55

    【視頻】解決方案第5期:一碰(NFC)介紹

    本期主要對HarmonyOS Connect一碰(NFC)功能進行技術解讀,重點介紹極簡交互方式中NFC
    發表于 03-09 14:43

    玩轉OpenHarmony智能家居:如何實現樹莓派“一碰”設備控制

    裝TCP通信相關的接口函數。五、總結本文介紹了如何使用NFC實現OpenHarmony“一碰”設備控制。首先,需要基于樹莓派PN532模塊驅動開發NFC智能感知的應用,實現設備間
    發表于 12-27 11:34

    hispark 3861智能家居套件可以實現一碰拉起原子化服務嗎

    中實驗手冊顯示可以通過一碰拉取原子化服務 HCIA-HarmonyOS Device Developer V2.0 實驗手冊-HiSpark.pdf 這個有點存疑,往nfc模塊中
    發表于 06-05 17:38

    一碰”就能支付!華為聯合銀聯推出黑科技

    日前,華為終端宣布,Huawei Pay聯合銀聯推出了“一碰”支付,只要將華為手機靠近NFC標簽,輸入金額,就能完成支付。
    的頭像 發表于 07-04 09:08 ?5718次閱讀

    機智云NFC“一碰”配網解決方案

    較長、設備響應速率慢等問題,不利于用戶初次使用和體驗智能設備。因此,快速簡單的配網方式成為市場需求所在,比如基于NFC的IoT設備一碰配網解決方案。機智云+內置鴻蒙系統的NFC配網WIFI模塊,配合GoKit使用NFC“一碰
    的頭像 發表于 04-20 14:20 ?4522次閱讀

    智慧家電不會用?Leader“一碰”即刻開啟智慧生活

    家,不知道怎么用。以海爾智家Leader為例,TA向用戶提供了“一碰”智慧方案,通過NFC貼、手機、家電間的互聯互通,開啟智慧生活。但到底該怎么用呢? 9月24日,Leader“一碰
    發表于 09-24 22:14 ?651次閱讀

    不會用智慧功能?Leader洗衣機只需“一碰”“拍拍”!

    Leader洗衣機智慧功能很便捷,然而也有部分用戶反應,智慧功能不太會用。 9月24日,Leader發布了則《“”著了,不見得都是壞事
    發表于 09-30 10:37 ?934次閱讀
    不會用智慧<b class='flag-5'>功能</b>?Leader洗衣機只需“<b class='flag-5'>碰</b><b class='flag-5'>一碰</b>”“拍<b class='flag-5'>一</b>拍”!

    OpenHarmony開源代碼實現一碰開門功能

    本項目基于 OpenHarmony、數字管家開發宿舍全屋智能,實現一碰開門、一碰開燈、
    的頭像 發表于 03-30 09:10 ?3386次閱讀

    鴻蒙3.0上配置NFC一碰

    最近更新了 HarmonyOS 3.0 系統,按照過去的方法配置 NFC 一碰方法配置應用,發現出現了些問題,在些摸索測試中總結了
    的頭像 發表于 12-26 10:02 ?3327次閱讀

    玩轉OpenHarmony智能家居:如何實現樹莓派“一碰”設備控制

    ,解決了應用與設備之間接續慢、傳輸難的問題,實現一碰拉起應用,為用戶帶來無縫切換的流暢體驗。 二、“一碰”設
    的頭像 發表于 12-26 23:05 ?1154次閱讀

    【玩轉OH】如何實現樹莓派“一碰”設備控制

    OpenHarmony(簡稱“OpenHarmony”)標準系統設備和全場景設備連接起來,解決了應用與設備之間接續慢、傳輸難的問題,實現一碰拉起應用,為用戶帶來無縫切換的流暢體驗。 二、“
    的頭像 發表于 01-11 02:05 ?958次閱讀
    威尼斯人娱乐城老品牌值得信赖| 大发888备用地址| 百家乐桌子租| 棋牌王中王| 赌场百家乐官网规则| 二爷百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城位置| 真人百家乐官网888| 百家乐是哪个国家| 大发888官方 截图| 百家乐官网策略| 百家乐如何睇路| 九游棋牌大厅| 飞天百家乐官网的玩法技巧和规则| 威尼斯人娱乐城百家乐| 百家乐官网信誉平台现金投注| 澳门百家乐国际娱乐城| 尊龙国际注册| 现场百家乐官网机| 德州扑克发牌视频| 唐朝百家乐官网的玩法技巧和规则| 大发888游戏平台 df888ylc3403 | 百家乐娱乐网网77scs| 百家乐平注法到656| 百家乐官网玩揽法的论坛| 百家乐专打方法| 百家乐官网技巧心得| 百家乐揽子打法| 大发888娱乐城动态| 百家乐官网双峰县| 威尼斯人娱乐平台开户| 帝王百家乐官网新足球平台| 大杀器百家乐学院| 江源县| 澳门百家乐怎么| 百家乐官网赢钱皇冠| A8百家乐赌场娱乐网规则| 什么是百家乐官网赌博| 缅甸百家乐赌场| 百家乐官网视频游戏挖坑| 网络百家乐会输钱的多吗|