以前のエントリで佐古前装備さんで購入したRaspberryPi
に接続したPaSoRi RC-S330
がnfcpy
(Pythonモジュール)で使用できないということを書いていました。
ですが、公式ドキュメントでは対応しています
という記載があり、それを見ながらRaspberryPi
で設定にチャレンジしていました。
うまく行かないけどそれは本能なのだろうかと思い、Ubuntu
をPCにインストールして検証してみました。
参考・過去エントリ
参考・対応デバイス
動作検証してみる
今回はUbuntu Desktop 21.04
を使用しています。基本的な設定は前述の過去エントリにも記載しているので省略しますが、問題なく動作しました。サンプルのtagtool
でもIDm
の表示が行われていました。
設定
# nfcpyモジュールのインストール $ pip3 install nfcpy # 認識状態の確認 $ python3 -m nfc # 実行後に表示される以下のコマンドを実行する $ sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"054c\", ATTRS{idProduct}==\"02e1\", GROUP=\"plugdev\" >> /etc/udev/rules.d/nfcdev.rules' $ sudo udevadm control -R # 再起動 $ sudo reboot # 認識状態の確認 $ python3 -m nfc
以下のGitHub
リポジトリをクローンしてexample/tagtool
を実行します。
すると以下のように正常に動作します。
おわりに
以前は、アーキテクチャの違いで動かないデバイスも多かったのですが、最近ではほぼ同じように動くものも多かったので、そのままの感覚で動作させようとしていましたが、考えてみれば確かにアーキテクチャ違いでデバイスドライバも異なり、一概にドキュメントの言葉を信じるのもどうかと思います。
今回の件から結論づけるならば、RaspberryPi(RaspberryPi OS)
ではnfcpy
を使用したRC-S330
の動作は行えず、Ubuntu(x86など)
では問題なく動作しています。
対応という言葉をそのままRaspberryPi
でも対応していると早とちりしてしまい、混乱してしまったという教訓の内容でした。
この実験後安心できたこともあり、カードゲームみたいなものができるといいなと思って追加で7つほどデバイスを購入しています。