構成はこんな感じ
ESP32のWifiで直接AWS-IoTにパブリッシュします。
AWS-IoTでサブクライブ、ルールでAWS-SNSを呼び出し、メールを送信します。
アクセスポイントが必要になりますが、設定するのはメンドーなのでiPhoneのインターネット共有で接続します。
今回はAWS-IoTの準備を行います
アカウント作成
まずはアカウント作成から。
https://aws.amazon.com/jp/iot-core/
メールアドレス、アカウント名、パスワード、住所、電話番号、カード番号などを登録して作成します。
アカウントの作成が終わったらAWSにログインします。
モノの登録
今回はAWS-IoTの設定を行うので、IoT Core をクリックします。
AMAZONのダッシュボタンを使う場合はデバイス登録をしますが、今回は直接Pub/Subするのでデバイス登録は飛ばして管理からモノを設定します。
「単一のモノを作成する」を選択します。
名前を入力して、「タイプの作成」をクリックします。
名前を入力して追加します。
証明書作成
続いて、証明書を作成します。
「1-Click証明書作成」で証明書を作成し、ダウンロードします。
この時ルートCAも忘れずにダウンロードしてください。
ACT作成(トピック、PUB/SUB、ルール作成)
続いて、ACTを作成します。
メニューからACTを選択し、作成を行います。
名前、属性、トピックフィルターを入力します。
今回は属性を”*”、トピックフィルターを”shadow/get”としました。
※トピックフィルターは任意の値を設定しても動かなかったのでとりあえず。
続いて、アクションの追加を行います。
「SNSプッシュ通知としてメッセージを送信する」を選択してアクションの設定をクリックします。
続いて、「新しいリソースを作成する」をクリック。
「新しいトピックの作成」をクリックし、トピック名を入力します。
トピックの一覧に追加したトピックが表示されるので、クリックします。
「サブスクリプションの作成」をクリックします。
プロトコルで”E-mail”を選択し、エンドポイントに送信先のメールアドレスを入力し、「サブスクリプションの作成」をクリックします。
登録したサブスクリプションは”PendingConfirmation”となります。
この時、登録したメールアドレスに以下のような確認メールが送信されますので、承認するためのリンクをクリックすることで、メールの順が承認され、サブスクリプションが正式に登録されます。
AWS-IoTのアクションの設定画面に戻り、リロードボタンをクリックすると、追加したリソース(トピック)がプルダウンに表示されるので、それを選択します。
続いて、「新しいロールの作成」をクリックし、ロール名を入力してロールを作成します。
「アクションの作成」をクリックするとアクションが作成されます。
テスト
最後に登録内容をテストします。
まだ、デバイスが用意できていないので疑似的にパブリッシュして、メールが送信されるかをテストします。
メニューからテストを選択します。
発行に”shadow/get”と入力し、下の黒いテキストボックスにメールの内容を入力し、「トピックに発行」をクリックすると登録したメールアドレスに入力したメッセージが送信されます。
AWS-IoTの設定は以上です。
次回はESP32のプログラムを作成して実際にパブリッシュしたいと思います。