К сожалению, настроить PN532 для эмуляции карты MIFARE Classic практически невозможно. Я пробовал это последние пару недель и не повезло. В даташите четко указано, что это можно сделать, но не совсем понятно, как именно. Однако я знаю, что SAM не требуется для эмуляции MIFARE 1K.
Используя команду PN532 TgInitAsTarget, вы можете эмулировать карту Mifare Classic, указав SENS_RES, SEL_RES и UID, и это всегда работает, если все, что вы хотите сделать, это эмулировать UID, однако эмулируя MIFARE 1K, который может фактически реагировать на аутентификацию MIFARE и читать команды - это отдельная история. По сути, когда PN532 эмулирует MIFARE 1K и получает команду аутентификации MIFARE (0x60 0xXX, где XX = номер блока), ответ, который вы должны отправить как эмулируемую карту, представляет собой 4-байтовое случайное число, которое инициатор должен затем зашифровать с помощью предоставленный ключ и внутренний шифр PN532 CRYPTO1. Проблема в том, что инициатор никогда не отвечает на этот вызов случайного числа, и эмуляция всегда дает сбой.
Я делаю это только с PN532, поэтому я могу напрямую управлять PN532, я не уверен, какой API предоставляется с ACR122U, но если вы можете получить доступ к фактическим командам PN532, это сделает вашу жизнь еще более сложной потенциально.
Проверьте мой пост на libnfc.org для получения дополнительной информации о том, что я пробовал:
http://www.libnfc.org/community/topic/277/nfcemulatetag/ а>
Если вам удалось заставить его работать, я хотел бы услышать больше о том, что вы сделали.
УДАЧИ!
person
Papyrus
schedule
27.07.2012