【发布时间】:2018-03-12 05:44:09
【问题描述】:
我正在使用以下命令从 Mifare Ultralight 标签中读取二进制块:FF B0 00 01 04
但现在我想使用 ACR1252 NFC 阅读器来精确存储在 Mifare Ultralight 标签中的 NDEF 消息。我必须使用哪个命令来获取完整的 NDEF 消息? NDEF消息存放在标签的哪个位置?
【问题讨论】:
标签: android nfc mifare apdu ndef
我正在使用以下命令从 Mifare Ultralight 标签中读取二进制块:FF B0 00 01 04
但现在我想使用 ACR1252 NFC 阅读器来精确存储在 Mifare Ultralight 标签中的 NDEF 消息。我必须使用哪个命令来获取完整的 NDEF 消息? NDEF消息存放在标签的哪个位置?
【问题讨论】:
标签: android nfc mifare apdu ndef
MIFARE Ultralight 标签映射到 NFC Forum Type 2 Tag Operation specification(断开的链接,here is an alternative。因此,为了从此类标签中提取 NDEF 消息,您需要遵循定义的读取过程按照那个规范。
您已经为您的阅读器找到了读取命令:
FF B0 00 BLOCK_NUMBER 10使用该命令(注意长度字段的值 0x10),您可以读取从 BLOCK_NUMBER 开始的 4 个连续块。
然后您将首先读取功能容器(位于块 3):
FF B0 00 03 10前 4 个字节(1 个块)是能力容器:
0xE1,表示标签使用遵循 NFC 论坛类型 2 标签操作规范的 NDEF 映射。一旦您验证了标记与 NDEF 映射规范匹配,您就可以从块 4 开始读取数据(您已经使用上述命令读取了块 4-6)。这些块包含带有标记 0x03 的 TLV 结构中的 NDEF 消息。有关 TLV 结构的详细信息,请参阅 Writing NDEF data to NTAG216 tag using low-level NFC communication methods。
【讨论】: