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