抜粋版

V1.0 2020/4/1

マイコンを使用した換気センサ開発キット～密閉空間の空気品質を測定、アラーム送信、マイコン、ＡＷＳ
最大活用～

実践編（ＥＳＰ版）

AWS IoT Core
スペクトラム・テクノロジー株式会社
https://spectrum-tech.co.jp
sales@spectrum-tech.co.jp
all rights reserved 2020 spectrum technology co.

1

換気センサ開発キット 目次

ESP運用マニュアル
1.
2.
3.
4.
5.

ページ

ESPについてESP-devkit
Arduino IDE
Arduino IDE 設定、使い方
ESP起動

33
3
49ＡＷＳ ＩｏＴ開発

ページ① メニュー② ＡＷＳ設定③ ＡＷＳ ＩｏＴ設定④ 換気センサ システム概要• 換気センサ概要• 換気センサー、ESP接続• 換気センサ単体試験• ＡＷＳ ＩｏＴ，ＥＳＰ設定関連図⑤ 換気センサ リアルタイム表示⑥ 換気センサ メール送信• ＡＷＳ ＳＮＳ設定• ＡＷＳ ＩｏＴ設定• ＡＷＳ ＩｏＴイベント設定• ＡＷＳ ＩｏＴイベント試験

10111832• 全体構成• ＡＷＳ ＩｏＴ設定• ＥＳＰ３２設定• リアルタイム表示（グラフ）

抜粋版のため内容とページが違います

33343536374450565966
74
all rights reserved 2020 spectrum technology co.

2

ESP運用マニュアル
1. ESP32について

上海に拠点を置くEspressif Systemsが開発するマイクロコントローラ（ＭＣＵ）です。ＷｉＦｉ，Ｂｌｕｅｔｏｏｔｈが搭載されたＭＣＵで安価、高性能なチップです。

2. ESP32-DevKitC• https://www.espressif.com/en/products/hardware/esp32-devkitc/overview• 開発用キットで、Ｉ２Ｃなどのインタフェースを要しています。ＡＷＳ ＩｏＴの接続実績も豊富で、ＦｒｅｅＲＴＯＳの搭載も可能です。今回は未搭載。
• プログラム開発ツールとしては、Ａｒｄｕｉｎｏ ＩＤＥを使います。他にＥＳＰ－ＩＤ
Ｆがあります。

3. Ａｒｄｕｉｎｏ ＩＤＥ• Ａｒｄｕｉｎｏ Ｕｎｏ、ＮａｎｏなどのＭＣＵを作っているイタリアのメーカです。そのメーカの開発ツールを利用します。以下からダウンロードしてください。
• https://www.arduino.cc/en/Main/Software

all rights reserved 2020 spectrum technology co.

3

ESP運用マニュアル

ＷｉＦｉの設定は、プログラムで実施します。

4. Ａｒｄｕｉｎｏ ＩＤＥの設定、立ち上げ、操作方法• 設定（ＵＳＢケーブルでＰＣとＥＳＰを接続してください）• 環境設定：ＥＳＰのボードをダウンロードします。

通常は、ボード一覧にでますが、誤ってＥＳＰのデータを削除した時に使用してください• ファイル＞環境設定＞追加ボードマネジャ、以下のＵＲＬを追加• https://dl.espressif.com/dl/package_esp32_index.json• ツール＞ボード＞ボードマネジャ• Ｅｓｐ３２と入力してインストールします。次回、ボード一覧が出たら：ESP32 dev moduleを選択

all rights reserved 2020 spectrum technology co.

4

ESP運用マニュアル
4. Ａｒｄｕｉｎｏ ＩＤＥの設定、立ち上げ、操作方法• 設定• 必要なライブラリをインストールしてゆきます• スケッチ＞ライブラリをインクルード＞ライブラリ管理• Ｃｃｓ８１１と入力し、SparkFun ccs811 Arduino libraryをインストール：環境センサ• ＰｕｂＳｕｂｃｌｉｅｎｔと入力しインストール：ＭＱＴＴ用• なおＣ＋＋のプログラムをコンパイルしてエラーが出た場合は、必要なライブラリをインストール

