久しぶりの作業です.
前回,気温と湿度を測定できるセンサーをラズパイで動かしたところまでいったのでした.その後,CO2センサーをAmazon経由で(おそらく)海外から購入していたのですが(2000円ぐらい),うまく動作せずに放置していました.
仕方なくCO2センサーを返品処理し(実際は手元にものがあって,お金だけ一部返ってきた),新しいセンサーをAli Expressで購入していました.届いてから1ヶ月ぐらい放置していたのですが,久しぶりに接続してやりました.実験の様子です.
久しぶりにセットアップしたので忘れつつあります(基本的なコマンドgpio readallとか,pinoutとか).RX/TXの線を間違えないように注意して(反対につけていて適当な値が返ってきていた),動作確認します.MH-Z19B関連の情報リストです.
- https://www.winsen-sensor.com/d/files/infrared-gas-sensor/mh-z19b-co2-ver1_0.pdf
- https://revspace.nl/MHZ19
- https://qiita.com/revsystem/items/5a362e749ef80358e801
- https://cloudpack.media/47841
以前使えなかったセンサーをもう一度動作させると,コマンドを送信させても正しい値が返ってきていない(先頭が0xFFではない)ことが分かりました.ググってもよく分からないのですが,センサーが正常応答を返していない雰囲気があります.どこで壊れたのかはよくわかりませんが,仕方ないでしょう.
ここからは新しいセンサーの動作確認です.接続し直して同じプログラムを利用すると,次のようにそれらしい値が出てきます(キャリブレーションが必要な気がします).
しばらく放置して,息を吹きかけた感じをグラフにしてみます.単位はおそらくppmでしょう(世の中の記事とかを信じるならば).とりあえず適当なファイル(/tmp/co2.txt)に出力したものです.
とりあえず動作確認ができたのでOKとします.その後適当にcronしておいたのですが,日時を一緒に書くのを忘れた気がします(後に直すつもりです).
似たような感じでM5stackとかも使ってみたかったですが,GWが終わってしまいました.またやっていきましょう.