Эмуляция NdefMessage на ACS ACR1252U-A1

Я пытаюсь эмулировать тег NFC Forum Type 2 (Mifare Ultralight), содержащий сообщение NDEF, с помощью ACR1252U, а затем прочитать его с помощью устройства 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 эмулировать тег типа 2 с сообщением NDEF, или я просто что-то упустил?


person Tom Deng Long    schedule 15.12.2015    source источник


Ответы (1)


Я нашел решение:

  1. Мой формат NDEF был неправильным. Это рабочее сообщение NDEF с
    TLV управления блокировкой + TLV сообщения NDEF (с сообщением NDEF) + TLV терминатора:

    0103a010440318d10114540564652d444548656c6c6f20576f726c64203a29fe
    

    Сообщение NDEF содержит одну текстовую запись (LANG = "de-DE", TEXT = "Hello World :)").

  2. Команда записи ACR1252U также должна быть передана в контейнер возможностей (CC), поэтому необходимо добавить байты CC в сообщение:

    e1 10 06 00
    

Таким образом, полная команда для ACR1252U для эмуляции тега NFC Forum Type 2 с текстовой записью NDEF «Hello World :)» будет выглядеть следующим образом:

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».

радоваться, веселиться :)

person Tom Deng Long    schedule 16.12.2015