使用外部NFC读取器ACR1252读取NDEF消息

时间:2018-03-12 05:44:10

标签: android nfc mifare apdu ndef

我使用以下命令从Mifare Ultralight标签中读取二进制块:FF B0 00 01 04

但现在我想使用ACR1252 NFC阅读器确定存储在Mifare Ultralight标签中的NDEF消息。我必须使用哪个命令来获取完整的NDEF消息?标签中的哪个位置存储了NDEF消息?

1 个答案:

答案 0 :(得分:1)

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个块)是能力容器:

  • 字节0设置为“魔术”值0xE1,表示该标签使用遵循NFC论坛类型2标签操作规范的NDEF映射。
  • 字节1表示映射版本。
  • 字节2表示标签的内存大小。
  • 字节3表示访问限制。

一旦确认标签符合NDEF映射规范,就可以从块4开始读取数据(您已经使用上述命令读取了块4-6)。这些块包含TLV结构中的NDEF消息,标记为0x03。有关TLV结构的详细信息,请参阅Writing NDEF data to NTAG216 tag using low-level NFC communication methods