2

我正在使用 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

不幸的是,这也不起作用。

寻求建议下一步该怎么做,在此先感谢!

4

1 回答 1

0

同样在这里。附加提示:LED 未激活。

但是将读卡器连接到活动的 USB 集线器对我有用 (*)。LED 亮起,发出哔哔声,java 可以找到终端。

(*它可以工作几个小时:-O)

编辑:对于记录:

重新安装数据包使我的设备恢复正常。每次更改 USB 端口时,我都必须重新安装数据包。

apt-get install --reinstall pcscd pcsc-tools libpcsclite1 libpcsclite-dev libpcsclite1 libccid

(我没有时间确定导致...的数据包)

于 2018-09-17T07:10:29.090 回答