実行時にこの例外が表示される理由がわかりません
javax.smartcardio.CardException: list() failed
at sun.security.smartcardio.PCSCTerminals.list(PCSCTerminals.java:126)
at javax.smartcardio.CardTerminals.list(CardTerminals.java:72)
at prueba.ClaseNFC.doCardReaderCommunication(ClaseNFC.java:41)
at prueba.Prueba.main(Prueba.java:20)
Caused by: sun.security.smartcardio.PCSCException: SCARD_E_NO_READERS_AVAILABLE
at sun.security.smartcardio.PCSC.SCardListReaders(Native Method)
at sun.security.smartcardio.PCSCTerminals.list(PCSCTerminals.java:80)
... 3 more
コードは次のとおりです。
TerminalFactory terminalFactory;
terminalFactory = TerminalFactory.getDefault();
System.out.println(terminalFactory);
List<CardTerminal> terminals = terminalFactory.terminals().list();
System.out.println("Terminals: " + terminals);
if (terminals.isEmpty()) {
throw new Exception("No card terminals available");
}
RPi はコマンド「lsusb」でカードリーダーを認識し、「Bus 001 Device 007: ID 072f:2200 Advanced Card Systems, Ltd」と表示されるため、これは奇妙です。
私は数日前に読んでいて、人々はACR122UのページからPC / SCパッケージをインストールすることについて話しています - http://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/ - そしてそれは問題を解決します。実際、そのパッケージは amd64 および i386 アーキテクチャに役立ち、RPi には Raspbian (Debian/Linux) を使用する ARM アーキテクチャがあります。
私の質問は、そのパッケージを ARM アーキテクチャにインストールする方法を教えていただけないでしょうか? または何とか私の問題を解決するには?
ありがとうございました