天天看點

HarmonyOS - 标簽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碼線上工具)

HarmonyOS - 标簽NFC碼流燒制

如何擷取裝置的MAC位址?

方法一

  • 可以通過華為智慧生活連接配接到裝置,在設定裡的裝置資訊裡檢視
HarmonyOS - 标簽NFC碼流燒制

方法二

  • 在華為應用市場搜尋“BLE調試助手 ”
HarmonyOS - 标簽NFC碼流燒制
  • 打開”BLE調試助手“,此時會顯示所有掃描到的藍牙裝置,MAC位址如圖所示(紅色箭頭指向的就是MAC位址)
HarmonyOS - 标簽NFC碼流燒制

二、寫入NFC标簽資料

1. 安裝HW AirLink測試工具

下載下傳AirLink安裝包并安裝

​ AirLink測試工具下載下傳

HarmonyOS - 标簽NFC碼流燒制

寫入NFC碼流

  • 首先準備好需要寫入的NFC資料内容(NFC标簽碼流大家可以到華為BP平台的标簽管理,擷取NFC的标簽碼流)
HarmonyOS - 标簽NFC碼流燒制
  • 我這邊提供一份碼流,進行參照:

0336D2024268772001004800323845390081090037200685031417910306FC58FAA2ECB1140c4643353846414132454342311701029112464335384641413245434231FC58FAA2ECB1(注:碼流最後加粗的部分,根據項目生成的碼流為準,有的碼流,需要拼接後面的MAC十六進制轉和MAC位址,有的碼流不需要,切記,如若出現拉不起原子化服務,可以嘗試後面不拼接MAC十六進制轉和MAC位址)

注意事項:

  • 我們拿到NFC資料内容後,此時的碼流是平台自動生成的預設碼流,不能直接使用,需要根據自己的項目(Product ID和裝置的MAC位址)進行十六進制轉換,替換平台預設的碼流(加粗的地方為替換部分)

​ 步驟1. 啟動AirLink工具;

HarmonyOS - 标簽NFC碼流燒制

步驟2. 點選”add“,輸入邀請碼,b4zd8bz3,點選”OK“;

HarmonyOS - 标簽NFC碼流燒制

步驟3. 點選NFC選項,進入NFC讀寫界面,選擇”NFC WRITE“選項;

HarmonyOS - 标簽NFC碼流燒制

步驟4. 寫入NFC資料,需要勾選”byte code“選項,點選”置入緩存區“;

HarmonyOS - 标簽NFC碼流燒制

注意事項 !!!

  • NFC資料内容前兩個位元組‘’ 03XX‘’要去除,将從D2XXXX開始,全部複制到輸入框

列如:申請的碼流“0336D202xxxxxxxFC58FAA2ECB1”,應輸入“D202****xxxxxxxFC58FAA2ECB1**”否則寫入失敗

  • 我們第一次用AirLink工具燒制的時候,有機率出現,碼流一直寫入不成功,這時候我們隻需要不勾選**”byte code“**選項,然後進行燒制,(如果還是彈寫入失敗,多試幾次)就會顯示寫入成功,但是寫入的碼流是錯誤的(這個方法主要解決碼流寫入不成功問題)
  • 接下來我們隻需要用 HiDotApplication工具把NFC标簽燒錄為空即可(具體看第三部分),然後用AirLink工具勾選**”byte code“**選項,把碼流重新寫入就可以了。

    注:大家每次燒制成功後,推薦用TagInfo工具檢視下碼流,是否燒制正确

三、燒空NFC标簽資料

前置條件:下載下傳并安裝HiDotApplication工具 ,工具已經放置在下放資源處了,需要的童鞋們自取哦

HarmonyOS - 标簽NFC碼流燒制

步驟1. 打開HiDotApplication工具 ,點選WRITE - GIDOT;

HarmonyOS - 标簽NFC碼流燒制

步驟2. 點選進來後,把HiDot Version下的滑動條,滑動到 HIDOT 2.0,Input HiDot Record下的輸入框為空不填,然後點選WRITE按鈕,會出現Attach your tag to your handset! 提示然後把标簽貼在手機上,出現 write success 表示燒制成功

