【问题标题】:Data representation on NFC tag when writing with Android使用 Android 编写时 NFC 标签上的数据表示
【发布时间】:2013-12-19 08:02:37
【问题描述】:

MIFARE Classic 1K 存储卡有多个扇区来存储数据,所以我想知道在 Android 中将 NDEF 数据写入标签时,数据是如何分配和存储到 MIFARE Classic 1k 的扇区中的,请执行以下命令:

Ndef ndef = Ndef.get(tag);
ndef.writeNdefMessage(message);

【问题讨论】:

  • 您指的是 MIFARE Classic 1k 吗?
  • 是的,迈克尔,我正在 MIFARE Classic 1k 上尝试这个

标签: android nfc rfid mifare ndef


【解决方案1】:

由于 MIFARE Classic 不是标准的 NFC 标签,因此在此类卡上存储 NDEF 格式的数据没有标准化的方法。但是,NXP 提供了两个数据表来解释 NXP 的 MIFARE Classic 标签专有 NDEF 映射:

这些数据表中描述的映射广泛用于能够在 MIFARE Classic 上读取/存储 NDEF 消息的设备,也用于配备 NXP NFC 芯片组的 Android 设备。

NDEF映射的基本原理是:

  1. 创建一个 MIFARE 应用程序目录(在块 0 中(对于 4K 卡为 16 块),可通过密钥 A = 0xA0A1A2A3A4A5 读取)。
  2. 在 MAD 中,将您希望能够存储 NDEF 数据的所有扇区标记为属于应用程序 0xE103。
  3. 所有 NDEF 扇区必须可以通过密钥 A 0xD3F7D3F7D3F7 读取,并且必须将其 GPB 设置为 0x40(如果允许读/写访问)或 0x43(如果只允许读取)。
  4. 所有 NDEF 扇区的块 0-2 代表 TLV 结构的存储(类似于 NFC 论坛兼容 NFC 标签上的那些)。
  5. 用于存储 NDEF 消息的 TLV 结构的标记为 0x03,因此 NDEF 消息将嵌入为<0x03> <LEN (1 Byte)> <NDEF MESSAGE>(或<0x03> <0xFF> <LEN (2 Bytes)> <NDEF MESSAGE>
  6. 最后一个 TLV 结构后跟一个 Terminator TLV,一个单字节 0xFE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多