弊社オフィスでは最近「暑い」とか「寒い」などの声が聞こえるようになったので、これを設置して温度を定期的に計測してみることにしました。
使うもの
ささっと始めたかったので用意したものはこれだけです。秋月電子通商でもスイッチサイエンスでも買えます。
- Enviro pHAT
- Raspberry Pi
Raspberry Pi Zero WH
これがないと始まりません。Raspberry Pi Zero WHは安いですが、HDMI変換アダプタやUSB-OTGケーブルがないとまともに使えません。初めて使う方はこれではなく普通のRaspberry Pi 3Bを使うことをお勧めします。
Enviro pHAT
Enviro pHATは簡単に言うといっぱいセンサーが乗ったpHATです。
- 気温センサー
- 気圧センサー
- 加速度センサー
- 照度センサー
これら4つのセンサーが搭載されており、他にもA/DコンバータやLEDが搭載されています。このpHATははんだ付けが必要なのでご注意を。
Enviro pHATの準備
Pimoroniの製品には大抵pythonライブラリがあります。これを使うとラクにセンサーを扱えるので、このリポジトリをクローンします。
プロジェクト内にあるexampleディレクトリには簡単に動作を見られるスクリプトが用意されています。実行してみます。

気温がドワーッと流れてきたら正常に動いています。もし動かない場合はPythonのセットアップが正しく行われているかなどをチェックしてみてください。
温度センサー自体の温度やRaspberry Pi本体の温度を拾っているのか、8度ほど高く取得されてしまいました。(下のコードにはありませんが)今回は妥協案として空気清浄機に表示されていた温度表示を基準値として誤差の補正をしました。
温度をSlackに投げるようにする
適当にPythonで書きます。
# !/usr/bin/env python
import time
import json
import requests
from envirophat import weather, leds
SLACK_WEBHOOK = "https://hooks.slack.com/services/**************"
celsius = str(round(weather.temperature(),1))
payload_dic = {
"text": "Temp:" + celsius ,
"username": "(なんか名前決める)",
"channel": "#(なんかチャンネル名決める)",
}
req = requests.post(SLACK_WEBHOOK, data=json.dumps(payload_dic))
SLACK_WEBHOOK
には各ワークスペースから設定できるSlackのIncoming WebhooksのURLを貼り付けます。
動かす
Slackのチャンネルに投稿されたらOKです。温度表示をして結局は人間がエアコンの操作パネルまで行かないといけないのが残念ですが、早めに温度変化に気づけるようになりました。