M5StackでAmazon FreeRTOSを使用する 3


はじめに

前々回、前回と、M5StackでAmazon FreeRTOSが動作して、アプリケーションが作れそうな気がしてきました。といっても、せっかくの画面が使えないとM5Stackを使っている意味がなくなってしまいます。

仕事で関わっているRecord Meetingという自動議事メモ作成サービスでも、操作メニューやQRコードを表示させるなど、スマートスピーカーの補助としてM5Stackが大活躍しています。

TFTのライブラリーは、Boris Lovosevic の ESP32_TFT_Library を使わせていただきましょう。

Git bashから、任意の場所にデモアプリをダウンロードします

git clone https://github.com/fukuen/m5stack-freertos-tft --recursive

前々回と同じモノの名前や証明書を使う場合は、証明書やヘッダーファイルを前回使用したamazon-freertosフォルダーから、今回のamazon-freertosフォルダーにコピーしてください。新しく登録する場合は、/tools/aws_config_quick_start/configure.json を修正して SetupAWS.py を実行してください。

ダウンロードしたディレクトリーに移動して、アプリケーションをビルドします。

cd m5stack-freertos-tft
cmake -DCMAKE_TOOLCHAIN_FILE=amazon-freertos/tools/cmake/toolchains/xtensa-esp32.cmake -GNinja -S . -B build
cd build
ninja

ビルドが完了したら、フラッシュします。

cd ..
idf.py flash

画面にはデモが表示されます。

シリアルコンソールでモニターしてみます。

idf.py monitor

最後に

画面が使えるようになって、少しM5Stackらしくなってきました。
Boris Lovosevic の ESP32_TFT_Library のサンプルでは、SNTPに接続して時刻を取得するロジックがありますが、現在のESP32用Amazon FreeRTOSはLWIPに対応していないため、SNTPのロジックをそのまま使うことができませんでした。SPIFFSの箇所も一部コメントにしてしまいました。今後書き換える予定です。