注意
ＣＣＳ８１１のインストー
ルバージョンは、1.0.7としてください。最新2.0はエラー

all rights reserved 2020 spectrum technology co.

5

ESP運用マニュアル
4. Ａｒｄｕｉｎｏ ＩＤＥの設定、立ち上げ、操作方法• ファイル＞開く• 提供のinoファイルを開きます。

左がトップになります。
Include の右でオレンジになっていない場合は、ライブラリがはいっていないので、前のページのとおり適宜インストールしてくださ
各種設定は、ＡＷＳ設定後に説明します。

アイコン説明（左から）• コンパイル• ＥＳＰへの書き込み• 新規作成• 開く• 保存
all rights reserved 2020 spectrum technology co.

6

ESP運用マニュアル
4. Ａｒｄｕｉｎｏ ＩＤＥの設定、立ち上げ、操作方法• 標準的な操作方法① コンパイル② ＥＳＰへの書き込み

all rights reserved 2020 spectrum technology co.

7

ESP運用マニュアル
4. Ａｒｄｕｉｎｏ ＩＤＥの設定、立ち上げ、操作方法• 標準的な操作方法

ＩＤＥをインストールしたＰＣにＥＳＰをＵＳＢ接続します。
ツール＞シリアルポート＞
Ｃｏｍポートを選択します① コンパイル② ＥＳＰへの書き込み③ シリアルモニタで確認（表示されない場合は、再度ＥＳＰへの書き込み実施。何故か２回に１回は失敗する）④ 動作確認できたら完了

all rights reserved 2020 spectrum technology co.

8

ESP運用マニュアル
5. ＥＳＰ起動

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-starteddevkitc.html① ＥＮボタンによる起動：ＵＳＢケーブル（電源）を接続し、ボタンを押すとリセットされて起動します。
ＥＳＰ単体で動作します。
② Ｂｏｏｔボタンによる起動：Ｂｏｏｔボタンを押したまま、ＥＮボタンを押すと、ＵＳＢポートからＦｉｒｍｗａｒｅをダウンロードします。

6. 消費電力• 通常：80mA 5V, 最大1.1A

all rights reserved 2020 spectrum technology co.

9ＡＷＳ ＩｏＴ開発①．メニューAWS IoT Core• ＡＷＳ設定ＡＷＳ ＩｏＴを実施するためのＡＷＳの設定
ＡＷＳの詳細説明は以下のＵＲＬへ
https://aws.amazon.com/jp/cloud/?nc2=h_l2_cc• ＡＷＳ ＩｏＴ設定
ＡＷＳ ＩｏＴのデバイス、証明書、ポリシー、ルールなどの設定を行います。
開発者ガイトは以下のＵＲＬへ
https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/what-is-aws-iot.html• ＡＷＳ ＳＮＳ設定：メール送信• ＡＷＳ ＩｏＴ ｅｖｅｎｔ設定：ＤｙｎａｍｏＤＢに確保したデータで閾値を設定してメール送信（今回の場合は、ＣＯ２＞1000ｐｐｍを超えるとメール（参考）• Ｇｉｔｈｕｂなど• https://github.com/aws/aws-iot-device-sdk-python（一部のプログラムはＴＬＳエラーで動きません）• https://github.com/eclipse/paho.mqtt.python• ＭＱＴＴ• https://www.ibm.com/developerworks/jp/iot/library/iot-mqtt-why-good-for-iot/（ＩＢ
Ｍの資料でわかりやすい）all rights reserved 2020 spectrum technology co.

10

ＡＷＳ ＩｏＴ開発②．ＡＷＳ設定• 手順１：アカウントの作成• https://aws.amazon.com/jp/register-flow/• 必要なメールアドレス、パスワードなどを入力します。

all rights reserved 2020 spectrum technology co.

11

ＡＷＳ ＩｏＴ開発③．ＡＷＳ ＩｏＴ設定

AWS IoT Core

• 画面説明１• ＡＷＳトップ画面からＡＷＳ ＩｏＴのサービスを選択します。
• モニタリング：接続状況がひとめで分かりますall rights reserved 2020 spectrum technology co.

12

