環境モニタを作ろう with ESP32 DEV Module 〜 No4. 温度と湿度データをクラウドに入れたい!AWS-IoTを使ってみよう #aws-iot

ここまでできたこと

  1. 環境モニタを作ろう with ESP32 DEV Module 〜 No1. まずは動かして見よう
  2. 環境モニタを作ろう with ESP32 DEV Module 〜 No2. 温度湿度センサーをつけよう
  3. 環境モニタを作ろう with ESP32 DEV Module 〜 No3. wifiに接続して、https通信を試してみよう

さて、前回はインターネットに接続までできましたね、

これらのデータをクラウドに格納したいな、ということで、今回はAWS-IoTを使ってみようと思います。

って、あれ、そもそもAWS-IoTってなんですか?ってところをちょっと見ておきましょう。

AWS-IoT

さまざまなデバイスとAWSをセキュアに接続し、デバイスデータに対する処理やアクションを実行したり、デバイスをリモートで制御、管理することができます。

仕組みと用語の理解

公式サイトの概要を読むのと、以下のスライドで確認しておきましょう。

各コンポーネントの説明は以下のスライドの中で詳しく解説されているので、見ておきましょう。

  • デバイスレジストリ
    • デバイスのアイデンティティを管理
  • セキュリティとアイデンティティサービス
    • セキュアな認証と認可を行います
  • デバイスゲートウェイ
    • MQTTとHTTPSを利用したデバイスとのコミュニケーション
  • ルールエンジン
    • 受け取ったメッセージの処理と他のAWSサービスとの連携
  • デバイスシャドウ
    • デバイスステータスの管理

AWS-IoTを試してみる

上記のプレゼンにあった手順通りにやって見ましょう。

デバイスの作成(モノの登録)

AWS のマネジメントコンソールに接続して、AWS-IoTを開きましょう。

さて、ステップ1はモノの登録です。

証明書の作成

モノとAWSをセキュアに接続するために証明書を作成します。

簡単に1-Click証明書を作成します。

次の画面でダウンロードできるので、忘れずに4ファイルダウンロードしましょう

  • このモノの証明書
  • パブリックキー
  • プライベートキー
  • AWS-IoTのルートCA

ポリシーの作成

デバイスに与える権限のポリシーを作成します。

AWS-IoTポリシー

証明書にデバイスとポリシーを割り当てる

先ほど作成した証明書を右クリックすると、メニューが出てきます

「ポリシーのアタッチ」で先ほど作成したポリシーをアタッチします

「モノのアタッチ」で先ほど作成したモノをアタッチします

さて、これで、AWS-IoT側の準備は完了しました!

データのPublish & Subscribe

今回は、お試しなので、MacBookからMQTTで、Publish&Subscribeしてみましょう。
mosquitto のクライアントを使うので、インストールしておきましょう。

MQTTエンドポイントの確認

MQTTのエンドポイントの確認をします。

Publish

mosquitto_pubコマンドで、Publishします

各種パラメータは以下の通りです。

  • –cafile ルートCAファイル
  • –key プライベートキーのファイル
  • -h MQTTエンドポイント
  • -q QoS レベル
  • -d デバッグオプション
  • -t トピック
  • -m ペイロード

Subscribe

mosquitto_subコマンドでSubscribeします

Publishされたデータが届いて入ればOKです。

さて、MQTT 通信できました!

次は、これをESP32からやって見ましょう!