USBRH on *BSD

[Now Japanese only]

USBRH photo

Strawberry Linux Co.,Ltd.さんが販売しているUSB温度・湿度測定モジュール(以下、USBRH)を*BSDで使おうというページです。


重要

このプログラムで行っているデバイスの制御方法は、私が独自に調査したものです。この件に対して、Strawberry Linuxさんへ問い合わせなどを行うことは「絶対に」しないでください。

USB温度・湿度測定モジュールって?

Strawberry Linuxさんが販売している、USB接続の温度・湿度測定モジュールです。組み立て済みのものとキット(自分ではんだ付けする)があります。上の写真のように、ケース等はなく基板むき出しの形で販売されています。温度・湿度センサとして、Sensirion社のSHT11が使われています。

残念ながら、Strawberry LinuxさんからはWindowsのDLLしか公開されていないため、*BSDで使えるようにしてみました。(Linuxな方にはBriareosさん作成のUSBRH on Linuxや、kimataさん作成のUSBRH driver for Linuxがあります。)

NetBSDでの認識状況

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を有効にしたカーネルで使用してください。

展開してmakeすると、実行プログラムusbrhが生成されるはずです。オプションなしで実行すると、/dev/uhid0として認識されているUSBRHからデータを読み込み、気温(℃)と湿度(%)を表示します。-fオプションでデバイスを指定でき、-vオプションで説明つき(?)の表示になります。
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 %

動作確認環境

FreeBSDにはportsもできたようです。(ports/misc/usbrh)

応用例

自宅では、上記のプログラムとRRDtoolを使って1時間ごとに温度・湿度を記録し、グラフを描かせています。ある夏の日の例:
Temperature Graph Humidity Graph
"Nagoya"のデータは名古屋地方気象台のアメダスデータを引っ張ってきています。

資料


[Top page]
Kenji Aoyama / aoyama [at] nk-home [dot] net
$Id: index.html,v 1.14 2008/04/12 11:17:47 aoyama Exp $