我正在使用 Raspberry Pi 在 Java 中构建一个 NFC 读卡器小程序。由于某种原因,Java 没有“看到”整个终端,而 nfc-list 和 pcsc_scan 都看到了连接的阅读器。
pi@raspberrypi ~ $ sudo nfc-poll nfc-poll uses libnfc 1.7.1 NFC reader: ACS / ACR122U PICC Interface opened NFC device will poll during 30000 ms (20 pollings of 300 ms for 5 modulations) ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
UID (NFCID1): 3b 3a 34 06
和 pcsc_scan
pi@raspberrypi ~/pcsc-tools-1.4.23 $ ./pcsc_scan
PC/SC device scanner
V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.13
Using reader plug'n play mechanism
Scanning present readers...
0: ACS ACR122U 00 00
Mon Apr 13 12:06:54 2015
我的 Java 代码如下所示,这是一个查看终端是否工作的小脚本。
import java.util.List;
import javax.smartcardio.*;
public class ReadCard {
public static void main(String[] argv) throws Exception {
// show the list of available terminals
TerminalFactory factory = TerminalFactory.getDefault();
List<CardTerminal> terminals = factory.terminals().list();
System.out.println("Terminals: " + terminals);
}
}
我还尝试使用以下命令手动选择 pcsc 库:
pi@raspberrypi ~ $ java -Dsun.security.smartcardio.library=/usr/local/lib/libpcsclite.so.1 ReadCard
Terminals: []
pi@raspberrypi ~ $ whereis libpcsclite.so.1
libpcsclite.so: /usr/local/lib/libpcsclite.so.1 /usr/local/lib/libpcsclite.so
不幸的是,这也不起作用。
寻求建议下一步该怎么做,在此先感谢!