不快指数を取得する


今年はエコで、おそらくエアコンもあまりがんがんに使えず、もやーっとするかと思います。
ですので、せめて不快指数がわかれば、対処もしやすいんじゃないかなぁってことでやってみました。

$ sudo ./usbrh
温度: 31.25 湿度: 35.42 不快指数:77.41
★★★★★★☆☆ やや暑い

こんな感じに現在の温度・湿度・不快指数が分かります。

参考サイトや必要なもの

USB温度・湿度計モジュール(完成品)
温度・湿度が図れる優れもの
USB温湿度計
まとめサイト
USBRH on Linux
動作プログラムのソース
不快指数
不快指数の計算式

作成手順

1.VirtualBoxUbuntuをインストール
VirtualBoxUbuntuをインストールします。
VirtualBox
Ubuntu
2.USB温度・湿度計モジュールを認識
USB温度・湿度計モジュールを認識させます。
VirtualBoxでのUSB機器の認識のさせ方は下記が参考になります。
VirtualBox 上にて USB の接続方法
また

$lsusb
Bus 002 Device 003 : ID 1774:1001

など出れば認識されています。
表示されない場合はUSBのを抜き差しするかWindows側で一旦安全な取り外しを行うとよさげなようです。
3.プログラムをコンパイル
コンパイル準備としてgccとlibusb-devをインストールします。

$  sudo apt-get install gcc libusb-dev

次に、サンプルプログラムのダウンロードとコンパイルをします。

$ wget http://www.dd.iij4u.or.jp/~briareos/soft/usbrh-0.05.tar.gz
$ tar zxvf usbrh-0.05.tar.gz
$ cd usbrh-0.05/
$ make
$ sudo ./usbrh

もし、実行時に下記エラーがでた場合は

$ sudo ./usbrh
usb_set_configuration error

以下のように修正します。

USBRH on Linuxの実行時に発生する usb_set_configuration error のエラーの対処としていくつか書き込みがありましたが、以下の方法でもうまくいきました。
232行〜236行に2行追加
if((rc = usb_set_configuration(dh, dev->config->bConfigurationValue))<0){
if( rc = usb_detach_kernel_driver_np(dh, dev->config->interface->altsetting->bInterfaceNumber)<0 ){
puts("usb_set_configuration error");
usb_close(dh);
exit(3);
}
}

再度実行すればOK

$ make
$ sudo ./usbrh

不快指数と風鈴の音とかを連携させてみるとおもしろいかも
レッツマッシュアップ