1 min read

USB温度計を使ってLinuxで温度計測

あらすじ

サーバーを倉庫に移設した。夏場の倉庫内温度が心配なので換気扇も設置。ずっと回しっぱなしにするのも無駄だな。
そうだラズパイのGPIOを使ってどうにかすればオン・オフ制御できる!
ラズパイとUSB温度計を買った。

IMG_20160115_164456

これをそのままラズパイにぶっ刺す。

$ dmesg | grep TEMP

勝手に認識されるはず。

使えるようにする

# gitからclone
$ git clone https://github.com/bitplane/temper.git

$ cd temper/

# 44行目: utc = gmtime(&t); を utc = localtime(&t);
# 47行目: strftime(dt, 80, “%d-%b-%Y %H:%M”, utc); を strftime(dt, 80, “%Y-%m-%d %H:%M:%S”, utc);
# 出力される文字列をいじりたい場合は49行目のprintfの中をいじってください
# 私は printf("%s\t%f\n", dt, tempc); にしました
$ nano temper.c

$ make

# とりあえず使ってみる
# sudoつけないと動かない。
$ sudo ./temper
2016-01-16 00:32:06    25.703318
(\d{4}-\d{2}-\d{2})\s(\d{2}:\d{2}:\d{2})\s+([0-9.]+)

こんな感じの正規表現で[1]に日付、[2]に時刻、[3]に温度って感じで抽出できると思う

あとはこの温度を元にしてリレーを制御して換気扇をオン・オフするようにすれば完璧!