鸿蒙NFC标贴写入数据-详细 原创 精华

NL_AIDC_XJS
发布于 2022-1-7 17:08
浏览
9收藏

目标

将鸿蒙原子化服务信息和设备的MAC地址写入NFC标签

前置条件

原子化服务在鸿蒙AGC(AppGallery Connect)平台已发布(或灰度发布,灰度发布可以参看:华为的开放式测试)获取相关的NFC标签信息。

一、NFC的数据样例结构

首先我们先看下NFC的数据样例结构
例如:D20C1A6170702F68776F6E65686F702001004800393955370081060005200685919106E5AD7D0BAEEB
看数据样例中标注加粗的部分,一共有两处:

  • 39395537:这是Product ID(此处的值是有关联过原子化服务包名而产生的Product ID,目前在华为调测助手中申请到的Product ID无法关联到原子化服务包名,也就无法建立关联,所以这里只讨论NFC的数据样例结构)的Ascill码(Ascill码在线工具

鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

  • E5AD7D0BAEEB:BLE设备硬件编码(MAC)

如何获取硬件设备的MAC地址?

回答:可以通过华为提供的”BLE调试助手“来获取,获取步骤如下:
步骤1、在华为应用市场搜索”BLE调试助手“,下载并安装成功;
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

步骤2、打开”BLE调试助手“,此时会显示所有扫描到的蓝牙设备,可以通过点击”CONNECT“连接测试是否可以配对成功,在对应的item中可以看到设备的MAC地址;
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

步骤3、尝试连接配对,点击”CONNECT“后,连接成功会提示用户,当然你也可以进行断开连接。
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

二、写入NFC标签数据

2.1、安装HW AirLink测试工具

2.2.1、下载AirLink安装包

AirLink测试工具下载
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

下载本地解压出apk安装包
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

2.2.2、安装AirLink

安装AirLink可以用多种方式,下面介绍常用的两种方式。

方式1:adb

说明:adb安装方式,需要保证Windows设备安装了adb工具,并配置了环境变量,adb安装与环境变量配置

  • 打开Windows设备的cmd命令行工具
  • 执行命令:adb install –r hilinkcert-tool-1.0.0.3.apk
    如下图:
    鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区
方式2:通过华为手机助手

说明:使用USB将手机连接PC端,将AirLink工具安装包拷贝“内部存储”根目录,通过手机端的文件夹管理器打开后,手动点击安装。这种方式比较简单,就不一一介绍。
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

2.2、将华为提供的数据信息写入NFC

首先准备好需要写入NFC的数据内容(由原子化服务发布后华为提供,当然你也可以使用灰度发布的方式进行测试获取相关数据),我这里发布了一个原子化服务,华为提供的一份NFC数据内容如下:
034cD20C1A6170702F68776F6E65686F702001004800393955370081060005200685919106E5AD7D0BAE37FE。

步骤1、启动AirLink工具;
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

步骤2、点击”add“,输入邀请码,b4zd8bz3,点击”OK“;
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

步骤3、点击NFC选项,进入NFC读写界面,选择”NFC WRITE“选项;
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

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

  • 数据信息前2个字节“03XX”与最后一个字节“FE”要去除,将从 D2XXXX 开始直到倒数第二个字节全部复制到输入框。
    例如: 申请的码流“034cD20C1xxxxxBAE37FE”,应输入“D20C1xxxxxBAE37”,否则写入失败,建议可以使用:NFC Tools PRO 工具(下载地址 提取码:t2iw)进行写入则可以忽略此问题。
  • 写入时需关闭手机网络;
  • 选用空白的NFC标签进行写入,如果NFC标签中已经写入数据,可以通过NFC Tools PRO 工具删除标签内容,请看本文第三部分:删除NFC标签数据;
    鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

步骤5、将需要写入的NFC标签靠近手机背部即可完成写入。

三、删除NFC标签数据

前置条件:下载并安装NFC Tools PRO 工具(下载地址 提取码:t2iw)
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

友情提醒:如果你想删除华为手机(HarmonyOS)中已经写入的标贴,并且此标贴与原子化服务关联,则你需要使用一台非HarmonyOS系统的手机安装NFC Tools PRO 工具,使用以下步骤进行删除,否则当HarmonyOS系统手机靠近NFC标贴时会先拉起原子化服务,导致无法删除标贴内容。

步骤1、启动NFC Tools PRO 工具;
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

步骤2、切换tab到”其他“,选择删除标签菜单;
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

步骤3、靠近即可删除NFC标签。
鸿蒙NFC标贴写入数据-详细-鸿蒙开发者社区

删除成功后即可以将数据写入到NFC标签。

感谢

如果您能看到最后,还希望您能动动手指点个赞,一个人能走多远关键在于与谁同行,我用跨越山海的一路相伴,希望得到您的点赞。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-2-17 09:36:39修改
8
收藏 9
回复
举报
11条回复
按时间正序
/
按时间倒序
longlong899
longlong899

不错,好文!!感谢分享

1
回复
2022-1-10 10:03:48
Florent3211
Florent3211

想了解如何用NFC Tools PRO 工具写入码流,谢谢!

回复
2022-1-19 13:34:15
NL_AIDC_XJS
NL_AIDC_XJS 回复了 Florent3211
想了解如何用NFC Tools PRO 工具写入码流,谢谢!

非常简单,软件是中文操作菜单,你只要下载软件后,根据要求操作就可以,在操作中都会有一些提示。

回复
2022-1-19 13:36:31
Florent3211
Florent3211 回复了 NL_AIDC_XJS
非常简单,软件是中文操作菜单,你只要下载软件后,根据要求操作就可以,在操作中都会有一些提示。

我正在用NFC TOOLS PRO,翻了半天没找到byte code这个功能。目前只能将码流当成文本烧录进标签。请问具体是哪个功能吗?

回复
2022-1-19 14:27:21
NL_AIDC_XJS
NL_AIDC_XJS 回复了 Florent3211
我正在用NFC TOOLS PRO,翻了半天没找到byte code这个功能。目前只能将码流当成文本烧录进标签。请问具体是哪个功能吗?

NFC Tools PRO 是没有byte code操作,你直接把需要写入的数据在“写”的菜单中进行添加就可以,byte code是华为HW AirLink的操作。

1
回复
2022-1-19 15:23:21
wx5938fc36d773d
wx5938fc36d773d

用HW AirLInk 写入数据之后,无法修改标签内容,在NFC Tools 里面删除标签内容,NFC 一贴上去就优先读出了NFC里面的东西并操作了,求一个修改NFC 标签的方法

 

回复
2022-2-14 14:43:20
NL_AIDC_XJS
NL_AIDC_XJS 回复了 wx5938fc36d773d
用HW AirLInk 写入数据之后,无法修改标签内容,在NFC Tools 里面删除标签内容,NFC 一贴上去就优先读出了NFC里面的东西并操作了,求一个修改NFC 标签的方法

如果是删除了标签内容,应该是个空的标签,应该没有内容,你所说的优先读取内容具体是只什么?

回复
2022-2-14 18:09:40
wx5938fc36d773d
wx5938fc36d773d 回复了 NL_AIDC_XJS
如果是删除了标签内容,应该是个空的标签,应该没有内容,你所说的优先读取内容具体是只什么?

现在的问题就是写了之后没法删除,NFC 内容的优先级太高了,直接被系统处理了,一贴上去,系统就先处理了,只有用应用调测助手可以改,其他所有可以操作NFC的软件都没法进行任何操作了,最后我只能借用一个非华为手机,通过软件来初始化NFC 标签,感觉他这个优先级有问题。

回复
2022-2-14 18:20:11
NL_AIDC_XJS
NL_AIDC_XJS 回复了 wx5938fc36d773d
现在的问题就是写了之后没法删除,NFC 内容的优先级太高了,直接被系统处理了,一贴上去,系统就先处理了,只有用应用调测助手可以改,其他所有可以操作NFC的软件都没法进行任何操作了,最后我只能借用一个非华为手机,通过软件来初始化NFC 标签,感觉他这个优先级有问题。

如果你是拉起原子化服务之类的操作,是可以通过使用其他非鸿蒙系统的手机下载NFC Tools进行删除操作。

回复
2022-2-15 08:45:31
wx5938fc36d773d
wx5938fc36d773d 回复了 NL_AIDC_XJS
如果你是拉起原子化服务之类的操作,是可以通过使用其他非鸿蒙系统的手机下载NFC Tools进行删除操作。

对啊,就觉得这样很不科学,我想重新写点东西,还得准备一个其他的手机。

回复
2022-2-15 09:13:29
lollipoptt
lollipoptt

太细了

回复
2022-3-9 15:07:11
回复
    相关推荐