M5Stack社のM5ATOMシリーズ(Matrix/Lite)のプログラムをVSCode上のPlatformIO環境で書くための雛形です。
platformio.ino
の[env]
セクションにあるbuild_flags
でENABLE_SERIAL_MONITOR
を定義すると,common.h
にあるシリアル周りのマクロ定義が有効になり,シリアル表示のコードを挿入します。また,MACアドレスを表示するためのマクロ定義も追加されます。このマクロ定義を使ってデバッグ用の表示コードを書いておくと,不要なときは表示コードを挿入しないようにすることができます。
VSCodeのステータスバー(画面下)にある「Switch ProjectIO Project Environment」を押すと,環境の切り替えメニューが画面上に表示され,platformio.ino
のdefault_envs
を書き換えずに環境を切り替えることができます。
用意している環境は以下の3つです。
m5atom
M5ATOMの最小限の雛形m5atom-wifi
M5ATOMをWiFiに接続する雛形m5atom-ble-keyboard
M5ATOMをBLEキーボードにする雛形
M5ATOMのボタンを押すとSEND_KEY
に指定したキーを押したのと同じm5atom-espnow
ESPNOWでデータを送受信する雛形m5atom-mqtt
M5ATOMをMQTTクライアントにする雛形。m5atom-wifi
も必要
m5atom-wifi
でビルドする場合,data/settings.json
に以下のようにWiFiの設定を書いてSPIFFSに転送することで,M5ATOMのNVS(不揮発記憶装置)にWiFiのSSIDとパスワードを記録し,再起動時にNVSから設定を読み込んでWiFiに接続できるようになります。
{
"ssid": "SSID",
"password": "Password"
}
settings.json
をM5ATOMのSPIFFSに転送するには,VSCodeのPlatformIOのプロジェクトタスクから「m5atom/Platform/Upload Filesystem」を選びます。
コマンドラインから実行することもできます。以下のコマンドを実行します。
$ pio run --target uploadfs
M5ATOMのSPIFFSにファイルが転送されると,M5ATOMが再起動します。
M5ATOMはSPIFFSの/settings.json
を見つけると,JSONに書かれているSSIDとパスワードをNVSに記録し,settings.json
を削除します。
これ以降は再起動されるたびにNVSに記録された接続情報を利用してWiFiに接続します。
WiFiの設定を変更するには,settings.json
の内容を変更し,再度M5ATOMにファイルを転送してください。