はじめに
前々回、前回と、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の箇所も一部コメントにしてしまいました。今後書き換える予定です。