部屋が寒い のでいろいろ調べた。
うちではラズパイ が常時動いているので、これで温度が測れれば良い。
1-wire で動くDS18B20 などの温度センサーを使って電子工作する方法もあるが(前にやった)、はんだ付けとか 1-wire 設定とか結構面倒くさい。
今回はもっとお手軽に USB温度計 thermometer-528018 を使ってみる。980円ぐらい。
USBで挿してlinuxから温度を取得できる。
Windowsでも専用アプリで温度は取れるけれど使い勝手は悪い。
Windowsは、ここからTEMPer用をダウンロード 現時点ではv26が最新
USBなので、Raspberry Pi の様に I/O ポートがないLinuxマシンでも温度が測れるので、サーバー室なんかに置いても良いかも。
gitからソースをクローンする。
libusb-dev がないとエラーになる。gcc は既に入っていればインストールの必要なし。
chmod u+s temper で権限を付与しないと root でしか使えなくなるので権限を追加しておく。
実行すると、日時と温度を表示する。
$ sudo git clone git://github.com/bitplane/temper.git
Cloning into 'temper'...
:
$ cd temper/
$ sudo apt-get install gcc libusb-dev
$ sudo make
:
$ sudo chmod u+s temper
$ ./temper
28-Feb-2018 10:46,14.387618
#TIPS.1 ローカルタイムにする
そのままだと日付がグリニッジ標準なので、タイムゾーンに合わせる
- utc = gmtime(&t);
+ utc = localtime(&t);
#TIPS.2 ラズパイの罠
ラズベリーパイのUSBポートに直挿しした場合、本体の温度が回り込んで5℃ぐらい温度が高くなる。
100均のUSB方向転換器なんかを間にかませると大丈夫。
後は cron から呼び出して温度を見て IFTTT に投げるなり、シェルスクリプトでなんやかやするなり応用は無限大 ∞ 。
#その他参考になりそうなサイト
Ambient
IOTデータの可視化サービス。ライブラリを入れてちょっと修正の必要はあるけれど、グラフ化することができます。
Google Homeにセンサーの値を言ってもらう
言ってもらうと嬉しいよね。
Raspberry Pi Zero用 赤外線 + 環境センサ 拡張ボード「RPZ-IR-Sensor」(端子未実装)
USBでなくてもこんなのもあります。ボード直付けなので、ボードの温度に影響されそうなのでキャリブレーションは必須かな?
#単純にラズパイだけでCPU温度を測るには
cat /sys/class/thermal/thermal_zone0/temp
の値を 1/1000 すればいい。結構熱いのでビックリするかも