NFCの情報読み込みに nfcpy を使ってみました。この記事では Mac にて nfcpy を利用してNFC情報読み込みをするまでをまとめます。
環境
- macOS High Sierra 10.13.4
- Python 2.7.15
- NFCリーダー PaSoRi RC-S370
- nfcpy Overview — nfcpy 0.13.5 documentation
nfcpy のインストール
その前に、 Python のバージョンを確認しましょう。
nfcpy は 2018/5/6 現在、まだ Python3 には対応していません。
Support Python 3 · Issue #47 · nfcpy/nfcpy · GitHub
Python2 を使用している場合
$ brew install libusb $ pip install nfcpy
これでサクッとインストールできます。
以下でエラーが発生せずに import ができたら完了。
$ python >>> import nfc
注意:Mac デフォルト Python は pip がインストールされていないため、「Python3 を使用している場合」と同じ手順になります。
Python3 を使用している場合
Homebrewでインストールされる/usr/local/bin/pythonが再びPython2に変更 に記載されているとおり、 HomeBrew でインストールされるのが Python3 になっています。Python3 では nfcpy が動作しないため、 pyenv で Python2&pip を使えるようにするか、 Mac に Python2&pip をインストールする必要があります。
(過去に pyenv 使って、環境ぐちゃったので pyenv は削除!) qiita.com
というわけで、私は Mac に Python2&pip をインストールしました。
インストール方法は下記コメントにもあるように、 Python 公式からインストールするのがベターです。
4. Macintosh で Python を使う — Python 2.7.15 ドキュメント に詳細が記載されています。Python 2.7.15 のインストーラーをダウンロードして、あとはポチポチしていくだけです。
$ python2 -V Python 2.7.15
では、改めて pip2 で nfcpy をインストールします。
$ brew install libusb $ pip2 install nfcpy $ python2 >>> import nfc
nfcpy をつかってみる
上記より、ソースをダウンロードなりしてきます。
nfcpy/examples/tagtool.py を実行するだけで NFC の読み込みをすることができます。
$ python2 tagtool.py show [nfc.clf] searching for reader on path usb [nfc.clf] using Sony RC-S370/P RCS956v1.30 at usb:020:003 ** waiting for a tag **
「waiting for a tag」の状態でNFCをかざして読み込めたら成功です。