2012/06/30

nfcpyの使い方を忘れたので、復習

以前、nfcpyを動かした。
http://hiro99ma.blogspot.jp/2012/06/nfcpy.html
なのに、もう忘れた・・・。
  $ python HelloWorld
ってやったけど、そんなファイルはない、って怒られた。
こういうときは、復習だ。

とりあえず、nfcpyをダウンロードしたディレクトリでcygwinを開く。
$ python
>>>
OK。
>>> import nfc
OK。
>>> clf = nfc.ContactlessFrontend()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "nfc/clf.py", line 53, in __init__
    self.dev = dev.connect(path)
  File "nfc/dev/__init__.py", line 55, in connect
    import usb
ImportError: No such file or directory

エラー。
usbってのがない。
確かにここにはないのだけど、以前pyUSBってのはインストールしたのだよ。
ああ、cygwinのUSB周りを整理したときに、いろいろと削除しすぎたのがよくなかったみたいだ。
もう一度、pyUSBのインストール。
pyUSB0.4.3をダウンロードして、
  $ python setup.py install
コンパイルエラーが出たので、usb.hとlibusb.aをREADMEにある通りに配置。
そうすると、ビルド成功。インストールも成功。
>>> import usb
OK。
>>> clf = nfc.ContactlessFrontend()
No handlers could be found for logger "nfc.clf"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "nfc/clf.py", line 58, in __init__
    raise LookupError("couldn't find any usable nfc reader")
LookupError: couldn't find any usable nfc reader

エラー。
使うことができるR/Wがないよ、といわれた。
そういえば、PaSoRiは今WinUSBドライバで動かしているので、libusbドライバにせんといかんかった。
zadig.exeを使って、List All Devices→RC-S956選択→libusb-win32選択→Replace Driver、としてドライバ差し替え。
>>> clf = nfc.ContactlessFrontend()
OK。
>>> clf.close()
>>> exit()
として、プロンプト終了。
ひきつづき、サンプルを動かす。
$ cd examples
$ python HelloWorld
python: can't open file 'HelloWorld': [Errno 2] No such file or directory
あれ、こんな使い方じゃなかったっけ?
$ python helloworld.py
Please touch a tag to send a hello to the world
Remove this tag
No handlers could be found for logger "nfc.dev.pn53x_usb"
Now touch it again to receive a hello from the world
en: Hello World
de: Hallo Welt
fr: Bonjour tout le monde

あああ・・・。以前書いた記事が間違っていたのだ。修正しときました。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。