ＡＷＳ ＩｏＴ開発③．ＡＷＳ ＩｏＴ設定

AWS IoT Core

• 画面説明２• オンボード：特に使用しません• 管理：モノall rights reserved 2020 spectrum technology co.

13

ＡＷＳ ＩｏＴ開発③．ＡＷＳ ＩｏＴ設定

AWS IoT Core• ポリシー作成１• 安全性＞ポリシーの作成を押します。

all rights reserved 2020 spectrum technology co.

14

ＡＷＳ ＩｏＴ開発AWS IoT Core

④換気センサ システム概要

all rights reserved 2020 spectrum technology co.

15

ＡＷＳ ＩｏＴ開発AWS IoT Core

④換気センサ システム概要
全体構成
換気センサ開発キット
WiFi接続IoT MQTT
protocol

換気センサ
CCS811

リアルタイムグラフAWS IoT Core Amazon DynamoDB

マイコン
ESP32 devkit
リモートモニタ

マイコンとCCS811空気品質センサを使い、ＣＯ２、ＴＶＯＣ（総揮発性有機化合 厚労省基準物）を検知し、取得したデータをｄｙｎａｍ CO2 1000ppm（空調有）ｏＤＢに保存し、外部のＷｅｂを使いリア1500ppm(学校）ルタイム表示します。また、ＩｏＴイベント
5000ppm(安衛法）を使い、基準値を超えるとアラームメー Tvoc 187ppb（暫定目標）
ルを送信します。

アラーム
メール

AWS IoT Events Amazon Simple Notification

all rights reserved 2020 spectrum technology co.

Service16

ＡＷＳ ＩｏＴ開発④換気センサ システム概要

AWS IoT Core

換気センサ概要
換気センサ（ＣＣＳ８１１）
https://www.sparkfun.com/products/14193
Ｇｉｔｈｕｂhttps://github.com/sparkfun/CCS811_Air_Quality_Breakout
仕様• 総揮発性有機化合物 （TVOC）測定 : 0〜1,187 ppb• eCO2 測定 : 400〜8,192 ppm• 五つの動作モード• 統合MCU• オンボード処理• I2C通信• 実使用前に48時間のエージングと、20分のコンディショニングの時間が推奨されています（センサがウォームアップして、有効なデータを出力するまでに20分かかります）• ＢＭＥ２８０温湿度センサと組み合わせて温度補正が可能です。（プログラムには組み込んでいます）
厚生労働省の基準• https://www.mhlw.go.jp/bunya/kenkou/seikatsu-eisei10/• https://www.tokyo-co2down.jp/2016/06/24/30472/index.html
all rights reserved 2020 spectrum technology co.
17

ＡＷＳ ＩｏＴ開発④換気センサ システム概要

AWS IoT Core

ＥＳＰ３２とＣＣＳ８１１の接続

メスーメスのジャンパで接続
ＥＳＰ３２
ＣＣＳ８１１
１---------------------- 3.3Ｖ
１４------------------ GND
２１----------------- SDA
２２------------------ SCL
all rights reserved 2020 spectrum technology co.

18

ＡＷＳ ＩｏＴ開発⑤換気センサ リアルタイム表示

AWS IoT CoreAWS IoTのルール設定• ＡＷＳ ＩｏＴのコンソールからＡＣＴ＞ルール• ルール作成を押します。（メール送信と同様）

all rights reserved 2020 spectrum technology co.

19

ＡＷＳ ＩｏＴ開発⑤換気センサ リアルタイム表示ＥＳＰ３２設定
A) ＷｉＦｉ• ＳＳＩＤ，パスワード入力
B) エンドポイント• ＡＷＳの接続先入力
C) トピック• Ｐｕｂｌｉｓｈ，Ｓｕｂｓｃｒｉｂｅとも同じもの
D) 電子証明書• ルートＣＡ，Ｃｅｒｔ，Ｐｒｉｖａｔｅをコピペして入力• 各証明書を右クリック＞プロ
グラムで開く＞サクラエディ
タなどでひらいてくださいＡ）Ｂ）
Ｃ）

all rights reserved 2020 spectrum technology co.

20

