![見出し画像](https://assets.st-note.com/production/uploads/images/60074646/rectangle_large_type_2_a3ffbf5847c663024752574bc3f3187e.jpeg?width=1200)
IoT(ESP32)とCO2センサー(MH-Z19C)
感染症流行が長引いていて、以前から家庭内の空気の状況をモニタしたいと考えていました。
特にCO2濃度計測の必要性をずっと感じていました。
そういった折りにノートでフォローさせて頂いている下記ページで、始めるにあたって充分な情報を得る事ができましたので、本日(30日)早速アキバに行ったついでに秋月電子さんに寄ってCO2センサーであるMH-Z19C を購入して、既存のESP32ボードを拡張して載せてみました。
実際に役に立つようなCO2センサーってどれも高価で、数千円の上の方でないとダメだと思い込んでいました。
MH-Z19C は安価では無いですが、高過ぎという訳でも無い絶妙な価格帯でした。
これは良い事を教えて貰いました。
MH-Z19C をESP32で使用するにあたっては、適当にググって下記説明を参考にCO2計測コードを追加実装しました。
ESP32 使っている割には知らない事も多くて、ピン接続で少し悩みまして、下記スイッチサイエンスさんのピン説明を参考に解決出来ました。
ESP32TTGO ピン配置図
センサー購入
店頭のセンサーエリアで探してみたんですが見つからず、店員さんに尋ねたら何処からか持ってきてくれました。😝
これまで使った事が無い、そこはかとなく漂う高級感😊
電源を入れると天板の一部が薄赤色にゆっくりと点滅するのも高級感を醸し出しています。
ブレッドボード拡張
この小型のブレッドボードは、同じ種類のボードを縦横どちらでも羽目合わせて拡張できるようになっていて、こういう時に便利です。
今回はボードを上下方向に付け加えて、その上にMH-Z19C を載せました。
ただこのセンサーがかなり大きめなので、電源系の方をデバイス下配線とせざるを得なくて、少々トレース性が低くなってしまいました。残念!
結線ファーストトライ -> 動作しませんでした... orz
スイッチサイエンスさんのピン情報説明を確認し、下記制約に引っかかっている事が判明しました。
> GPIO 34~39 ピンは出力には使えない
最初は隣同士なのが判りやすくて良いよねと、ピン37と38 をTX/RX ペアで使おうとしていました。 orz
結局TX を32ピン に変更。
修正後の結線 -> 動作しました! (ノ^^)ノ
計測結果確認
計測データをほぼ毎分間隔でAmbient に送付しています。
もちろん、上面の液晶にも測定結果を切り替えて表示しています。
本当はMumin のグラフの方がタイムスケールを4つ(日、週、月、年)に分けて見られるので好みですが、Munin へ実装するとなるともう数時間必要そうだったので、今回は手を抜いてAmbient へ送る方式だけで実装しています。
我が家のCO2値その他は下記URLにて確認可能です😊
https://ambidata.io/bd/board.html?id=30704
PS4の上という、とんでもない場所に置いているので温度などは変な値が出てたりします。
えー!
早速送付されたデーターを見たのですが、CO2濃度高!😲
設置は床から120cm 程度の高さに置いていて、床近の淀んだ空気を観測している訳ではないです。
確かに狭い(4畳程度?)部屋だけど、暑いのでドアは常時半分位開けてファンで空気を回しているんですけどね... orz
食事とかで人(自分)が部屋を空けると800ppm 程度までは下がるけど、一人常駐するだけで軽く1K ppm を超えてしまってますね。
ちゃんとリーズナブルに値が変動しているので、CO2濃度計測は絶対値はともかく、それなりにちゃんと傾向は捉えられているようです。
希望的観測
そう、きっとまだセンサーのエージングが済んでいないので、きっと値が高めに出ているんだ、きっとそう。そうであって欲しい!
そして達観
世の中見えない方が幸せな事もある! という事を実感しました。😊