とある Solution Architect の轍

とある Solution Architect の轍

M5Stack Core2 ESP32 IoT Development Kit for AWS IoT EduKit 入門 ~開発環境の構築~

AWS IoT 関連サービスの学習や、エッジデバイスの組み込みデバイス開発の入門のため、
M5Stack Core2 ESP32 IoT Development Kit for AWS IoT EduKit を購入し Hello World してみました。

環境

チュートリアル

AWS IoT EduKit に沿って読み進めます。

ドキュメントにもありますように M5Stack Core2 for AWS は日本からだと Switch Science で購入することができました。
自分の場合、ちょうど在庫があったので注文から納品まで大体 3日でした。

www.switch-science.com

事前準備

CP210x Universal Windows Driver

ターゲットデバイスWindows PC から接続するため、
USB to UART のブリッジ接続をするためのドライバをインストールします。
CP210x USB to UART Bridge VCP Drivers でリストアップされている、CP210x Universal Windows Driver をインストールします。
展開してインストーラ(CP210xVCPInstaller_x64.exe) を実行するだけです。
インストールが完了すると、デバイスマネージャーポート(COMとLPT)Silicon Labs CP210x USB to UART Bridge が確認できます。

f:id:shnj:20210222094819p:plain
CP201x Driver

VSCode 拡張: PlatformIO IDE

  1. コマンドパレットを開く(ctrl+shift+p)
  2. Install Extensions を選択
  3. platformio.platformio-ide をインストール

.platformio ディレクトリ以下に cmake 等のツール群がインストールされました。

スマホアプリ ESP RainMaker (任意)

スマホからターゲットデバイスの操作をする場合は、ESP RainMaker をインストールします。
Android 版はこちら -> ESP RainMaker

サンプルコードの実行

以下のリポジトリに幾つかサンプルコードがあるので実行してみます。

github.com

今回は Getting-Started プロジェクトを実行します。

ソースコードを clone して vscode を開く

Getting-Started をルートとして vscode を開きます。

git clone https://github.com/m5stack/Core2-for-AWS-IoT-EduKit.git
cd Core2-for-AWS-IoT-EduKit/Getting-Started
code .

シリアルポートの接続設定

platformio.ini の upload_port に接続ポートを入力します。
自分の場合は、COM4 で接続されていたので、

upload_port = COM4

に書き換えるだけです。

ビルドする

プロジェクトのカラムから Build を選択するとファームウェアがビルドされます。
ターミナルのログから .pio/build 以下にビルド成果物が生成されているのがわかります。
詳細は CMakeLists.txt を追う感じになりそうです。
接続設定が誤っているとこの時点でエラーを吐いていました。
一度エラーを吐いた後、接続設定を修正してビルドしても中途半端な生成物が残存して失敗することがあったので、Clean をしておくと良さそうです。

f:id:shnj:20210222100626p:plain
platformio

FW を書き込む

プロジェクトのカラムから Upload を選択するとファームウェアが M5Stack Core2 に書き込まれます。

スマホから制御する

ESP RainMaker を起動しターミナルに表示された QR コードを入力してスマホから制御できるようにします。
(QR コードが表示されたり表示されなかったりしてよくわからない挙動。。)