ESP32でAWS IoT

目的

AWS IoTのShadowを操作して、クラウドとESP32で連携する。ということをやりたい。

おそらく↓の二つが必要

  • AWS IoTでthinkgを作成、証明書の発行
  • ESP32からshadowへアクセスするプログラムの作成

今回は、AWS IoT側の設定。

AWS側の設定

  1. モノの作成 AWS IoT > 管理 > 作成 > 単一のモノを作成する

f:id:singyestarday:20180314154732p:plain

任意の名前とタイプを作成。 タイプは特別な設定はなし。 他の、グループ、属性などは指定なし。

f:id:singyestarday:20180314154957p:plain

で、次へ。

1-Click 証明書作成 (推奨)の[証明書の作成]で証明書を作成したら、4つすべてダウンロード。 この時しかダウンロードできないので、thingの名称とセットで保存しておくこと。 (パグリックキーは使わない?)

証明書をダウンロードしたら、[有効化]して完了。ポリシーのアタッチは後ほど。 f:id:singyestarday:20180314155206p:plain

ポリシーの作成とアタッチ

AWS IoT > 安全性 > ポリシー の画面右上の[作成] 任意の名前を入力して、アドバンストモードに変更 以下の内容で、ポリシーを作成

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:*",
      "Resource": "*"
    }
  ]
}

作成。

先に作成したモノに、ポリシーをアタッチします。 AWS IoT > 管理 > モノ で先ほど作成したモノを選択。

セキュリティ > 証明書を選択 > ポリシー f:id:singyestarday:20180314161025p:plain

f:id:singyestarday:20180314161000p:plain

画面右上の、アクション > ポリシーのアタッチ 作成した、ポリシーにチェックを入れてアタッチ。

以上で、完了。 これで、ダウンロードした証明書の類を使って、ESP32などのIoTデバイスからアクセスできるはず。

次回、ESP32から、MQTT接続、shadowを操作する方法を書きたいと思います。