pasori RC-S320でのFeliCa IDmを読み込む場合はこちら
基本的にnfcpyの公式に書かれている内容通りですが、色々躓いたところもあったのでまとめました。
環境
ハード:raspberrypi3
OS:raspbian
リーダ:pasori RC-S380
#nfcpyのインストール
nfcpyはバージョン0.10の場合、おサイフケータイや免許証のFeliCa読込時にIDmがうまく読み込めなかったため、以下では0.9をインストールしています。
$ sudo apt-get install python-usb
$ sudo apt-get install bzr
$ mkdir nfcpy
$ cd nfcpy
$ bzr branch lp:nfcpy/0.9
#nfcにパスを通す
どこでも"import nfc"を使えるようにする。
sudo ln -s /home/pi/nfcpy/0.9/nfc /usr/local/lib/python2.7/dist-packages/
#sudoなしでnfcを使えるようにする
lsusbでIDを確認する。
$ lsusb
Bus 001 Device 004: ID 054c:06c3 Sony Corp.
...
確認したIDが054c:06c3と異なる場合、下記コマンドのidVendorとidProductの指定を変更して実行する。
$ sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"054c\", ATTRS{idProduct}==\"06c3\", GROUP=\"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
設定を反映させるため再起動させる。
sudo reboot -h now
#IDmを読み込むsampleコード
idm_reader.py
import nfc
import binascii
def connected(tag):
idm = binascii.hexlify(tag.idm)
print(idm)
return idm
clf = nfc.ContactlessFrontend('usb')
clf.connect(rdwr={'on-connect': connected}) # now touch a tag
clf.close()