如何在NFC类型4标签仿真上组织大型数据文件

问题描述 投票:0回答:1

我正在开发一个应用程序,我将数据存储在4Mbit数据闪存上,然后通过NFC通过智能手机读取数据。为此,我使用NFC前端(AS3953)和微控制器来模拟Type 4标签。将数据拆分成264个字节的块(闪存的页面大小)并按顺序读出它会很方便。

那么更好的结构是什么:一个大的NDEF文件,每个文件有264个字节,或者一个专用文件下有许多单个基本文件?

感谢投入,安德烈亚斯

android nfc smartcard ndef contactless-smartcard
1个回答
2
投票

这在很大程度上取决于您希望通过解决方案实现的目标以及您定位的平台:

  1. 您可以构建遵循NFC论坛类型4标签规范的NFC标签,并仅使用NDEF数据抽象层。 您的应用程序将与支持在NFC Forum Type 4标签上读取和写入NDEF消息的所有设备互操作。这包括支持NFC和NFC Web API的所有当前主要移动OS平台。 您只能使用65534字节的NDEF数据(包括记录头)。 您无法真正控制设备如何从/向NDEF文件读取或写入数据。具体来说,即使您将文件分成几个NDEF记录,也无法控制文件的读/写段。 (请注意,您可以控制APDU的最大数据字段大小,但没有任何东西可以阻止NFC设备读取/写入更小的块。) NFC设备(例如,Android这样做)通常在扫描标签时读取整个NDEF消息以便执行自动动作(例如,启动app)。
  2. 您可以构建遵循NFC论坛类型4标签规范的NFC标签,并使用NDEF数据抽象层的组合(例如,存储允许您的应用程序自动启动并识别prorietary协议的信息)和专有数据文件(如NFC论坛类型4标签操作规范中所述。 多个平台(例如Windows Phone 8,NFC Web API)无法访问专有数据文件。但是,它们可以在Android和BlackBerry设备上访问。 除了通常由操作系统处理的自动NDEF抽象之外,您还需要手动实现命令以识别和访问prorietary数据文件(例如,在使用IsoDep类的Android上)。 使用这些prorietary数据文件,您可以构建您的内存使用,例如每页一个文件。 您不限于65534字节,而是可以有多个文件,每个文件最多65534字节。 NFC设备通常在扫描标签时默认只读取NDEF文件以执行自动操作。专有文件通常会被忽略。 您也可以创建一个单独的应用程序(在不同的DF名称/ AID下),允许您访问数据存储器(通过ISO 7816-4),而不是使用NFC论坛类型4标签操作规范的专有文件功能。标准化命令我们通过自定义命令)。
  3. 您可以基于ISO 14443 / ISO 7816-4创建完全自定义的协议。 您不会(或仅部分)具有NDEF标记的功能(例如,触发自动操作,例如启动特定应用程序)。 您的应用程序将与Windows Phone 8(或仅允许通过NDEF抽象高级访问标记的任何其他平台)兼容。 您没有通过实施NFC论坛类型4标签操作规范引入的协议开销。
© www.soinside.com 2019 - 2024. All rights reserved.