【问题标题】:NFC Mifare Ultralight Read/Write for plain Java Desktop app using ACR122NFC Mifare Ultralight 读取/写入使用 ACR122 的普通 Java 桌面应用程序
【发布时间】:2015-03-25 08:10:08
【问题描述】:

在查阅了很多关于 stackoverflow 的线程后,我仍然没有找到一个在 Java 应用程序中使用 ACS ACR122 Usb 智能卡读卡器读取/写入 MiFare Ultralight 或 Classic NFC 卡的工作“示例”......当然,我尝试查阅 NXP 或 ACS 的文档,但仍然无法“简单地”读取/写入数据块。

那里有很多特定于 Android 的库,但没有任何简化 MiFare 通信的普通旧 J2SE 库(使用 javax.smartcardio 和 APDU 命令...)

谁能给我一些真正好的和有用的指点:

  • 对 MiFare Ultralight 和经典使用 APDU 命令
  • (帮我开发)一个 J2SE 库,它消除了发送到卡/从卡发送的所有 HEX 命令的复杂性
  • 在这些卡上使用的示例(超轻/经典)...

非常感谢任何帮助。

开发完成于:

  • ACS acr122U NFC 读卡器
  • 使用 PC/SC lite 库的 Linux 平台
  • MiFare Ultralight 和 Classic 1K/4K 7UID 卡
  • Java SDK 1.6+ 及更高版本
  • 带有 NFC 的 Android 4.4.x 手机(例如 Huwawei ...)

【问题讨论】:

    标签: java mifare apdu acr122


    【解决方案1】:

    我编写了一个小型 Java (1.7+) 程序来使用 ACS ACR122U 转储(和写入)MiFare Classic 1K 标签。它是可用的on GitHub。在底层,它使用了一个普通的旧 J2SE 库,名为 NFCTools

    NFCTools 通过管理所有十六进制/APDU 内容来帮助您与 NFC 卡进行通信。它带有numerous examples。但是我不知道主要开发人员是否还想维护它。例如,他将许多 Mifare 类标记为已弃用,以重构 Mifare 支持,但它仍然是一个 正在进行的工作 2 年了。 From the mailing list:

    我首先编写了对 mifare 经典卡的支持,它似乎是 使用这些类来描述内存区域是个好主意。 但是,当我想添加对上述超轻标签的支持时 类不会工作。有了超轻标签,我决定使用 新方法并创建一个 org.nfctools.mf.ul.MemoryLayout 类。一世 认为这是要走的路,所以我将 MfCard 类标记为 已弃用。

    尽管处于这种中间状态,但它支持许多阅读器和标签格式。这些例子非常有用。然后,如果您有一些特定的要求,我建议您为这个项目做出贡献或分叉它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-10
      • 2021-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      相关资源
      最近更新 更多