我們曾給開發(fā)者們帶來基于潤和Neptune開發(fā)板(以下簡稱Neptune開發(fā)板)的鍵盤藍(lán)牙模塊DIY指南0.1版本,將有線鍵盤改造成藍(lán)牙鍵盤,實(shí)現(xiàn)一個鍵盤被多操作系統(tǒng)/終端設(shè)備識別使用的功能。經(jīng)過幾個月的更新,這次我們?yōu)榇蠹規(guī)淼氖腔贜eptune開發(fā)板的鍵盤藍(lán)牙模塊DIY指南v0.3版本,為大家?guī)韼讉重磅更新:
1. 支持搭載HarmonyOS系統(tǒng)手機(jī)“碰一碰”連接
2. 支持HUAWEI DevEco Device Tool一站式編譯燒錄
3. 在原有支持4種OS(HarmonyOS、Windows、Linux、Android)的基礎(chǔ)上,新增初步支持ios
4. 從原有的支持最多2臺設(shè)備增加到現(xiàn)在的支持最多5臺設(shè)備自由切換
更多項(xiàng)目更新詳情,可通過下方鏈接查看:
https://gitee.com/openharmony-sig/vendor_oh_fun/tree/master/hihope_neptune-oh_hid
在之前的版本中,我們已經(jīng)了解了硬件環(huán)境搭建和USB串口(CH340)獲取相關(guān)信息,這一次讓我們把重點(diǎn)放在開發(fā)者們最關(guān)注的“碰一碰”的實(shí)現(xiàn)和HUAWEI DevEco Device Tool一站式編譯、燒錄步驟上,讓我們一起來了解吧~
一、“碰一碰”的實(shí)現(xiàn)
1、從體驗(yàn)角度詮釋“碰一碰”實(shí)現(xiàn)
用戶使用“碰一碰”實(shí)現(xiàn)藍(lán)牙鍵盤連接的示意圖如下:
1. 用戶通過碰一碰NFC標(biāo)簽拉起FA應(yīng)用;
2. 獲取藍(lán)牙設(shè)備(開發(fā)板)的MAC信息;
3. 同時,手機(jī)中的藍(lán)牙掃描將獲取到的藍(lán)牙列表與開發(fā)板MAC信息進(jìn)行比對;
4. 當(dāng)匹配到相同開發(fā)板MAC信息將反饋連接藍(lán)牙結(jié)果,連接該藍(lán)牙設(shè)備;
5. 同時連接成功的結(jié)果將通過被拉起的FA應(yīng)用通知用戶,用戶可在界面上看到成功連接的提示。效果可看視頻:
2、從原理角度詮釋“碰一碰”實(shí)現(xiàn):
這個過程中,碰一碰NFC標(biāo)簽?zāi)芾餏A應(yīng)用和獲取開發(fā)板MAC地址的關(guān)鍵點(diǎn)在于FA應(yīng)用信息和開發(fā)板MAC地址已經(jīng)被寫入到NFC標(biāo)簽中,用戶打開手機(jī)上的NFC開關(guān),手機(jī)在NFC標(biāo)簽時即可讀取相關(guān)信息拉起FA應(yīng)用并獲取到開發(fā)板的MAC地址用于匹配。
但實(shí)際上被寫入NFC標(biāo)簽的是FA應(yīng)用的productid(需在華為官方“應(yīng)用調(diào)測助手”APP中申請獲得),申請完成后通過在華為快服務(wù)智慧平臺(以下及圖中均簡略為HAG)創(chuàng)建、發(fā)布該FA服務(wù),將productid與FA應(yīng)用App包名關(guān)聯(lián),開發(fā)者將productid寫入NFC標(biāo)簽中,當(dāng)用戶使用NFC標(biāo)簽碰一碰時,HAG端將通過productid查詢對應(yīng)的包名并將其拉起。
而藍(lán)牙設(shè)備則是通過工具獲取設(shè)備MAC地址碼,將MAC地址碼寫入NFC標(biāo)簽,當(dāng)用戶使用NFC標(biāo)簽碰一碰時將獲取到寫入其中的MAC地址碼,與手機(jī)當(dāng)前藍(lán)牙列表匹配并連接相同MAC地址的藍(lán)牙設(shè)備。
下面讓我們來詳細(xì)解析一下這個過程,由于我們已有productid且服務(wù)已發(fā)布,我們將聚焦在如何實(shí)現(xiàn)FA應(yīng)用信息及開發(fā)板MAC地址寫入NFC標(biāo)簽的過程中。
3、從動手流程學(xué)習(xí)“碰一碰”實(shí)現(xiàn)
接下來就讓我們來詳細(xì)了解一下FA應(yīng)用信息及開發(fā)板MAC地址寫入NFC標(biāo)簽過程。
1. 了解寫入NFC的數(shù)據(jù)樣例結(jié)構(gòu)
我們將為各位開發(fā)者提供一段用于寫入到NFC的數(shù)據(jù)樣例結(jié)構(gòu),開發(fā)者只需做很小部分的改動即可直接寫入NFC標(biāo)簽中。
數(shù)據(jù)樣例結(jié)構(gòu)字符串如下:
D20C1A6170702F68776F6E65686F702001004800393935330081060005200685919106286DCD824FEF
其中:
39393533表示9953的Ascill碼,9953即是我們?yōu)樵揊A應(yīng)用已經(jīng)申請好的productid;
286DCD824FEF用于表示BLE設(shè)備硬件編碼(MAC地址),后續(xù)我們將通過獲取目標(biāo)BLE設(shè)備的MAC地址并將其替換掉。
2. 獲取BLE設(shè)備MAC地址
在“華為應(yīng)用市場”安裝“BLE調(diào)試助手”( 該工具用來獲取目標(biāo)BLE設(shè)備的MAC地址),打開改工具,找到藍(lán)牙鍵盤,獲取藍(lán)牙鍵盤的MAC地址:286DCD7C0E67
3. 替換目標(biāo)設(shè)備的MAC地址
將上一步中通過BLE調(diào)試助手獲取的MAC地址:286DCD7C0E67替換樣例的MAC地址:286DCD824FEF,組裝后的字符串為:
D20C1A6170702F68776F6E65686F702001004800393935330081060005200685919106286DCD7C0E67 |