Harmony OS - 標(biāo)簽NFC碼流燒制
前言
隨著物聯(lián)網(wǎng)時代的興起,人們對于生活的便捷和服務(wù)智能家具的要求也逐漸增高,萬物互聯(lián)的時代即將到來。接下來我便進(jìn)入正題,講講藍(lán)牙和wifi的NFC碼流的燒制。
一、NFC的數(shù)據(jù)結(jié)構(gòu)
首先我們先看下NFC的完整數(shù)據(jù)結(jié)構(gòu):
示例 (藍(lán)牙):0336D2024268772001004800323845390081090037200685031417910306FC58FAA2ECB114114643353846414132454342311701029112464335384641413245434231FC58FAA2ECB1。
示例 (wifi):0336D202316877200100480032394851008109005720068504141791040600BFAFF22192140C303042464146463232313932170100910101。
( 注:藍(lán)牙項目MAC地址后面的固定值修改為:1411,wifi設(shè)備保持不變:140C)。
- 藍(lán)牙和wifi數(shù)據(jù)結(jié)構(gòu)中加粗的部分為變化值,根據(jù)自己業(yè)務(wù)場景而變化,其他部分為固定值 ,下面拿藍(lán)牙的數(shù)據(jù)舉例:
- 32384539:這個是Product ID(十六進(jìn)制的轉(zhuǎn)化)。
- FC58FAA2ECB1: 這個是MAC地址。
- 464335384641413245434231:這個是MAC十六進(jìn)制的轉(zhuǎn)化 (轉(zhuǎn)換的時候不要加冒號)。
- 464335384641413245434231FC58FAA2ECB1:這個是MAC十六進(jìn)制轉(zhuǎn)化+MAC地址 (注:此處有個問題就是,藍(lán)牙和wifi項目,生成的碼流,后面有的需要拼接,有的是不需要拼接,大家可以進(jìn)行嘗試,大家以拿到的碼流格式為主,替換相應(yīng)的部分,主要看DP平臺申請的碼流)。
ASCII碼(十六進(jìn)制轉(zhuǎn)換)(??ASCll碼在線工具??)。
如何獲取設(shè)備的MAC地址?
方法一
- 可以通過華為智慧生活連接到設(shè)備,在設(shè)置里的設(shè)備信息里查看。
方法二
- 在華為應(yīng)用市場搜索“BLE調(diào)試助手 ”。
- 打開”BLE調(diào)試助手“,此時會顯示所有掃描到的藍(lán)牙設(shè)備,MAC地址如圖所示(紅色箭頭指向的就是MAC地址)。
二、寫入NFC標(biāo)簽數(shù)據(jù)
1、安裝HW AirLink測試工具
下載AirLink安裝包并安裝
? ??AirLink測試工具下載??。
寫入NFC碼流
- 首先準(zhǔn)備好需要寫入的NFC數(shù)據(jù)內(nèi)容(NFC標(biāo)簽碼流大家可以到華為BP平臺的標(biāo)簽管理,獲取NFC的標(biāo)簽碼流)。
- 我這邊提供一份碼流,進(jìn)行參照:
0336D2024268772001004800323845390081090037200685031417910306FC58FAA2ECB1140c4643353846414132454342311701029112464335384641413245434231FC58FAA2ECB1(注:碼流最后加粗的部分,根據(jù)項目生成的碼流為準(zhǔn),有的碼流,需要拼接后面的MAC十六進(jìn)制轉(zhuǎn)和MAC地址,有的碼流不需要,切記,如若出現(xiàn)拉不起原子化服務(wù),可以嘗試后面不拼接MAC十六進(jìn)制轉(zhuǎn)和MAC地址)。
注意事項:
- 我們拿到NFC數(shù)據(jù)內(nèi)容后,此時的碼流是平臺自動生成的默認(rèn)碼流,不能直接使用,需要根據(jù)自己的項目(Product ID和設(shè)備的MAC地址)進(jìn)行十六進(jìn)制轉(zhuǎn)換,替換平臺默認(rèn)的碼流(加粗的地方為替換部分)。
步驟1. 啟動AirLink工具:
步驟2. 點擊”add“,輸入邀請碼,b4zd8bz3,點擊”O(jiān)K“。
步驟3. 點擊NFC選項,進(jìn)入NFC讀寫界面,選擇”NFC WRITE“選項。
步驟4. 寫入NFC數(shù)據(jù),需要勾選”byte code“選項,點擊”置入緩存區(qū)“。
注意事項
- NFC數(shù)據(jù)內(nèi)容前兩個字節(jié)‘’ 03XX‘’要去除,將從D2XXXX開始,全部復(fù)制到輸入框
列如:申請的碼流“0336D202xxxxxxxFC58FAA2ECB1”,應(yīng)輸入“D202****xxxxxxxFC58FAA2ECB1**”否則寫入失敗
- 我們第一次用AirLink工具燒制的時候,有概率出現(xiàn),碼流一直寫入不成功,這時候我們只需要不勾選**”byte code“**選項,然后進(jìn)行燒制,(如果還是彈寫入失敗,多試幾次)就會顯示寫入成功,但是寫入的碼流是錯誤的(這個方法主要解決碼流寫入不成功問題)。
- 接下來我們只需要用HiDotApplication工具把NFC標(biāo)簽燒錄為空即可(具體看第三部分),然后用AirLink工具勾選**”byte code“**選項,把碼流重新寫入就可以了。
注:大家每次燒制成功后,推薦用TagInfo工具查看下碼流,是否燒制正確。
三、燒空NFC標(biāo)簽數(shù)據(jù)
前置條件:下載并安裝HiDotApplication工具 ,工具已經(jīng)放置在下放資源處了,需要的童鞋們自取哦。
步驟1. 打開HiDotApplication工具 ,點擊WRITE - GIDOT。
步驟2. 點擊進(jìn)來后,把HiDot Version下的滑動條,滑動到 HIDOT 2.0,Input HiDot Record下的輸入框為空不填,然后點擊WRITE按鈕,會出現(xiàn)Attach your tag to your handset! 提示然后把標(biāo)簽貼在手機(jī)上,出現(xiàn) write success 表示燒制成功。
注意: 此APP也可以燒制NFC標(biāo)簽,但是有兩項注意事項
- 此APP燒制新的(從未燒制過的)NFC標(biāo)簽時,燒制過程中,有時候會直接跳轉(zhuǎn)到此APP的首頁,燒制不成功,這時候就需要,本文的第二部分的AirLink工具進(jìn)行燒制。
- 如果你的NFC標(biāo)簽之前已經(jīng)燒制過,然后用此APP重新燒制碼流時,需要把碼流前五個字節(jié)**“D202426877”**去除,然后燒制,如果不去除,燒制的碼流就會出現(xiàn)錯誤 (詳情請看第四部分)。
例如:燒制的碼流“D202426877200100xxxxxxxFC58FAA2ECB1”,應(yīng)輸入“200100****xxxxxxxFC58FAA2ECB1**”。
注:HiDotApplication工具 ,大家可以把它,作為燒空NFC標(biāo)簽工具使用,如果要寫入NFC碼流推薦使用,AirLink工具。
四、查看NFC碼流
前置條件:下載并安裝TagInfo工具 工具已經(jīng)放置在下放資源處了,需要的童鞋們自取哦。
步驟1. 打開TagInfo NFC查看工具 一直往右滑,下方出現(xiàn)Start按鈕提示,然后點擊。
步驟2. 此頁面往下滑,然后點擊 I Accept 按鈕。
步驟3. 進(jìn)入APP頁面后,不用點擊 “獲取Google Play服務(wù)”,只需要點擊背景,讓他關(guān)閉即可,然后把NFC放到手機(jī)上,就可以讀取NFC上寫入的碼流了。
步驟4. APP讀取碼流后,點擊NDEF 即可查看碼流,(紅線處為 產(chǎn)品的Product ID和MAC地址)大家根據(jù)自己的項目對照是否正確。
解答:現(xiàn)在我來說一下,第三部分用HiDotApplication工具 燒制之前燒錄過得NFC標(biāo)簽,為什么要去掉碼流前五個字節(jié)**“D202426877”**,我給大家詳細(xì)解答下。
- 我們剛拿到新的NFC標(biāo)簽(從未燒錄過的)我們用TagInfo工具進(jìn)行查看,NDEF顯示為空,如圖:
- 當(dāng)我們寫入了NFC碼流后,我們用TagInfo工具進(jìn)行查看,NDEF顯示為我們寫入的正確碼流(此碼流后面沒有拼接MAC十六進(jìn)制轉(zhuǎn)和MAC地址,詳情請看本文第一部分,有詳細(xì)說明),如圖:
- 然后我們把NFC標(biāo)簽用HiDotApplication工具燒空,用TagInfo工具進(jìn)行查看,你就會發(fā)現(xiàn)NDEF下的NDEF message里有前五個字節(jié)(我的理解是第一次燒錄的時候,NFC標(biāo)簽會把前五個字節(jié)進(jìn)行了保存) ,如若不刪除前五個字節(jié)的話,用HiDotApplication工具進(jìn)行燒制的話,你就會發(fā)現(xiàn)NDEF下的Record中編譯就會出現(xiàn)錯誤,多了前五個字節(jié),但是這個碼流是不能用的。(大家可以看上圖正確的碼流寫入進(jìn)行對照)。
總結(jié)
本文主要是講解如何使用工具燒錄NFC碼流和大家要注意的一些地方,希望這些能給你提供幫助。