|
カテゴリ:Raspberry Pi
電子工作系はちょっと横に置いておき、Raspberry Pi で NFC カードを読み取ってみる。使った NFC リーダーは、Sony の パソリ RC-S380/P。nfcpyを使ったら、簡単にカード情報を読み取ることができた。pynfc: Python bindings for libnfc は 2012年7月末から更新がないような感じなので、nfcpy を使うことにした。
nfcpy の公式ドキュメントの nfcpy Example Programsを見ると便利なtagtool.py などの使い方も分かる。Using LibUSB for installing FeliCa NFC-Device on Windows 7 64bit とかは answers.lauchpad.net/nfcpy で見つかる。 nfcpy: Getting started を見ると、インストールの仕方が分かる。nfcpy のページも読んでおいた方が役に立つ。日本語情報で参考になるのは、nfcpyでお手軽NFC開発[1/2]、nfcpyでお手軽NFC開発[2/2]あたり。 たとえば、sudo でプログラム動かすのやだしというのであれば、 /etc/udev/rules.d/nfcdev.rules にリーダーの情報を登録してあげればいいとかは、公式サイトの nfcpy のサイトを見ると分かる。私の場合、パソリ RC-S380/P を使っているので、idVendor=054c, idProduct=06c3 を含む情報を書き込んだ。dmesg コマンドで見ると、
なので
を書き込んだ。 Python module for near field communication: A major update for nfcpyを見ると、次のようにあるので、RC-S380 が使えるなら RC-S380/P でも大丈夫かなと、ちょっと idProduct を変えて試したわけ。
これで、USB を引きぬいてから、再度つなぐと、sudo しなくてもプログラムが動かせるようになった。ちなみに、ユーザーは、plugdev グループに入れておく必要があるが(GROUP="plugdev" で指定している)、Raspberry Pi のデフォルトユーザーの pi は最初からそういう設定になっているので、nfcdev.rules に書き込むだけで OK だった。 インストールについては、python-usb を最初にインストールしておく。lsusb コマンドで、パソリが認識されているのを確認。
その後、nfcpy をダウンロード
ダウンロードしたら試してみる。
インタプリタからも試してみる。ちゃんと認識している。
リーダーをUSB デバイスとして決め打ちで指定するときには、
のようにすればよい(前のコマンドを実行したあとで、うまく行かなかったら、clf.close()してから、決め打ちの方法を試してみればよいようだ。 ちなみに、sudo しないで Python を実行すると、リーダーが見つからないので、上述のように nfcdev.rules にリーダー情報を書き込んで使うか、毎回 sudo で実行する。 nfcdev.rules に書き込まず、sudo しないと次のようにリーダーが認識できないかった。
読んだだけではつまらないので、Raspberry Pi で LED チカチカしてみた で試した LED をチカリと光らせてみた(単にカードを読み込み終わったあとに、チカリと LED を点滅させるだけ)。 過去の関連記事 ![]() ★確実正規★返金保証★サポート抜群【最安挑戦】【即納】ラズベリーパイ Raspberry Pi Type B 512MB【確実正規】
[Raspberry Pi] カテゴリの最新記事
|