AWS IoT Core への接続

この章では、デバイスファームウェアの設定、構築、およびフラッシュを行います。これにより、デバイスが Wi-Fi ネットワークと AWS IoT Core に接続できるようになります。AWS IoT Core に接続して通信するには、Wi-Fi の認証情報と AWS IoT エンドポイント の URL を使用してデバイスを設定する必要があります。安全な MQTT 接続の確立は、 AWS IoT Device SDK for Embedded C とオンボードの事前プロビジョニングされた安全なハードウェア証明書 Microchip ATECC608 Trust&Go を利用します。セキュアエレメントを使用すると、AWS IoT Core から証明書を取得したり、独自の証明書を生成して接続したりする必要はありません。AWS IoT Device SDK for Embedded C の接続ライブラリは、AWS IoT サービスおよび機能への接続とアクセスを簡単にします。

ESP32 ファームウェアの設定

ソースコードの設定は、 Kconfig を通して行います。Kconfig は Linux カーネルで使用されているものと同じ設定システムであり、利用可能な設定オプション (記号) をツリー構造に単純化するのに便利です。

設定メニューは、プロジェクトのルートで以下のコマンドを入力して、開くことができます。

pio run --environment core2foraws --target menuconfig

Configuring Core2 for AWS IoT Kit with p.py menuconfig

ここでは設定を行います。キーボードの方向キーを使って、その後、メニューから [AWS IoT Kit Configuration] を選択します。自分の Wi-Fi 認証情報で、[WiFi SSID] と [WiFi Password] を設定します。終了したら、キーボードの s ボタンを押して保存し、enter を押してファイルの場所を確認して、enter を押して q を押して終了します。

SSID が 2.4GHz ネットワーク用であることを確認してください。AWS 用 M5Stack Core2 ハードウェアの ESP32-D0WD は 5GHz 帯の Wi-Fiに対応していません。

Lチカ用のファームウエアのビルド、転送、モニタリング

これまでの手順で、Lチカのファームウェアをビルド(コンパイル)してアップロードする準備ができました。この手順は「開始方法」チュートリアルと同じです。

  1. ファームウエアのビルドを行うには、以下のコマンドを実行します。(コマンドの実行は数分かかります)
    pio run --environment core2foraws
    
  2. ビルドが成功したら、 USB経由で接続した機器にコンパイルしたファームウェアをアップロードし、シリアル接続するコマンドを実行して出力されるメッセージを監視します。
    pio run --environment core2foraws --target monitor
    
シリアル出力のアップロードまたは監視中に、誤ったポートまたはタイムアウトに関するエラーが表示された場合は、platformio.ini ファイルを開き、そのファイルの指示に従ってアップロードポートを手動で設定してください。

シリアルの出力を見ていると以下のようなログが見つかります。(出力されない場合は、Core2 for AWS IoT Kitを再起動してください) ここに表示されているClient Idは、後で**«CLIENT_ID»**として利用するので、コピーしておいてください。

␛[0;32mI (11413) Blinky: **************************************␛[0m
␛[0;32mI (11413) Blinky: * Client Id - 123456789ABCDEF       * ␛[0m
␛[0;32mI (11423) Blinky: **************************************

章のまとめ

この章では、デバイスを正常にコンパイルしてフラッシュし、シリアル出力を監視しました。AWS IoT Device SDK for Embedded Cを使用して、 MQTT メッセージブローカー (AWS IoT Core) で認証され、メッセージを受信できる状態になりました。

これで、このチュートリアルの最終章である Lチカ に進む準備が整いました。


Questions? Please use AWS re:Post

AWS IoT Kit now features direct access to AWS re:Post , which is a community-driven, questions-and-answers service. Search re:Post using the AWS IoT Kit tag to see if your question has been asked and answered. If not, ask a new question using the AWS IoT Kit tag.