↑Raspberry Pi Zero WHとCO2センサーMH-Z19B(手前)
Raspberry PiとMH-Z19BでCO2濃度計測の覚書
コロナ対策として、換気の目安となる二酸化炭素濃度を知るための測定器が、あまた売られています。怪しげな安物を除いても、1万円から10数万円と高価ながら、キャリブレーションができないようなお粗末なものも少なくないとか。
貧乏人には、高額なものに手を出せないし、ハズレを引くくらいなら、はじめから安いセンサーで測定器を自作するほうがましかも。
1)システムを構成する機器
|
2)機器の接続
●CO2センサーMH-Z19BとRaspberry Piとの接続
|
●パソコン(スマホ)とRaspberry Piとの接続
Wi-Fiを通じたインターネット接続を介し、realVNCによりパソコンまたはスマートホンからRaspberry Piをリモート操作します。
3)システムの設定と動作確認
●ライブラリーのインストール
Ued Takeyukiさんというご奇特な方がMH-Z19のpythonパッケージを公開されているのを利用(Https//test pypi.orgg/project/mh-z19/)。Terminalより以下のようなコマンドを実行します。
|
この段階では、動作確認をしてもRaspberry Pi ZeroではttySOがどうしたやらのエラーが表示され、Raspberry Pi 4では何も起こらずじまいでした。
●シリアルを有効に
Raspberry Pi OSの[設定]から[インターフェース]タブの「シリアル」の有効にチェックをいれてみました。が、変化は見られません(次のraspi-configを実行するなら不要?)。
●UARTを有効に
/boot/config.txtの末尾にenable_uart=1を追加。変化は見られません。
しかたがないので、ターミナルでsudo raspi-configを実行。
|
●動作確認
動作確認のため、sudo python3 -m mh_z19を実行。無事、下記のように二酸化炭素濃度が表示されました。
|
↑パソコンで遠隔操作されたRaspberry Pi ZeroでCO2測定の動作確認を行っているところ
4)キャリブレーション(校正)
CO2センサーの使用に際しては、精確を期すため常々calibration(校正)を行うことが求められます。基準となる外気の二酸化炭素濃度をゼロポイントとし、MH−Z19Bでは400ppmを与えます。その方法には複数ありますが、今回は手動校正を行いました。
400ppm未満(の屋外のもしくはよく換気した室内)で少なくとも20分間動作の上、HDピンをGNDに7秒以上接触させる、というわかりやすい方法です。
なお、MH-Z19Bには、ABCロジック機能という自動校正機能があって、電源投入後の24時間で一番低かった時を400ppmに設定してくれるという便利な(?)機能があります。デフォルトはON。24時間365日人がいるようなところに置いておいたらどうなるのでしょう。今回利用したpythonパッケージでは、ON/OFFの機能が実装されているようです。
<参考>
「Raspberry Piにセンサーを付けてCO2濃度を測定してみる」(打つか投げるか https://blog.ko31.com/202004/raspberry-pi-measure-co2/)
「窓を開けて新鮮な空気をいれよう!Raspberry PiでCO2濃度を測ろう」(https://qiita.com/UedaTakeyuki/items/c5226960a7328155635f)
「Intelligent Infrared CO2 Module(Model: MH-Z19B)」(Winsen https://www.winsen-sensor.com/d/files/infrared-gas-sensor/mh-z19b-co2-ver1_0.pdf)