在 ACS ACR1252U-A1 上模拟 NdefMessage

Emulate NdefMessage on ACS ACR1252U-A1

我正在尝试使用 ACR1252U 模拟包含 NDEF 消息的 NFC 论坛 2 类标签 (Mifare Ultralight),然后使用 Android 设备将其读出。

为了存档,我使用以下命令进入 Mifare Ultralight 的卡模拟模式:

E0 00 00 40 03 01 00 00
response: E1 03 01 01 01

Android 应用 "Nfc Tools" 现在将其识别为 Mifare Ultralight。

然后我使用以下命令将 NDEF 消息写入仿真卡:

e0 00 00 60 13 01 01 00 0f 03 0c d1 01 08 54 05 64 65 2d 44 45 68 69 fe
response: e1 00 00 00 03 0f 90 00

很遗憾,Android 设备(Sony Xperia Z1 Compact)无法读取 NDEF 消息。

ACR1252U 是否能够使用 NDEF 消息模拟 Type 2 标签,还是我只是遗漏了什么?

我找到了解决方案:

  1. 我的 NDEF 格式有误。这是一个有效的 NDEF 消息,带有
    Lock Control TLV + NDEF Message TLV(带有 NDEF 消息)+ Terminator TLV:

    0103a010440318d10114540564652d444548656c6c6f20576f726c64203a29fe
    

    NDEF 消息包含一条文本记录 (LANG = "de-DE", TEXT = "Hello World :)")

  2. ACR1252U的写命令也需要传给Capability Container(CC),所以需要在报文中加上CC字节:

    e1 10 06 00
    

因此,ACR1252U 模拟带有 NDEF 文本记录 "Hello World :)" 的 NFC Forum Type 2 标签的完整命令如下所示:

e0 00 00 60 28 01 01 00 24 e1 10 06 00 01 03 a0 10 44 03 18 d1 01 14 54 05 64 65 2d 44 45 48 65 6c 6c 6f 20 57 6f 72 6c 64 20 3a 29 fe

要读出模拟器,您可以使用应用 "NFC TagInfo by NXP"。

玩得开心:)