Harmony OS - 标签NFC码流烧制

系统 OpenHarmony
本文主要是讲解如何使用工具烧录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码在线工具​​)。

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码流和大家要注意的一些地方,希望这些能给你提供帮助。

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​​。

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2022-05-12 14:22:39

NFC标签鸿蒙

2022-12-23 20:46:37

遥控器应用鸿蒙

2015-01-26 13:16:30

NFCAndroid

2024-05-15 17:10:56

2022-04-24 15:33:38

鸿蒙开发操作系统

2019-07-15 08:00:49

华为鸿蒙开发

2018-09-13 12:28:11

iPhone苹果开发者

2013-01-30 12:16:49

二维码NFC近场通讯

2021-06-01 10:16:26

华为MatePad Pro鸿蒙系统

2013-02-21 09:48:09

NFC二维码营销

2013-10-28 14:46:29

OS XOS X MaveriFinder

2019-10-28 13:47:10

iOS 13NFCiphone

2020-12-17 11:50:40

鸿蒙harmony OS 开发

2021-10-29 18:18:36

Testin Harmony OS

2023-12-22 09:11:45

AndroidNFC移动开发

2012-04-20 13:27:17

NFC

2013-01-31 11:26:23

NFC移动支付近场通信

2012-04-18 15:39:04

诺基亚NFC

2013-01-23 14:33:04

Android开发NFC

2011-11-21 09:55:32

NFC
点赞
收藏

51CTO技术栈公众号