ＡＷＳ ＩｏＴ開発⑤換気センサ リアルタイム表示
ＥＳＰ３２コンパイル、書き込み、確認A) コンパイル• エラーが出たら修正B) ＥＳＰ書き込み
C) シリアルモニタ確認• 正常表示されない場合は、書き込みを再度実施• 最初ＷｉＦｉ接続完了です• その後ＭＱＴＴ送信

all rights reserved 2020 spectrum technology co.

21

ＡＷＳ ＩｏＴ開発

Amazon DynamoDB⑤換気センサ リアルタイム表示
ＡＷＳ ＤｙｎａｍｏＤＢでの確認• IoTでその実施した内容をＤｙｎａｍｏＤＢで確認• ＡＷＳのトップから＞ＤｙｎａｍｏＤＢを選択• テーブル＞設定したテーブル＞概要

all rights reserved 2020 spectrum technology co.

22

ＡＷＳ ＩｏＴ開発⑤換気センサ リアルタイム表示

AWS IoT Coreリアルタイム表示• ＩｏＴ．Ｋｙｏｔｏ様の利用＞グラフ• Ｄｅｖｉｃｅｉｄ：esp32_ccs811• 表示対象をチェックすると自動で表示されます。

温度で補正した場合の表示
４８時間エージングが必要と最初の２０分は異常値がでます

all rights reserved 2020 spectrum technology co.

23

ＡＷＳ ＩｏＴ開発⑤換気センサ リアルタイム表示

AWS IoT Core

ＥＳＰ３２起動• ＥＳＰ３２単独で、電池（モバイルバッテリ）を使用して起動します。
• ＥＮボタンを押します。
• リアルタイム表示を確認します。

ＥＮボタンでスタート

all rights reserved 2020 spectrum technology co.

24

ＡＷＳ ＩｏＴ開発⑥換気センサ メール送信

Amazon Simple Notification
Service

Ａｍａｚｏｎ ＳＮＳ設定• ＡＷＳのトップ画面でＳＮＳを選択• ＳＮＳ＞トピック＞新しいトッピック作成

all rights reserved 2020 spectrum technology co.

25

ＡＷＳ ＩｏＴ開発⑥換気センサ メール送信AWS IoT CoreAWS IoTのルール設定• ルール作成• アクション追加＞ＳＮＳプッシュ通信としてメッセージを送信する

all rights reserved 2020 spectrum technology co.

26

ＡＷＳ ＩｏＴ開発⑥換気センサ メール送信AWS Identity and Access
Management

ＩＡＭの確認• ＡＷＳのトップ画面からＩＡＭを選択• ＩＡＭで、ユーザ、ロールなどアクセス権限が一覧でわかります。

all rights reserved 2020 spectrum technology co.

27

ＡＷＳ ＩｏＴ開発⑥換気センサ メール送信
ＩｏＴイベント設定• 指定設定値で、メール送信するため、ＩｏＴイベントを設定します。
• 探知器モデル＞探知器モデルの作成• 新しく作成する

all rights reserved 2020 spectrum technology co.

AWS IoT Events

ＩｏＴ ｅｖｅｎｔは料金が発生します。適宜請求額を確認

28

ＡＷＳ ＩｏＴ開発AWS IoT Events⑥換気センサ メール送信
ＩｏＴイベント設定•••••

Initからドラッグすると移行イベントが設定できます

移行イベントの作成
イベント名：overco2
トリガーロジック：$input.inputccs.CO2_esp > 1000
変数の設定＞値の割り当て
変数名：co2alarm 値：1

all rights reserved 2020 spectrum technology co.

29

ＡＷＳ ＩｏＴ開発⑥換気センサ メール送信AWS IoT Events

ＩｏＴイベント試験•••••

探知器モデル＞サンプルデータの送信
入力名：inputccs
Co2_esp:1000,番号と入力し、プレビューデータの送信
メールの確認• ＡＷＳ Ｎｏｔｉｆｉｃａｔｉｏｎ Ｍｅｓｓａｇｅが受信できます• 実データでメールを行うには一度状態をｉｎｉｔにサンプルデータで戻します。

all rights reserved 2020 spectrum technology co.

30