2012/06/09

nfcpyを動かす

Windows XP環境でnfcpyを動かした。
既にいろいろインストールされている環境なので、他にもいるものがあるかもしれんが、まあ記録として書いておこう。
ドキュメントを読みながらやっているので、そう変わらんかも。

いるもの

  • cygwin (Windows環境でもできるらしいが、わからんかった)
  • libusb-win32
  • pyUSB

インストール

  1. cygwinをインストール。pythonもインストール。3.x系はだめらしい。
  2. libusb-win32は1.2.6.0を使った。libusb.aを/usr/lib/に、lusb0_usb.hを/usr/include/にコピー。
  3. pyUSBは0.4.3を使った。1.x系はだめらしい。ちなみにcygwinを使ったのは、これのインストール時にvcvarsall.batをうまく解決できなかったため。Windows SDKみたいなのがいると思う。
  4. nfcpyをbzrで持ってくる。

チュートリアル

ドキュメント参照。
書かれていない基本的なことを書こう。
まず、pythonを手入力コードで動かすには「python」って打つ。
そうすると「>>>」というコマンドプロンプトになるので、打っていく。
「import xxx」というのは、たぶんディレクトリ構成そのままだろうと思う。
チュートリアルで「import nfc」とあるが、これはnfcpyをダウンロードした中にある「nfc」というディレクトリ内にあるライブラリを読み込む、みたいなことをするみたい。
チュートリアルの「HelloWorld」を動かすには、
$ python HelloWorld
$ python helloworld.py
などとする。
このHelloWorldサンプルは、カードを一度かざし、もう一度かざし直すと何かして終わるようになっている。
気になったので、FeliCaランチャーで使ったカードをかざすと、項目として「NFCタグ(テキスト)」が出てきた。
クリックすると、ブラウザが起動して「Hello World」と出てきた。
へー。
そ、それだけじゃなかった。
read_ndef.pyというサンプルがあったので見てみると、言語ごと(ここではen, de, frの3つ)が書き込まれていた。
やるな、サンプルのくせに・・・。
いやあ、便利だわぁ。
SNEPサンプルもあるので、実装したら試せそうだ。

libusbの方も説明した方がよいかも。
libusb-win32を解凍すると、binディレクトリの中にinf-wizard.exeがある。これを実行して、PaSoRiなんかをうまいことlibusbで使えるようにしてやらないといかん。
また、binの下の方にtestlibusb-win.exeがあるので、試しておいた方がよい。
これでPaSoRiが見えなかったら、nfcpyも使えないはず。
私はzadigでlibusbが使えるものだと思っていたのだが、そうではないようだった。
(zadigは、ドライバの種類を選択できるのだった。libusbドライバを選べばよいのかも。)
inf-wizardでlibusbから使えるようにすると、今度はFeliCaランチャーみたいなアプリから使えなくなる。
そのときはデバイスマネージャからPaSoRiを探し出し、ドライバの更新をすると戻る。

0 件のコメント:

コメントを投稿

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