HarmonyOS - 标簽NFC碼流燒制
HarmonyOS - 标簽NFC碼流燒制
HarmonyOS - 标簽NFC碼流燒制

注意: 此APP也可以燒制NFC标簽,但是有兩項注意事項

  • 此APP燒制新的(從未燒制過的)NFC标簽時,燒制過程中,有時候會直接跳轉到此APP的首頁,燒制不成功,這時候就需要,本文的第二部分的AirLink工具 進行燒制。
  • 如果你的NFC标簽之前已經燒制過,然後用此APP重新燒制碼流時,需要把碼流前五個位元組**“D202426877”**去除,然後燒制,如果不去除,燒制的碼流就會出現錯誤 (詳情請看第四部分)

例如:燒制的碼流“D202426877200100xxxxxxxFC58FAA2ECB1”,應輸入“200100****xxxxxxxFC58FAA2ECB1**”

注:HiDotApplication工具 ,大家可以把它,作為燒空NFC标簽工具使用,如果要寫入NFC碼流推薦使用,AirLink工具

HarmonyOS - 标簽NFC碼流燒制

四、檢視NFC碼流

前置條件:下載下傳并安裝TagInfo工具 工具已經放置在下放資源處了,需要的童鞋們自取哦

HarmonyOS - 标簽NFC碼流燒制

步驟1. 打開TagInfo NFC檢視工具 一直往右滑,下方出現Start按鈕提示,然後點選

HarmonyOS - 标簽NFC碼流燒制

步驟2. 此頁面往下滑,然後點選 I Accept 按鈕

HarmonyOS - 标簽NFC碼流燒制

步驟3. 進入APP頁面後,不用點選 “擷取Google Play服務”,隻需要點選背景,讓他關閉即可,然後把NFC放到手機上,就可以讀取NFC上寫入的碼流了

HarmonyOS - 标簽NFC碼流燒制

步驟4. APP讀取碼流後,點選NDEF 即可檢視碼流,(紅線處為 産品的Product ID和MAC位址)大家根據自己的項目對照是否正确。

HarmonyOS - 标簽NFC碼流燒制

解答:現在我來說一下,第三部分用HiDotApplication工具 燒制之前燒錄過得NFC标簽,為什麼要去掉碼流前五個位元組**“D202426877”**,我給大家詳細解答下。

  • 我們剛拿到新的NFC标簽(從未燒錄過的)我們用TagInfo工具 進行檢視,NDEF顯示為空,如圖
HarmonyOS - 标簽NFC碼流燒制
  • 當我們寫入了NFC碼流後,我們用TagInfo工具 進行檢視,NDEF顯示為我們寫入的正确碼流(此碼流後面沒有拼接MAC十六進制轉和MAC位址,詳情請看本文第一部分,有詳細說明),如圖:
    HarmonyOS - 标簽NFC碼流燒制
  • 然後我們把NFC标簽用HiDotApplication工具燒空,用TagInfo工具 進行檢視,你就會發現NDEF 下的 NDEF message 裡有前五個位元組(我的了解是第一次燒錄的時候,NFC标簽會把前五個位元組進行了儲存) ,如若不删除前五個位元組的話,用HiDotApplication工具進行燒制的話,你就會發現NDEF 下的 Record 中編譯就會出現錯誤,多了前五個位元組,但是這個碼流是不能用的。(大家可以看上圖正确的碼流寫入進行對照)
HarmonyOS - 标簽NFC碼流燒制
HarmonyOS - 标簽NFC碼流燒制

總結

本文主要是講解如何使用工具燒錄NFC碼流和大家要注意的一些地方,希望這些能給你提供幫助,如果您能看到最後,還希望您能動動手指點個贊。

更多原創内容請關注:中軟國際 HarmonyOS 技術團隊

入門到精通、技巧到案例,系統化分享HarmonyOS開發技術,歡迎投稿和訂閱,讓我們一起攜手前行共建鴻蒙生态。

附件連結

Taginfo.apk(https://ost.51cto.com/resource/2046)

HiDotApplication.apk(https://ost.51cto.com/resource/2045)