USBでつなげる温度湿度計
SLで使おうとしたときに起こったトラブルと、その解決方法を記しておく。
https://strawberry-linux.com/catalog/items?code=52002
http://green-rabbit.sakura.ne.jp/usbrh/ ←-主にここを参照
http://green-rabbit.sakura.ne.jp/usbrh/#id7 からドライバをダウンロード&インストール
http://green-rabbit.sakura.ne.jp/usbrh/dist/usbrh-0.0.9.tgz から落としてきて、展開して
make; sudo make install;
lsusb -d 0x1774:0x1001
して、
Bus 004 Device 002: ID 1774:1001
のようにID 1774:1001 のデバイスが表示されることを確認
lsmod | grep usbrh
して、usbrh が表示されることを確認
まず、以下が作成されていることを確認
/etc/udev/rules.d/10-usbrh.rules /lib/modules/2.6.32-431.1.2.el6.i686/extra/usbrh.ko
(2.6.32-431.1.2.el6.i686 の部分は uname -r でlinuxのバージョンを確認)
cd /lib/modules/2.6.32-431.1.2.el6.i686/extra/ sudo insmod usbrh.ko //ドライバのロード
もう一度
lsmod | grep usbrh
して、usbrh が表示されることを確認
dmesg | grep 1774:1001
して、
USBRH device now attached to /dev/usbrh[番号]
という出力があることを確認
※generic-usb 0003:1774:1001.0002: hiddev96,hidraw1: USB HID v1.00 Device [Strawberry Linux Co.,Ltd. Hygrometer/Thermometer] on usb-0000:00:1d.1-1/input0 のような出力があった場合(USB HID)
ls -F /sys/bus/usb/drivers/usbhid/
したとき、
2-2:1.0@ 3-2:1.1@ bind new_id unbind
の様なものが表れる。
@のついているものがUSBにつながっているでデバイス
それぞれのディレクトリの中をのぞいてみると
0003:1774:1001.000A
のようなディレクトリ(1774:1001 が入っている)があるものがあるはず。
そちらがusbrcをさしている。(usbを抜き差ししても確かめられる)3-2:1.0がそうとすると、
sudo echo -n "3-2:1.0" > /sys/bus/usb/drivers/usbhid/unbind //usbhid をアンバインド sudo echo -n "3-2:1.0" > /sys/bus/usb/drivers/usbrh/bind //usbrh をバインド
してやる。
dmesg | grep USBRH
してみると
usb 3-2: USBRH device now attached to /dev/usbrh0
と表示されるはず。さらに
/proc/usbrh/0/
というディレクトリができているはず!!
cat /proc/usbrh/0/temparature
とするとそのときの温度が表示される!!
cat /proc/usbrh/status >> status.txt
とかすると、
t:22.28 h:43.37
のように書き出される。