Raspberry PiでCO2を測定

Raspberry Pi(ラズベリーパイ)でCO2(二酸化炭素)を測定する方法を解説します。

CO2(二酸化炭素)センサーの選定方法

精度が高くてコスパが良いCO2センサー(二酸化炭素濃度測定器)
CO2センサー(二酸化炭素濃度測定器)についてまとめました。

CO2センサーの有力候補

製品名 製造元 概要
ZGm053U 台湾RADIANT ZyAura社 日本だとOEM販売品「CO2-mini」で販売され情報が多い。2024年7月29日時点だとヤフーショップで8000円程度で販売されていた。
ZGm27 台湾RADIANT ZyAura社 シンワ測定がOEM販売している
UD-CO2S アイ・オー・データ

co2meterで簡単に制御可能。

ZGm27で測定したCO2、温度、湿度をラズパイで受信

① ラズベリーパイ上で以下のコマンドを実行し、CO2Meterをインストールします。

pip install git+https://github.com/heinemml/CO2Meter --break-system-packages

② 下記のルールファイルを新規作成します。
$ sudo vi /etc/udev/rules.d/90-co2mini.rules

【ファイルの中身】

ACTION=="remove", GOTO="co2mini_end"
SUBSYSTEMS=="usb", KERNEL=="hidraw*", ATTRS{idVendor}=="04d9", ATTRS{idProduct}=="a052", MODE="0666", SYMLINK+="co2mini%n", GOTO="co2mini_end"
LABEL="co2mini_end"

③ 以下のコマンドを実行し、作成したルールを反映させます。

sudo udevadm control --reload-rules 

④ 以下のコマンドを実行し、パーミッションを変更します。

sudo chmod 666 /dev/hidraw0

④ これで準備は完了です。あとは、以下のPythonスクリプトを実行すると、CO2、温度、湿度が2秒毎に表示されます。

from CO2Meter import *
import time

sensor = CO2Meter("/dev/hidraw0")

time.sleep(2) # 2秒くらい待機しないと空のデータが返ってくる

print(sensor.get_data()) # {'co2': 721, 'temperature': 26.4, 'humidity': 54.5}

関連ページ

【M5でIoT入門】基本的な使い方から応用例まで解説
IoTデバイスのM5シリーズ(M5Stack、M5StickCなど)の基本的な使い方から応用例まで解説します。

コメント