NFC Mifare Ultralight Чтение / запись для простого приложения Java для настольных ПК с использованием ACR122

1

После консультаций с большим количеством потоков в stackoverflow, я до сих пор не нашел рабочего "примера" для чтения/записи карт MiFare Ultralight или Classic NFC с помощью устройства чтения карт памяти ACS ACR122 Usb в приложении Java... Конечно, я попытался проконсультироваться документация NXP или ACS, но до сих пор не удалось "просто" прочитать/записать блок данных.

Существует множество специфических для Android библиотек, но не какие-то простые старые J2SE-библиотеки, упрощающие обмен данными MiFare (с помощью команд javax.smartcardio и APDU...)

Может ли кто-нибудь дать мне несколько хороших и полезных указателей:

  • используя команду APDU для MiFare Ultralight & classic
  • (помогите мне развить) библиотеку J2SE, которая устраняет сложность всех команд HEX, которые отправляются на/из карты
  • примеры, которые будут использоваться на этих картах (Ultralight/Classic)...

Любая помощь очень полезна.

Разработка осуществляется с помощью:

  • ACS acr122U NFC-считыватель
  • Linux-платформа с использованием библиотек ПК /SC
  • Карты MiFare Ultralight и Classic 1K/4K 7UID
  • Java SDK 1. 6+ и выше
  • Android 4.4.x телефон с NFC (например, Huwawei...)
Теги:
mifare
apdu
acr122

1 ответ

1

Я написал небольшую программу Java (1. 7+), чтобы сбрасывать (и записывать) метки MiFare Classic 1K с использованием ACS ACR122U. Он доступен на GitHub. Под капотом используется простая старая библиотека J2SE под названием NFCTools.

NFCTools помогает вам общаться с NFC-картами, управляя всеми шестнадцатеричными /APDU файлами. Он поставляется с многочисленными примерами. Однако я не знаю, хочет ли главный разработчик его поддерживать. Например, он отметил множество классов Mifare как устаревших для рефакторинга поддержки Mifare, но он все еще находится в процессе разработки уже 2 года. Из списка рассылки:

Сначала я написал поддержку классических карт mifare, и казалось, что использование этих классов для описания области памяти было хорошей идеей. Однако, когда я хотел добавить поддержку сверхлегких тегов, вышеуказанные классы не помогли бы. С помощью сверхлегких тегов я решил использовать новый подход и создать класс org.nfctools.mf.ul.MemoryLayout. Я думаю, что это путь, поэтому я отметил классы MfCard как устаревшие.

Несмотря на это промежуточное состояние, он поддерживает множество читателей и форматов тегов. Примеры довольно полезны. Тогда, если у вас есть определенные требования, я советую вам внести свой вклад в этот проект или развить его.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню