USBRHが余ったので会社のMacから利用できないかと思って試行錯誤してみたけどダメだった。途中経過まで残しておく。
usbrh温度計を組み立てる、その2。pyusbとubuntu 10.04とbulkRead - dullhikoのだるい日記
を動かしてみようと思った。 何も考えずにコピペしてpip install pyusbして動かすと、当然のように動かなかった。色々とあったけど結果をまとめると、
- pyusbのバージョンは0.4.3でなければならない
- pipでは1.0.0a1以降のパッケージしか存在しないので、自前で0.4.3をビルドする必要がある
- SourceForgeからソースをダウンロードすれば良い。
python setup.py install
- SourceForgeからソースをダウンロードすれば良い。
- このとき、brew install libusbしているとビルドできない。brew install libusb-compatしておく必要がある
- pipでは1.0.0a1以降のパッケージしか存在しないので、自前で0.4.3をビルドする必要がある
ということだった(蛇足だけど、pipはパッケージのインストール可能なバージョンの一覧を出してくれても良いのではないだろうか…)。
しかし、その上で動かしてみたところ、
/Users/akimasa/hacks/usbrh-osx% sudo python test.py Password: Traceback (most recent call last): File "test.py", line 6, in <module> t.open() File "/Users/akimasa/hacks/usbrh-osx/usbrh.py", line 87, in open self.handle.claimInterface(self.iface) USBError: Permission denied Traceback (most recent call last): File "test.py", line 17, in <module> t.close() File "/Users/akimasa/hacks/usbrh-osx/usbrh.py", line 93, in close self.handle.releaseInterface() ValueError: No interface claimed Exception ValueError: ValueError('No interface claimed',) in <bound method Usbrh.__del__ of <usbrh.Usbrh instance at 0x1016cf200>> ignored /Users/akimasa/hacks/usbrh-osx%
とかなんとかで、要するにPermission deniedでデバイスにアクセスできない。しかし何故かLEDの制御だけはできる。よく分からん。何か他の変なプロセスが勝手に握ってるとかだろうか。
とまあそんなところで、これ以上深入りするくらいだったらRaspberry Piを利用してみんながやっているようにLinuxからアクセスするなり、別途Windowsマシンを用意するなり、USBRHのセンサーをぶち抜いてArduinoに食わせてやった方が楽だろうという感じがしてきたので、止めることにした。
うまく動かせている人がいたら教えて欲しい。