概要
非接触カードを扱うためのライブラリ PC/SC
を Raspberry Pi 上で扱う.Java の実装に jpcsc.jar があるのでこれを使ったアプリケーション開発のための環境を整える.
環境
- Raspberry Pi Type-B
- Arch Linux
- Open JDK 8
手順
pcscd を走らせる
$ sudo pacman -S ccid opensc
$ sudo systemctl enable pcscd.service
$ sudo systemctl start pcsc.service
/etc/udev/rules.d にカードリーダーを設定
sudo
なしでカードリーダーにアクセスできるように,以下の設定をした方がいいという噂を聞いたことがある…….
/etc/udev/rules.d/nfcdev.rules
# SONY RC-S330
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02e1", MODE="0664", GROUP="plugdev"
# I-O DATA USB2-NFC2
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="23eb", ATTRS{idProduct}=="0002", MODE="0664", GROUP="plugdev"
$ sudo udevadm control --reload-rules
$ lsusb
して認識されているか確認.
jpcsc.jar を使って開発
プロジェクトディレクトリの中に lib
とかいうディレクトリを作ってその中に jpcsc-0.8.0.jar
と libjpcsc.so
を配置しておく.
$ javac -cp ${PATH_TO_JPCSC.JAR} CLASS.java
$ java -cp ${CLASS_ROOT}:${PATH_TO_JPCSC.JAR} -Djava.library.path=${PATH_TO_LIB_DIR} CLASS
で OK.
ちなみに API doc は ここ にある.