Я долго пытался писать и читать данные с моих карт NFC. Карты NTAG216. Я могу использовать примеры libnfc, чтобы прочитать идентификатор производителя, и он работает нормально. Но мне нужно написать для каждого тега некоторые пользовательские данные, например, строку «abcdefg» и прочитайте ее обратно.
Я прочитал почти все, что мог найти о libnfc, но все они не говорят об этой конкретной области. Буду признателен за любые рекомендации. Пример кода будет оценен.
Я использую устройство чтения / записи ACRU122 NFC с libnfc 1.7.1 от Github.
После того как вы перечислили и активировали тег, вы можете использовать метод nfc_initiator_transceive_bytes()
отправлять необработанные команды NTAG (такие как READ / WRITE) в тег. Поскольку набор команд NTAG216 совместим с набором команд MIFARE Ultralight (включая команду COMPATIBILITY WRITE), вы также можете использовать вспомогательные методы для тегов MIFARE, определенных в Utils / mifare.h:
nfc_initiator_mifare_cmd(pnd, MC_WRITE, page, &mp)
nfc_initiator_mifare_cmd(pnd, MC_READ, page, &mp)
См. Утилиту nfc-mfultralight для полных примеров кода: НФК-mfultralight.c.
Однако вы можете захотеть адаптировать этот код для использования более эффективной команды MIFARE Ultralight / NTAG WRITE (0xA2) вместо COMPATIBILITY WRITE (что MC_WRITE
использует).
Других решений пока нет …