Strawberry Linux Co.,Ltd.さんが販売しているUSB温度・湿度測定モジュール(以下、USBRH)を*BSDで使おうというページです。
このプログラムで行っているデバイスの制御方法は、私が独自に調査したものです。この件に対して、Strawberry Linuxさんへ問い合わせなどを行うことは「絶対に」しないでください。
Strawberry Linuxさんが販売している、USB接続の温度・湿度測定モジュールです。組み立て済みのものとキット(自分ではんだ付けする)があります。上の写真のように、ケース等はなく基板むき出しの形で販売されています。温度・湿度センサとして、Sensirion社のSHT11が使われています。
残念ながら、Strawberry LinuxさんからはWindowsのDLLしか公開されていないため、*BSDで使えるようにしてみました。(Linuxな方にはBriareosさん作成のUSBRH on Linuxや、kimataさん作成のUSBRH driver for Linuxがあります。)
uhidev0 at uhub0 port 3 configuration 1 interface 0 uhidev0: Strawberry Linux Co.,Ltd. Hygrometer/Thermometer, rev 1.10/1.00, addr 2, iclass 3/0 uhid0 at uhidev0: input=7, output=7, feature=7
温度と湿度を読み取るユーザプログラムが一応できました。GENERICカーネルなどuhidを有効にしたカーネルで使用してください。
unix% ./usbrh 31.30 60.6 unix% ./usbrh -f /dev/uhid0 31.30 60.6 unix% ./usbrh -v Temperature = 31.30 C Humidity = 60.6 %
動作確認環境
自宅では、上記のプログラムとRRDtoolを使って1時間ごとに温度・湿度を記録し、グラフを描かせています。ある夏の日の例:
"Nagoya"のデータは名古屋地方気象台のアメダスデータを引っ張ってきています。