前言
随着物联网时代的兴起,人们对于生活的便捷和服务智能家具的要求也逐渐增高,万物互联的时代即将到来。接下来我便进入正题,讲讲蓝牙和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码流和大家要注意的一些地方,希望这些能给你提供帮助。