kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

rasberry piとnfc読み込み

f:id:kazu22002:20200928064534p:plain

ICカードを利用したアプリを開発するために技術検証中です。

ソニー 非接触ICカードリーダー/ライター PaSoRi RC-S380

ソニー 非接触ICカードリーダー/ライター PaSoRi RC-S380

  • 発売日: 2012/10/10
  • メディア: Personal Computers

SONYPasoriを使ってみようかと記事を検索してみると「nfcpy」が結構出てきたので触ってみようとサンプルを実行

raspberryPiと接続確認

raspberryPiとPasoriを繋いでみます。

pi@raspberrypi:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 054c:06c3 Sony Corp. RC-S380

lsusbで確認すると、Sony Corp. RC-S380を確認。認識していそうです。

繋ぐだけでいけました。

インストール

nfcpyをpipでインストール

nfcpy.readthedocs.io

pip3 install -U nfcpy

ソースファイルを取得

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

サンプル実行

examplesにサンプルがあるため、サンプル実行して確認してみます。

cd nfcpy
sudo python3 examples/tagtool.py

実行後、カードリーダーにICカードを載せるとカード情報が表示がされます。

pi@raspberrypi:~/nfcpy/examples $ python3 tagtool.py
[nfc.clf] searching for reader on path usb
[nfc.clf] using SONY RC-S380/P NFC Port-100 v1.11 at usb:001:003
** waiting for a tag **
Type2Tag 'NXP NTAG213' ID=0000000000000
NDEF Capabilities:
  readable  = yes
  writeable = yes
  capacity  = 137 byte
  message   = 0 byte

読み込むだけなら簡単っぽいですね。

sudo をなくす

sudo vi /etc/udev/rules.d/nfcdev.rules
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="06c3", GROUP="plugdev" # Sony RC-S380/P

ファイル作成後に再起動することで、sudoをする必要がなくなります。

Device Pathの内容を設定するみたいですね。

nfcpy.readthedocs.io

雑記

開発自体はmacで行いました。

参考

jellyware.jp

uchan.hateblo.jp