ラズパイでMH-Z19を使用して二酸化炭素濃度を取得する

自宅IoT

MH-Z19センサーを使用し、pythonにより、二酸化炭素濃度(CO2濃度)を取得し、Google BigQueryに取得データを記録します。

前提

ラズパイ:Raspberry pi 4B
OS:Raspbian GNU/Linux 10 (buster)
使用言語:python3

事前準備

アップデート

# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get dist-upgrade

シリアル通信有効化

以下の記事を参照し、ラズパイのシリアル通信を有効にします。

 MH-Z19

MH-Z19準備

amazonから購入しました。

購入したものはピンが付いていないタイプであったため、はんだ付けしました。

MH-Z19結線

結線は以下のとおりです。

MH-Z19ラズパイ
Vin5V(pin4)
GNDGND(pin6)
RXTxd0(pin8)
TXRxd0(pin10)

RX⇒Txd

TX⇒Rxd

とするのは謎です。。。

※MH-Z19 の write を RPi で read して、RPi の write を MH-Z19 に read させるためにクロスさせるとのことです!

ラズパイ

以下のモジュールを使用します。

UedaTakeyuki/mh-z19
Read CO2 concentration from mh-z19 sensor on the Raspberry Pi & handle it. Detect Raspberry Pi model automatically and read value from appropriate serial device...
# pip install mh-z19
# vi example.py 
#coding: utf-8
import mh_z19

if __name__ == '__main__':
    out = mh_z19.read()
    print(out)
# sudo python example.py
{'co2': 494}

これで出力確認ができました。

この値を取得して、スプレッドシートへの格納やBigQueryへ格納し、見える化しています。

コメント

  1. UedaTakeyuki より:

    > RX⇒Txd

    > TX⇒Rxd

    > とするのは謎です。。。

    MH-Z19 の write を RPi で read して、RPi の write を MH-Z19 に read させるためにクロスさせてます

タイトルとURLをコピーしました