##M5Stack設定ファイルの運用方法
コードはgistにまとめました。
https://gist.github.com/panda728/4a55c50a8c82ee70223ec8b545fb6643
動作を確認する手順はreadme.txtを参照ください
https://gist.github.com/panda728/4a55c50a8c82ee70223ec8b545fb6643#file-readme-txt
##背景
M5StackではSSIDとパスワードはソースコードに直書きされるサンプルが主流です。
そのサンプルを動かして、いざ次のステップへ進もうとしたとき、
M5Stack内部に、外部から設定を与える手段が必要になりますが、そこにはいくつかの方式があるようです。
##設定の方式
SmartCofnig...アプリから設定することもできて便利。
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_smartconfig.html
WEBサーバー方式...APモードで接続して設定します。製品でもこういったパターンがありますね。
SDカード方式...M5StackはSDカードがあるので便利です。
どの方式もいざやってみると少し物足りない部分があります。
##要件
アプリのインストールやAPモードに切り替えて接続するのは、なんとなく手間に感じるのでSDカードを使いたいです。
SDカードからconfig.iniを読み込みます。
しかしSDカードは初回のみで、その後は外しても運用したいです。
(SDカードを毎回用意するのは金額的に...w)
(補足:オリジナルフォントを使う場合は外せないのであきらめましょう)
WIFI情報はnvsなどに残るので気持ち的にもやもやします。
クリアする手段が欲しいです。
設定情報読み取り中がずっと黒い画面だとエラーなのかわからず不安です。
状況を画面に表示してほしいです。
##できました
コードはgistにまとめました。(再掲)
https://gist.github.com/panda728/4a55c50a8c82ee70223ec8b545fb6643
##動作確認の手順概要
初回はSDカードなしで起動します。
→エラー画面表示
次にSDカードにconfig.iniを入れて起動します。
→成功画面表示
次にSDカードを抜いて起動します。
→成功画面表示
次に設定を削除して再起動、初期状態に戻ることを確認します。
→エラー画面表示
##まとめ
いろいろ機能を盛り込んでいるのでコード全体の見通しが悪いですが
M5Stackのサンプルを動作させた次のステップの事例として参考になれば幸いです。
追記 後日、詳細説明の記事を書きました
https://qiita.com/panda728z/items/59e0566b5844e8936475