以前このブログでも何度かエントリーを書いた SONY RC-S380 で FeliCa カードを読み込んだ情報を Python で利用する話。
Windows 7 Professional で開発をしてたんだけど、今回、環境を Windows 10 Pro に移した。
その際、ちょっと Windows 7 の時何をやったかすっかり忘れてて、うろ覚えでセットアップして「プチはまり」をしたので環境構築についてメモっておく(^^;
ちなみに、Python 3.8.3 はすでにインストールされている。
1.WinUSB ドライバのインストール
https://zadig.akeo.ie/ からダウンロードした zadig-2.5.exe を使って WinUSB のインストールを行う。RC-S380 を Windows 10 に接続したときに自動でインストールされた sonynfcport100c(v1.5.7.2)を WinUSB(v6.1.7600.16385)に Replace する。・・・が、これ、本当に必要だったのか?Windows 7 のときには必要だったが、Windows 10 だと sonynfcport100c ドライバがインストールされているので、WinUSB ドライバを入れる必要があるのかどうなのか?もし、このページを見てセットアップをしようと思っている人は、一度、この作業無しで RC-S380 が読めるか試してみてほしい。俺は面倒臭いので試さないけど(笑)
2.pip のバージョンアップ
3.nfcpy モジュールのインストール必須ではないが、モジュールのインストールの度にワーニングが出るのでバージョンアップしておく。コマンドプロンプトで、python -m pip install --upgrade pip
コマンドプロンプトで、
pip3 install nfcpy
libusb1 1.8
ndeflib 0.3.3
nfcpy 1.0.3
pip 20.1.1
pyDes 2.0.1
pyserial 3.4などがインストールされる。
4.libusb-1.0.dllのインストール
から最新版ダウンロード。今日時点の最新版は、ダウンロード後、展開したファイルを、Windows システムフォルダにコピー。・64bit版展開場所\MS64\dll\libusb-1.0.dll → C:\Windows\System32 にコピー・32bit版展開場所\MS32\dll\libusb-1.0.dll → C:\Windows\SysWOW64 にコピー余談だが、64bit プログラムを格納する場所が System32 だとか、このわかりづらい構成はどうにかならんものか?(^^;>Windows
以上で、Windows 10 でも、Python プログラムの中から FeliCa カードが読めるはずだ。
ちなみに、作成したプログラムの中で HTTP プロトコルを使ってサーバにカード情報を飛ばしているので、requests モジュールも pip でインストールしないといけないのだが、これは、まあ、俺独自の話なので(笑)
コメントする