困りごと
オフィスが暑かったり、寒かったり。
エアコン調整も出来るのですが、人によって感じ方がバラバラだったり、そもそも「えっ、もうエアコン付けるの?」みたいな声も出たりすると、こういった微妙な問題はなかなか白黒がつきません。
なので、そういったのが手間を省く為に、オフィスの温度をセンシングして、「ほら、暑いでしょ」みたいな話が出来れば、平和的に解決すると思い、とりあえず可視化を進めることにします。
実現手段
- EPS8266+BME280で温度・湿度をセンシングする
- ESP8266からAzureIoTCentralにデータをアップする
- AzureIoTCentral側でデータを可視化する
基本構成
・ESPr® Developer
・ESPr® Developer用環境センサシールド(BME280搭載)
・Azure IoT Central
EPS8266をAzure IoT Centralに繋ぐ
基本的に以下に記載されている通りにやれば、データをアップするところまでは簡単に実現できます。
ESP8266をArduino IDE環境で使ったことがある人なら難しいことを考えずに、srcフォルダ以下をinoファイルと同じ階層に入れておけばOKです。
https://github.com/Azure/iot-central-firmware/tree/master/ESP8266
Azure IoT Centralの準備
Azure IoT Centralの作成も通常通りにやれば大丈夫。
あとは、EPS8266のソースに書き込む必要があるID関連ですが、以下から取得できるので、ESP8266のソースコードに記入します。
const char* SCOPE_ID = "<ENTER SCOPE ID HERE>";
const char* DEVICE_ID = "<ENTER DEVICE ID HERE>";
const char* DEVICE_KEY = "<ENTER DEVICE primary/secondary KEY HERE>";
BME280の温度がちょっと高い?
実際にオフィス内で動作させてみると、なんか温度が高めになってるような気がします。Googleで検索すると同じように言ってる方も多くいて、そもそもBME280のデータシート上も湿度・気圧の補正処理に使うか、環境温度の推定には使えますと記載があるので、確かにだいたいの値になります。詳細は以下の記事が参考になると思います。なので、今回は同じオフィス内で使い続けるので、壁掛けの温度計を比較した差分値を固定値で引いて計算するようにしました。
https://tool-lab.com/make/pic-practice-28/
まとめ
この問題は季節の変わり目に起きやすいと思いますが、しばらくは暑かったのでエアコンを付けて当たり前って感じだったので、しばらく問題は起きてません。なので、次は急激に寒くなる時期がターゲットになるので、そのあたりにもう少し考察できると思います。可視化は簡単にできました。