アルペンスキータイミングシステム開発中

アルペンスキー用のタイム測定器を開発しようとしています。

NFC リーダー SONY Pasori RC-S380を接続

選手がスタートするときに簡単にビブを入力したいので考えていると、nfcタグが安く変えることを発見。 そこでnfcリーダーを接続してみる。

リーダーはPasoriがみなさん使っているようなのでこれを選択。 でも、機種がいろいろあるけどとりあえず新しそうなRC-S380にした。

www.sony.co.jp

接続してみる

Raspberry Piに接続するとsyslogに次のように出る。

kernel: [  784.864501] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
kernel: [  784.967826] usb 1-1.2: New USB device found, idVendor=054c, idProduct=06c3
kernel: [  784.967846] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=4
kernel: [  784.967859] usb 1-1.2: Product: RC-S380/P
kernel: [  784.967872] usb 1-1.2: Manufacturer: SONY
kernel: [  784.967884] usb 1-1.2: SerialNumber: 0388264

どうやって使うかいろいろ調べていると、いろんなやり方があるようだけどlibnfcは古い機種しかダメなようだ。 S380はnfcpyが使えそう。

Python module for near field communication — nfcpy latest documentation

nfcpyのインストール

pip

pipというやつでlibusb1 をインストールしろとある。

pipはpythonのパッケージ管理ツールのようだ。

aptでもインストールできるようだが探す前にpipのサイトにあるように次のようにインストールした。

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

libusb1

pip install libusb1 pyserial

nfcpy

次にnfcpyをインストールしようと思ってInstallationの通りにやろうと思ったけど、トップページにはGitHubでと書いてあるのにInstallationではbazzerを使っている。

しかもpipでインストールできるとも書いてある。

http://nfcpy.readthedocs.io/en/latest/topics/get-started.html#installation

なのでpipでインストールした。

pip install -U nfcpy

動作確認

動作確認がまだだけどソースにサンプルがあるので結局ソースをダウンロードする。

git clone https://github.com/nfcpy/nfcpy.git

example/tagtool.pyを実行してみる。

pi@raspberrypi:~/src/nfcpy/nfcpy/examples $ sudo ./tagtool.py --device usb:054c:06c3
[nfc.clf] searching for reader on path usb:054c:06c3
[nfc.clf] using SONY RC-S380/P NFC Port-100 v1.11 at usb:001:004
** waiting for a tag **

タグがないのでまだ読み込んでいないけどとりあえず動作してそうだ。