Raspberry PiにUbuntuをぶち込んで、USB接続したNFCリーダーで動作させるまで。
環境
動作させる環境。
Raspbery Pi
- Raspberry Pi 4 ModelB 2GB
- Ubuntu 20.04.1 LTS (64bit)
NFCリーダー
- SONY RC-S380
Raspberry Pi公式ページDLから、Raspberry Pi ImagerをダウンロードしてSDカードに書き込み、Raspberry Piを起動。
初期設定
色々やったので、要らない項目もあるかもしれないけど
$sudo apt update
$sudo apt upgrade
$sudo apt -y install python3-pip
$sudo pip3 install -U nfcpy
以下はお好みで。
$timedatectl set-timezone Asia/Tokyo
$sudo apt -y install ubuntu-desktop
NFCリーダーを動作させる
Raspberry PiにNFCリーダーを接続する。
以下のファイルを用意する。
$cd ~
$vi nfctest.py
~/nfctest.py
import nfc
clf = nfc.ContactlessFrontend("usb")
print(clf)
上記のコードを実行してみる。
$ python3 nfctest.py
するとIOErrorが出た。
OSError: [Errono 19] No such device
以下のコマンドで解決策が表示されるみたい。
$ python3 -m nfc
おそらくバーッと英語が表示されるけど、そのうち「sudo~」で始まるコマンドがいくつか書かれているので、それを実行していく。
$sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"054c\", ATTRS{idProduct}==\"06c1\", GROUP=\"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
$sudo udevadm control -R
エラーなくコマンドは通ったので、もう一度実行してみる。
$ python3 nfctest.py
OSError: [Errono 19] No such device
あれ?まだダメだ。
$ python3 -m nfc
もう一度、上記コマンドを打ってみると、別のコマンドが表示されていた。
$sudo modprove -r port100
$sudo sh -C 'echo blacklist port100 >> /etc/modprove.d/blacklist-nfc.conf'
再度、コードを実行してみる。
$ python3 nfctest.py
SONY RC-S380/S on usb:001:005
やっと通った!
これで開発が進められます。
「【Ubuntu】NFCリーダーを接続して動かすまで」への1件のフィードバック