AWS IoT EduKit 用 M5Stack Core2の使用意義がやっと分かったので、レッスン「Lチカ」 (マイクロコントローラーの Hello World ) アプリケーションの作成に戻ることに。
 出典1:Lチカ
 出典2:“M5Stack Core2 for AWS”を試す!!!
 出典3:AWS IoT EduKit通して学ぶ「クライアント証明書入りセキュアエレメント」の使い方

 最初は分かり易いと感じ出典2に従ったのだが、「esp-idf」のインストールあたりから訳がわからなくなって途中で断念、どうもこの方法は素人には難しすぎるようだ。
 ラズパイでの「AWS IoT」への接続は容易に出来たのに不思議だった。
 出典3をみて、「AWS IoT EduKit」を使う意味が少し分かり再度挑戦、必要な手順は次の6つだと気付く。

1.AWS IoT Edukitの準備作業

(1)VSCode+拡張機能PlatformIOのインストール
(2)Gitのインストール+「Core2-for-AWS-IoT-EduKit」のクローン作成

2.AWS IoTにIAM接続可能に

(1)AWSのアカウント作成、IAMユーザーの作成が終わりIAMユーザーとしてサインインできる状態に。
(2)デバイスデータエンドポイントの確認
  abcabcabc-ats.iot.ap-northeast-1.amazonaws.com

3.デバイスを「物」としてAWS IoT Coreに登録

(1)PlatformIO CLI ターミナルウィンドウを開き
(2)Blinky-Hello-Worldフォルダへ移動し、次のコマンドを

cd Blinky-Hello-World
pio run -e core2foraws-device_reg -t register_thing

(3)この簡単なコマンドで、”0123456789ABCD”のようなATECC608A Trust&GOの製造番号に似た名前の「物」がAWS IoTに自動的にでき、更にデバイス証明書も一緒にこの物にアタッチされる。
 M5StackCore2のATECC608Aチップ内には秘密キーがあるので、AWS IoTとの認証がこれで可能になった、とても簡単。

4.ESP32ファームウエアの設定

 同ターミナルウィンドウから

pio run --environment core2foraws --target menuconfig

 ファームウエアをビルドするまえに必要な事項を設定する。
 設定するのは3カ所、M5StackCore2が接続するWiFiルータの設定
 Wifi経由でインターネット接続をするので、ルータに自動的に接続するために必要

(Top) > AWS IoT EduKit
( **** ) WiFi SSID
( **** ) WiFi Password:


 AWS IoT Endpointのホスト名

(Top) > Component config > Amazon Web Services IoT Platform
( abcabc-ats.iot.ap-northeaset-1.amazonaws.com ) AWS IoT Endpoint Hostname

5.ファームウエアのビルド、アップロード、モニタ

 同ターミナルウィンドウから次のコマンドを

pio run --environment core2foraws
pio run --environment core2foraws --target upload
pio run --environment core2foraws --target monitor
6.Lチカ

 トピックをサブスクライブすれば接続が開始される。
 トピックに公開するを選び、トピック名に「物」の名前/blinkをいれて発行ボタンを押せば、デバイスのサイドバーの LED が点滅を始める。 点滅を一時停止するには、発行ボタンを再度押すだけ。