概要
このプロジェクトでは、Arduino MKRWIFI1010ボードをセットアップして、RenesasのZMOD4510センサからオゾン(O3)と関連する大気質指数(AQI、air quality index)を読み取り、WiFiを使ってO3とAQIデータをmachinechatのIoTデータプラットフォームJEDI OneにHTTP POSTします。また、SensirionのSHT31湿度・温度センサは、オゾンや関連するAQIを計算する際の環境補正値を提供するために使用されています。JEDI Oneは、Raspberry Pi 4で動作しています。
ハードウェア
-
RASPBERRY PI 4B/4GB
Raspberry PI 4 Model B、4GB SDRAM付き -
MKRWIFI1010
ARDUINO MKR WIFI 1010 評価ボード -
Renesas US082-ZMOD4510EVZ
ZMOD4510 エア品質センサPmod™ プラットフォーム評価拡張ボード -
Seeed 101020212
Sensirion SHT31 湿度、温度センサ グローブプラットフォーム評価拡張ボード
ソフトウェア
-
JEDI One
JEDI Oneは、すぐに使えるIoTデータ管理ソフトウェアソリューションです。センサ、デバイス、マシンからのデータ収集、直感的なリアルタイムおよび履歴データおよびシステムビューダッシュボードの構築、データ状況を自動的に監視・対応するルールの作成、メールやSMSによるアラート通知の受信などが可能です。 -
Arduino
Arduinoは、使いやすいハードウェアとソフトウェアをベースにしたオープンソースの電子機器プラットフォームです。
背景
米国EPA(Environmental Protection Agency、環境保護庁)によりますと、オゾンは、大気中のどこに存在するかによって、健康や環境にとって「良い」とも「悪い」とも言えます。成層圏のオゾンは、太陽からの紫外線から生物を守るため、「良い」ものです。
EPAのウェブサイト(https://www.epa.gov/ground-level-ozone-pollution/ground-level-ozone-basics )で話題になっている地上オゾンは、特に子どもや高齢者、喘息などの肺疾患を持つあらゆる年齢の人にとって、さまざまな健康問題を引き起こす可能性があるため「悪い」ものであるとされています。
RenesasのガスセンサプラットフォームZMOD4510は、屋内外のさまざまなアプリケーションで大気の質を検出します。本モジュールは、ガス検知素子とCMOS信号処理ICで構成される12ピンLGAアセンブリです。屋外の大気質には、二酸化窒素(NO2)とオゾン(O3)が含まれます。また、動作モードによっては、ZMOD4510は超低消費電力(ULP)動作で選択的にオゾンを測定することができます。このプロジェクトでは、ZMOD4510は超低消費電力(ULP)動作でオゾンを選択的に測定するようにセットアップされます。これはRenesasが提供するOAQ2ファームウェアを使用することで実現しています。センサは、米国環境保護庁の評価に基づくオゾンの大気質指数と、オゾン濃度を出力します。
AQIは、EPAの技術文書(https://www.airnow.gov/sites/default/files/2020-05/aqi-technical-assistance-document-sept2018.pdf )に記載されている計算式に基づいています。
実装
オゾンセンサシステムのハードウェアは、MKRWIFI1010 ArduinoボードとZMOD4510 PMOD評価ボードおよびSHT31 GroveボードをI2Cで接続して構成されています。システムにはDC5Vが供給されます。MKRWIFI1010上で動作するArduinoソフトウェアは、センサを読み取り、オゾンとAQIを計算し、値をJSONに変換し、JSONデータをJEDI One IoTプラットフォームへWiFi経由でHTTP POSTします。下のScheme-itの接続図は、システムの実装方法を示しています。
ZMOD4510 outdoor air quality Scheme-it schematic and BOM link
MKRWIFI1010、ZMOD4510、およびSHT31の屋外大気質アプリケーションをセットアップする
1 - MKRWIFI1010にArduinoをセットアップします。つぎのリンクを参照ください。Getting started with the MKR WiFi 1010
2 - アプリケーションに必要な関連ライブラリをインストールします。Arduinoのライブラリマネージャからこれらのライブラリを追加します。
3 - Arduinoのサンプルコードは、RenesasのウェブサイトのZMOD4510 - OAQ 2nd Gen Firmware - Selective Ozone and Ultra-Low Power.からダウンロードできます。プログラムガイドラインとコードドキュメントは、RenesasのウェブサイトのZMOD4510 Programming Manualからダウンロード可能です。この情報をダウンロードするには、Renesas Electronics Corporationへの登録とログインが必要です。提供されるArduinoのサンプルコードは、オゾン濃度やAQIデータをJEDI One IoTプラットフォームにHTTP POSTする追加のArduinoのコードに統合されています。(注:コードは、Machinechat with Panasonic SN-GCJA5 Air Quality (PM) SensorのArduinoコードに非常に似ており、これをベースにしています。)
JEDI Oneをセットアップする
1 - machinechat JEDI OneがRaspberry Piにまだインストールされていない場合は、以下を参照してください:
- Raspberry Pi版JEDI One(DK-JEDIONE-RP)を入手します。
- Piへのインストールには、Raspberry Pi - Installing JEDI One as a Serviceをご覧ください。
2 - JEDI Oneのダッシュボードをセットアップします。
JEDI Oneで「Dashboards」タブを選択し、「+」を選択して新しいチャートを追加して設定します。
チャートに名前を付け、「Chart Type」を選択し、「Source」(MKR1010_Z4510oaq2S31PMOD)を選択し、「Property」(O3_ppb)を選択し、「Units」(ppb)を入力し、「Refresh Interval」を入力します。2つ目のチャートも同様に、チャートに名前を付け、「Source」(MKR1010_Z4510oaq2S31
PMOD)を選択し、「Property」(FastAQI)を選択し、「Refresh Interval」を入力します。完了すると、以下のようなダッシュボードが表示されます。
まとめ
Renesasの屋外大気質センサZMOD4510と同社のArduinoコード例およびライブラリ、SensirionのSHT31センサ、MKRWIFI1010 Arduinoハードウェアプラットフォームを組み合わせることで、屋外オゾン大気質センサを迅速かつ容易に実装することができます。WiFiを利用して、センサデータをRaspberry Pi上で動作するmachinechatのIoTデータ管理ソフトウェアJEDI Oneに簡単に送ることができ、完全なモニタリングシステムを提供することができます。
参考資料
- Renesas - ZMOD4510 datasheet
- Renesas - ZMOD4510 - 屋外大気質センサプラットフォームページ
- Arduino - Getting started with the MKR WiFi 1010
- Getting Started with machinechat’s JEDI One IoT Platform
- Sensirion - SHT3x-DIS datasheet
- EPA - Ground-level Ozone Pollution website