Я пытаюсь заставить свое устройство ACR122 (usb) эмулировать пассивную метку NFC, но у меня возникают трудности с правильной связью. Я надеюсь, что кто-то увидит, что я здесь делаю неправильно, и поможет указать мне правильное направление.
Ответ на этот другой вопрос ACR122 — эмуляция карты указывает на документ по адресу http://code.google.com/p/nfcip-java/source/browse/trunk/nfcip-java/doc/ACR122_PN53x.txt, но когда мы следуем этому письму, он ведет себя не так, как ожидалось.
Мы используем устройство Samsung Galaxy S3 Android 4.3 для тестирования и наблюдаем следующее поведение:
Transmit (TgInitAsTarget)
....'......4V@.. FF 00 00 00 27 D4 8C 00 08 00 12 34 56 40 01 FE
................ A2 A3 A4 A5 A6 A7 C0 C1 C2 C3 C4 C5 C6 C7 FF FF
...wfUD3"... AA 99 88 77 66 55 44 33 22 11 00 00
Receive
..%....7.5<...w. D5 8D 25 1E D4 00 08 37 D9 35 3C BF D5 AE 77 9C
...2Ffm......... 00 00 00 32 46 66 6D 01 01 11 03 02 00 13 04 01
... 96 90 00
Transmit (GetData)
....... FF 00 00 00 02 D4 86
Receive
..).. D5 87 29 90 00
Команда TgInitAsTarget работает, возвращая режим 0x25, который, как мы понимаем, означает «Активный режим, DEP, 424 кбит/с».
Но затем команда «GetData» немедленно терпит неудачу, возвращая код состояния 0x29 «PN532, настроенный как цель, был выпущен его инициатором».
Мы попытались изменить команду TgInitAsTarget с различными режимами (вместо режима 0x00 «Все»), попробовав следующее, которое все еще возвращает 0x29 для следующей команды GetData:
- Режим 0x01 «Пассивный», что приводит к режиму ответа 0x04 «DEP».
- Режим 0x02 «DEP», что приводит к режиму ответа 0x25 (то же, что и «Все»).
- Режим 0x03 «DEP Passive», что приводит к режиму ответа 0x04 «DEP».
Во всех случаях кажется, что Android не поддерживает соединение, хотя я недостаточно знаком с протоколами NFC DEP, чтобы понять, что я здесь делаю неправильно. Я прочитал справку по микросхеме PN532, и, кажется, это указывает на то, что я все делаю правильно.
Я также пробовал устройство Windows Phone NFC, и оно обнаружило ту же проблему и тот же код ошибки в GetData.
Любая помощь от тех, кто знаком с NFC, будет принята с благодарностью.
Дэйв