努力尽今夕,少年犹可夸。这篇文章主要讲述HarmonyOS - 标签NFC码流烧制相关的知识,希望能为你提供帮助。
作者:吉金涛
前言随着物联网时代的兴起,人们对于生活的便捷和服务智能家具的要求也逐渐增高,万物互联的时代即将到来。接下来我便进入正题,讲讲蓝牙和wifi的NFC码流的烧制。
一、NFC的数据结构首先我们先看下NFC的完整数据结构
示例 (蓝牙):0336D2024268772001004800323845390081090037200685031417910306FC58FAA2ECB114114643353846414132454342311701029112464335384641413245434231FC58FAA2ECB1
示例 (wifi):0336D202316877200100480032394851008109005720068504141791040600BFAFF22192140C303042464146463232313932170100910101
( 注:蓝牙项目MAC地址后面的固定值修改为:1411,wifi设备保持不变:140C)
- 蓝牙和wifi 数据结构中加粗的部分为变化值,根据自己业务场景而变化,其他部分为固定值 ,下面拿蓝牙的数据举例:
- 32384539:这个是Product ID(十六进制的转化)
- 【HarmonyOS - 标签NFC码流烧制】FC58FAA2ECB1: 这个是MAC地址
- 464335384641413245434231:这个是MAC十六进制的转化(转换的时候不要加冒号)
- 464335384641413245434231FC58FAA2ECB1:这个是MAC十六进制转化+MAC地址 (注:此处有个问题就是,蓝牙和wifi项目,生成的码流,后面有的需要拼接,有的是不需要拼接,大家可以进行尝试,大家以拿到的码流格式为主,替换相应的部分,主要看DP平台申请的码流)
文章图片
如何获取设备的MAC地址?
方法一
- 可以通过华为智慧生活连接到设备,在设置里的设备信息里查看
文章图片
方法二
- 在华为应用市场搜索“BLE调试助手 ”
文章图片
- 打开”BLE调试助手“,此时会显示所有扫描到的蓝牙设备,MAC地址如图所示(红色箭头指向的就是MAC地址)
文章图片
二、写入NFC标签数据 1. 安装HW AirLink测试工具
下载AirLink安装包并安装
?AirLink测试工具下载
文章图片
写入NFC码流
- 首先准备好需要写入的NFC数据内容(NFC标签码流大家可以到华为BP平台的标签管理,获取NFC的标签码流)
文章图片
- 我这边提供一份码流,进行参照:
注意事项:
- 我们拿到NFC数据内容后,此时的码流是平台自动生成的默认码流,不能直接使用,需要根据自己的项目(Product ID和设备的MAC地址)进行十六进制转换,替换平台默认的码流(加粗的地方为替换部分)
文章图片
步骤2. 点击”add“,输入邀请码,b4zd8bz3,点击”OK“;
文章图片
步骤3. 点击NFC选项,进入NFC读写界面,选择”NFC WRITE“选项;
文章图片
步骤4. 写入NFC数据,需要勾选”byte code“选项,点击”置入缓存区“;
文章图片
注意事项 !!!
- NFC数据内容前两个字节‘’ 03XX‘’要去除,将从D2XXXX开始,全部复制到输入框
- 我们第一次用AirLink工具烧制的时候,有概率出现,码流一直写入不成功,这时候我们只需要不勾选”byte code“选项,然后进行烧制,(如果还是弹写入失败,多试几次)就会显示写入成功,但是写入的码流是错误的(这个方法主要解决码流写入不成功问题)
- 接下来我们只需要用 HiDotApplication工具把NFC标签烧录为空即可(具体看第三部分),然后用AirLink工具勾选”byte code“选项,把码流重新写入就可以了。
注:大家每次烧制成功后,推荐用TagInfo工具查看下码流,是否烧制正确
文章图片
步骤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”去除,然后烧制,如果不去除,烧制的码流就会出现错误(详情请看第四部分)
注: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码流和大家要注意的一些地方,希望这些能给你提供帮助,如果您能看到最后,还希望您能动动手指点个赞。
更多原创内容请关注:中软国际 HarmonyOS 技术团队入门到精通、技巧到案例,系统化分享HarmonyOS开发技术,欢迎投稿和订阅,让我们一起携手前行共建鸿蒙生态。
附件链接Taginfo.apk(https://ost.51cto.com/resource/2046)
HiDotApplication.apk(https://ost.51cto.com/resource/2045)
想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
https://ost.51cto.com/#bkwz
推荐阅读
- 双因素身份认证动态口令技术原理及优势
- 深度分析狩猎者夹子机器人项目系统开发(逻辑框架)详情
- HtmlParse(一款超轻量级的HTML文件解析和爬取工具)
- 防火墙基础之基本的安全策略web页面配置
- Kubernetes 标准化部署文档
- EPIT定时器实验
- 使用APICloud AVM多端框架开发消防检查助手App项目实践分享
- 数据流向分析
- K8s 上轻松搭建百万连接的 MQTT 服务