Harmony OS - 标签NFC码流烧制 原创 精华

中软小助手
发布于 2022-6-9 14:48
浏览
4收藏

作者:吉金涛

前言

随着物联网时代的兴起,人们对于生活的便捷和服务智能家具的要求也逐渐增高,万物互联的时代即将到来。接下来我便进入正题,讲讲蓝牙和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码在线工具

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

如何获取设备的MAC地址?

方法一

  • 可以通过华为智慧生活连接到设备,在设置里的设备信息里查看

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

方法二

  • 在华为应用市场搜索“BLE调试助手 ”

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

  • 打开”BLE调试助手“,此时会显示所有扫描到的蓝牙设备,MAC地址如图所示(红色箭头指向的就是MAC地址)

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

二、写入NFC标签数据

1. 安装HW AirLink测试工具

下载AirLink安装包并安装

AirLink测试工具下载

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

写入NFC码流

  • 首先准备好需要写入的NFC数据内容(NFC标签码流大家可以到华为BP平台的标签管理,获取NFC的标签码流)

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

  • 我这边提供一份码流,进行参照:

0336D2024268772001004800323845390081090037200685031417910306FC58FAA2ECB1140c4643353846414132454342311701029112464335384641413245434231FC58FAA2ECB1注:码流最后加粗的部分,根据项目生成的码流为准,有的码流,需要拼接后面的MAC十六进制转和MAC地址,有的码流不需要,切记,如若出现拉不起原子化服务,可以尝试后面不拼接MAC十六进制转和MAC地址

注意事项

  • 我们拿到NFC数据内容后,此时的码流是平台自动生成的默认码流,不能直接使用,需要根据自己的项目(Product ID和设备的MAC地址)进行十六进制转换,替换平台默认的码流(加粗的地方为替换部分

步骤1. 启动AirLink工具;

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤2. 点击”add“,输入邀请码,b4zd8bz3,点击”OK“;

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤3. 点击NFC选项,进入NFC读写界面,选择”NFC WRITE“选项;

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤4. 写入NFC数据,需要勾选”byte code“选项,点击”置入缓存区“;

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

注意事项 !!!

  • NFC数据内容前两个字节‘’ 03XX‘’要去除,将从D2XXXX开始,全部复制到输入框

列如:申请的码流“0336D202xxxxxxxFC58FAA2ECB1”,应输入“D202****xxxxxxxFC58FAA2ECB1**”否则写入失败

  • 我们第一次用AirLink工具烧制的时候,有概率出现,码流一直写入不成功,这时候我们只需要不勾选**”byte code“**选项,然后进行烧制,(如果还是弹写入失败,多试几次)就会显示写入成功,但是写入的码流是错误的(这个方法主要解决码流写入不成功问题
  • 接下来我们只需要用 HiDotApplication工具把NFC标签烧录为空即可(具体看第三部分),然后用AirLink工具勾选**”byte code“**选项,把码流重新写入就可以了。

    注:大家每次烧制成功后,推荐用TagInfo工具查看下码流,是否烧制正确

三、烧空NFC标签数据

前置条件:下载并安装HiDotApplication工具 ,工具已经放置在下放资源处了,需要的童鞋们自取哦

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤1. 打开HiDotApplication工具 ,点击WRITE - GIDOT

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤2. 点击进来后,把HiDot Version下的滑动条,滑动到 HIDOT 2.0,Input HiDot Record下的输入框为空不填,然后点击WRITE按钮,会出现Attach your tag to your handset! 提示然后把标签贴在手机上,出现 write success 表示烧制成功

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

注意: 此APP也可以烧制NFC标签,但是有两项注意事项

  • 此APP烧制新的(从未烧制过的)NFC标签时,烧制过程中,有时候会直接跳转到此APP的首页,烧制不成功,这时候就需要,本文的第二部分的AirLink工具 进行烧制。
  • 如果你的NFC标签之前已经烧制过,然后用此APP重新烧制码流时,需要把码流前五个字节**“D202426877”**去除,然后烧制,如果不去除,烧制的码流就会出现错误 (详情请看第四部分

例如:烧制的码流“D202426877200100xxxxxxxFC58FAA2ECB1”,应输入“200100****xxxxxxxFC58FAA2ECB1**”

注:HiDotApplication工具 ,大家可以把它,作为烧空NFC标签工具使用,如果要写入NFC码流推荐使用,AirLink工具

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

四、查看NFC码流

前置条件:下载并安装TagInfo工具 工具已经放置在下放资源处了,需要的童鞋们自取哦

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤1. 打开TagInfo NFC查看工具 一直往右滑,下方出现Start按钮提示,然后点击

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤2. 此页面往下滑,然后点击 I Accept 按钮

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤3. 进入APP页面后,不用点击 “获取Google Play服务”,只需要点击背景,让他关闭即可,然后把NFC放到手机上,就可以读取NFC上写入的码流了

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

步骤4. APP读取码流后,点击NDEF 即可查看码流,(红线处为 产品的Product ID和MAC地址)大家根据自己的项目对照是否正确。

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

解答:现在我来说一下,第三部分用HiDotApplication工具 烧制之前烧录过得NFC标签,为什么要去掉码流前五个字节**“D202426877”**,我给大家详细解答下。

  • 我们刚拿到新的NFC标签(从未烧录过的)我们用TagInfo工具 进行查看,NDEF显示为空,如图

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

  • 当我们写入了NFC码流后,我们用TagInfo工具 进行查看,NDEF显示为我们写入的正确码流(此码流后面没有拼接MAC十六进制转和MAC地址,详情请看本文第一部分,有详细说明),如图:
    Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

  • 然后我们把NFC标签用HiDotApplication工具烧空,用TagInfo工具 进行查看,你就会发现NDEF 下的 NDEF message 里有前五个字节(我的理解是第一次烧录的时候,NFC标签会把前五个字节进行了保存) ,如若不删除前五个字节的话,用HiDotApplication工具进行烧制的话,你就会发现NDEF 下的 Record 中编译就会出现错误,多了前五个字节,但是这个码流是不能用的。(大家可以看上图正确的码流写入进行对照)

Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区
Harmony OS - 标签NFC码流烧制-鸿蒙开发者社区

总结

本文主要是讲解如何使用工具烧录NFC码流和大家要注意的一些地方,希望这些能给你提供帮助,如果您能看到最后,还希望您能动动手指点个赞。

更多原创内容请关注:中软国际 HarmonyOS 技术团队

入门到精通、技巧到案例,系统化分享HarmonyOS开发技术,欢迎投稿和订阅,让我们一起携手前行共建鸿蒙生态。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
HiDotApplication.apk 1.58M 64次下载
Taginfo.apk 5.03M 52次下载
已于2022-6-9 14:56:07修改
1
收藏 4
回复
举报
2条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

感谢大佬详细的讲解和分享的资源!

回复
2022-6-9 15:38:33
wx6232a29aedab4
wx6232a29aedab4

666

回复
2022-7-7 09:24:30
回复
    相关推荐