Raspberry Pi と交通系ICカードを使ったポイントシステム(環境構築編)

はじめに

前回は、RaspberryPi(raspi)のセットアップをしました。 9bo.hateblo.jp 今回は、ICカードを読み取るための環境構築をします。

開発環境

開発メモ

ソフトウェアのインストール

まずは、NFCカードリーダで、カードを読み取るところまでやってみます。 今回はnfcpyというPythonのライブラリを使用しました。 Pythonは標準で入っているようなので、pipとbzrをインストール

yum install bzr python-pip

nfcpyの導入

公式ドキュメントを参考に導入します。

Getting started — nfcpy latest documentation

$ pip install libusb1 pyserial
$ mkdir ~/nfcpy
$ cd ~/nfcpy
$ bzr branch lp:nfcpy trunk

NFCカードリーダを接続して、raspi上で認識されているか確認

$ lsusb
Bus 001 Device 004: ID xxxx:xxxx Sony Corp. 

認識されていますね。

では、サンプルプログラムを動かしてみましょう。 pythonでUSB機器を操作する場合には、sudoで動かす必要があることに注意してください。

$cd ~/trunk
$sudo python examples/tagtool.py show
[nfc.clf] searching for reader on path usb
[nfc.clf] using SONY RC-S380/P NFC Port-100 v1.11 at usb:001:004
** waiting for a tag **
Type3Tag 'FeliCa Standard (RC-S???)' ID=xxxxxxx PMM=xxxxx SYS=0003

tagtool.pyを起動して、適当なICカードをタッチすると、固有IDが読み取れていることが確認できます。

次回は、今回作成した環境を用いて、ソフトウェアを作成します。

参考文献

qiita.com

blog.shibayan.jp