ラズパイとPPD42NJダストセンサー 自宅PM2.5値を自作で計測

スポンサーリンク

PM2.5をラズパイで計測するために海外通販BanggoodでPM2.5 PPD42NJを買ってウチのPM2.5を計測してみました。XiaomiのPM2.5計測器も持っているので比較してみます。

計測したデータはラズパイのInfluxDBに登録して、Grafanaで表示させています。

だいぶ前に完成していましたが、ちゃんと計測しない時があって・・・ちょっと使いづらいダストセンサーです。

BanggoodでPM2.5 PPD42NJを買った

こちらBanggoodで579円で売っていたので送料無料で買って送ってもらいました。

センサーの仕様

ちょっと違う?ようですが同じようなセンサーの仕様がありました。

Seeed Product Document

ラズパイ・InfluxDB・Grafana構築・使い方

ラズパイ構築やInfluxDB・Grafanaの使い方インストールは以下の別サイトを参考にしてください。

自宅のIot化でLED照明オンオフ(Xiaomi LED)や玄関鍵の開閉(セサミ スマートロック)、壁スイッチのオンオフ、部屋の空気の状態を表示させたりしていますが、不満点は専用のアプリでないと操作できないこと。それと同じメーカーでないと他
自宅環境センシングの2回目の記事として今回はラズパイ(Raspberry Pi)にデータベースのInfluxDBを入れて将来的にセンシングしたデータをInfluxDB保存していきます。そして次回は、GrafanaというデータをWebで美しく
センシングしたデータを保存するInfluxDBは前回ラズパイに構築したので今回はGrafana+telegrafを入れて設定していきます。おまけとしてChromografとvcgencmdを使ってCPU温度やCPU使用率・ARMのデータを取

以下、Raspi・InfluxDB・Grafanaのシステムができていること前提で書いていきます。

WxBeacon2を使った記事も書きました。↓

前回まででラズパイを母艦にしてセンシングしたデータをデータベース(InfluxDB)に保存してGrafanaでグラフ表示することができたので、今後は少しずつセンシングデータを増やしていく作業です。今のところセンサーで取得できているデータは温

完成図

分かりづらいのですが↓ラズパイに各種センサーを付けて温度・湿度・明るさなども一緒に計測してInfluxDBにあげてGrafanaでグラフにしてます。

PM2.5 PPD42NJ

真ん中の黒いのがPM2.5 PPD42NJ

本当は風を送ってホコリを計測するのですが、今のところファンは付けてない。

PM2.5 PPD42NJ

窓際の棚の裏に磁石でくっつけています。

ラズパイとダストセンサーをつないでPM2.5を計測してみる

参考にしたソース

こちらを参考にさせていただきました。ありがとうございますm(_ _)m

この記事では、ラズベリーパイ3とPython、ホコリセンサー(Groveダストセンサー)でPM2.5をμg/m^3単位で測定する方法をソースコード付きで解説します。

PIN

4PINにGPIO18さしたら反応しました。

PM2.5 PPD42NJ Raspberry Pi
1:GND GND
2:?
3:5V 5V
4:PIN GPIO18
5:?

下準備

bluepyなど必要なライブラリをインストールします。

Pythonファイル

しばらくWhileしてデータを取得するので数十秒かかる。

改良点は1回実行時に1回だけデータを取得して、定期的にCronでpm2.5.pyを実行するようにしました。

試してみるとエラーが出る

エラー?が出ているけどちゃんと計測できてる??

最初はGPIO15に誤ってさしていて、他のセンサーが使ってたのでエラーになったみたい。

Cronで定期的に実行

最後にCronで定期的にpm2.5.pyを実行します。

:GPIOを接続しないまま、Cronで定期的にこのプログラムを実行するとCronが溜まっていってCPU使用率100%近くになって温度が急上昇してラズパイがハングアップします。ご注意ください。

Grafanaの設定

Grafanaをご利用の方はPM2.5.jsonを用意しました。Xiaomi PM2.5測定器も一緒に表示するようになっているので必要なければ削除してください。

こちら↓のJsonファイルを右クリックしてダウンロード後、Grafanaにコピペもしくはアップロードしてみてください。

jsonファイルのインサート方法は以下で書きました。

センシングしたデータを保存するInfluxDBは前回ラズパイに構築したので今回はGrafana+telegrafを入れて設定していきます。おまけとしてChromografとvcgencmdを使ってCPU温度やCPU使用率・ARMのデータを取

PM2.5の値が正確ではないのかもしれない

高い数値が出る

グラフの緑の線が洗面所に置いたXiaomiのPM2.5測定器ですが、通常は9~12くらいをウロウロしてますが、ラズパイで作ったPPD42NJ のほうは40~80くらいの高い数値。で、たまに120μg/m3も行くので、もしかしたら?正確ではないのかもしれません。

PM2.5

ラズパイ+PPD42NJ の設置場所は窓際の棚の裏に磁石でくっつけています。ファンで風を起こさないと正確ではないのかもしれませんね。

洗面所でデオドラントスプレーやヘアスプレーを使うとPM2.5の数値が高くなります。

PM2.5

4月ごろのデータと値が違う

2019/4頃に調子が良かった時は、10~15くらいだったので、今とちょっと違うようです。

PM2.5

このダストセンサーあまり当てにならないかな?

XiaomiのPM2.5測定器

洗面所に置いたXiaomiのPM2.5測定器↓こちらはハックしてデータをInfluxDBに登録したので、その設定方法など後ほど書いていきます。

Xiaomi Smart Air Quality Monitor PM2.5 Detector

Xiaomi PM2.5 AQI測定器

こちら↓でレビューしました。

現在住んでいる福岡は中国から近く、黄砂もスモッグも?飛来してきてPM2.5が気になる場所に住んでいます。そんな中、GearBestからXiaomi PM2.5 AQI測定器が来たのでレビューします。

以下のトラブルはメモです。読み飛ばしてください。

トラブル・ESP32ではうまくいかなかった

以下ちょっとしたトラブルと、現状ではESP32でやってもうまくいきませんでした。

ラズパイで18番接続しているはずだけど?「0」になってる・・・?

PINがちゃんとハマってないだけだったみたい・・・違うジャンパピンに変えたら動いた。

ESP32で試したけどうまくいかなかったが、Arduino UNOだとうまくいくみたい。