SwitchBot 温度湿度計を繋いでみた

不快指数

いよいよ厳しい暑さのまっただ中に突入してきた。やはり、気になるといえば不快指数。この季節、話題にするだけで不快になる。不快指数は、気温と湿度で以下の計算式で計算できる。

0.81Td + 0.01H(0.99Td – 14.3) + 46.3
※ Td : 気温[℃]、 H : 湿度[%]

因みに、写真にある気温30.9℃、湿度61% の場合、不快指数は81.2 となり、「全員が不快に感じる」状態のようだ。ウィキペディアには以下のように感じ方が載っている。

この季節なら不快であることは計算しなくても分かっているが、厳しい環境で生活していく上で、これを見える化したら良いのか、悪いのか・・・。実は、先日メインのPC に障害が出てバージョンアップと共に復旧を急いでいる中、ここに拘っている場合ではないのも現実、まぁ、取り敢えず色々とやってみた。

卓上の温度湿度計を購入

最近、SwitchBot 温湿度計プラスを購入した。軽量で大きさも丁度良く視認性も良い。そのスペックは次のとおり。

スペック

付属の電池で約1年、通常使う範囲内における精度は、温度が±0.2℃、湿度は±2%であり、まず問題ないだろう(湿度は以外と誤差が大きい)。最初から電池も入っていたので、直ぐに使うことができた。また、スマホのアプリとも連携してデータを見ることができ、専用のHub を購入すると更に用途が広がると、取説には記載があった。データはBluetooth で外部から読み出しができるとのこと、便利な世の中になったものだ。

Raspi と接続

Raspi はBluetooth を持っているので、今回は常時稼働しているRaspi 3B+ からデータを読み出してみることにした。まず最初に、温度湿度計のBluetooth から見て識別するために機器のMAC アドレスが必要なのだが、Raspi からhcitool lescan で探してみても何台も表示されて、一体どれなのか分からない。

つまり、表示がMACアドレス:(unknown)となっていて固有の情報が表示されないからだ。電波暗室にでも入れて一台だけ電波を出すのであれば見つかるだろうが、こんな暑い日にはそのような環境もないし、そもそも現実性がない。そこで、携帯アプリに接続して、そこからMAC アドレスを取得することが出来た。ネットにはその情報があり、もっと早く気がつけば良かった。一見電波を出していなさそうな温度湿度計だけど、ちゃんと出している。電池も1年は持つということなので、かなり効率も良いのだろう。この携帯アプリも良く出来ていて、温度湿度計からのデータを吸い上げてアプリで表示してくれる。別にRaspi でなくても・・・、まぁ、ここは半分勉強ということにして、あまり考えないようにしよう。python でbluetooth を扱うために、bluepy パッケージを導入する必要があり、そのためのpip3 をまずインストールし、pip3 bluepy を実行することでRaspi 側の環境は整った。

Raspi からデータ収集

直接データを接続に成功しているサイトがあり、まずはそのスクリプトが動くことを確認した。

ここまで来ると、やる気が出てくる。そのような情報を提供していただき感謝している。あとは、これを基に時系列データ(InfluxDB) にデータを登録すれば、それをグラフ表示することで見える化ができる。ということで、それをグラフ化したものが下の図になる。左が温度、右が湿度である。湿度は、小数点以下までの精度が無いため、少し凸凹している。と、ここまで大きなハマりもなく来たように見えるが、実はデータを温度湿度計から読み込む際に時々エラーで止まっていた。Bluetooth からの読み出しに少し時間がかかるようで(5秒の待ち時間が必要)、連続読み出しにする際には、少し注意する必要がある。温度湿度計へのアクセスを最小限にして読み出す改善と読み出し間隔の調整を したところで安定的に読み出すことができているようなので、ここは暫く様子見しておきたい。これで解決できればラッキーかもしれない。

リアルタイムな不快指数

ここまでで満足しても良かったが、折角不快指数に触れたので、温度と湿度がわかればリアルテイムに不快指数を表示することができる。今日は、午前中にエアコンを一度消して部屋の換気を行い、その間に一気に不快指数が上がった。その後エアコンを再度起動させると一気に不快指数は下がっていった。快適と言われる65〜70 には届かないが、読書ができる環境くらいは保てているように思う。

他のセンサーとの比較

今回データを吸い上げたRaspi には、別にセンサーモジュールで気温を観測しており、そのセンサーとの温度の比較を行ってみた。使用している温度センサーモジュールは下図のとおり。

このセンサーのすぐ横に温度湿度計を置いて暫く観測してみた。温度に関しては、誤差が±0.2℃の温度湿度計と比較した2つのグラフはほぼ同じ値を示している。今回は、センサーモジュールの信ぴょう性を確認するのも一つの目的だったので満足することとしよう。実は、もう一つ別で測定しているセンサーモジュールがあり、それとは随分差があったので、その平均を取って適当に補正をしていたものであり、いい感じになっている。

結果

市販の温度湿度計を購入して、実際にBluetooth で温度湿度データをRaspi で測定し、リアルタイムに不快指数を出すことをやってみた。この成果に、どんな意味があるかについては、いつもながらあまり深く考えないことにしよう。例えば、一例として将来冷暖房のあり方の一つに不快指数を取り入れるとすれば、エアコンなどを最適かつ効率的に制御をするのであれば、その基礎的なものとして良い機会になったのかも知れない。多分、やっている余裕はないだろうけど・・・、

教訓

  • 市販の温度湿度計が、実はデータ転送ができるようになっているとは驚いた。時代の変化は早く便利になっている。
  • センサーモジュールでの測定は、その信ぴょう性に少し不安を感じていたが、今回の比較により温度の正確性は確認できたので、それなりの成果はあった。
  • 湿度計の方は、センサーモジュールよりも温度湿度計の方が一桁精度が荒いので、比較にはならないが、もう少し長い時間データを取ってみたい。
  • ここまで、一通り動いてくれたのは良かったが、あれこれ試した内容は良くまとめて置かないと、近い将来必ずハマるのでしっかりやっておこう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です