(3)M5GOとUIFlowでプログラミング - M5GOのUIFlowファームウェアの説明
ファームウェアとは?
M5GOにははじめからUIFlowv1.8.1のファームウェアが書き込まれています。
これをv1.13.4に更新して使用しています。
バーションはさておき、UIFlowのファームウェアとはなんでしょう?
例えて言うなら、M5GOにおけるOSのようなものです。
M5GOの起動時に自動的に読み込まれるソフトウェアで、プログラミングサイト「UIFlow」との仲立ちや、M5GOの基本的な機能を提供してくれるものです。
ここでは、ファームウェアの基本的な機能について説明をします。
3つのモード
UIFlowファームウェアには3つの基本的なモードがあります。
それ以外のモードは一時的なモードで、リセット後にはいずれかのモードで起動し直されます。
Internet Mode
プログラミングサイト「UIFlow」でプログラミングできるモードです。基本的にはこのモードを使用します。
USB Mode
PCにインストールするタイプのプログラミング環境「UIFlow」(Web版とほぼ同様)でプログラミングできるモードです。長らく更新が止まっており、USB Modeはほぼ使用しません(公式も推奨していません)。
APP Mode
「〇〇.py」の形でM5GOの内蔵メモリに保存されているプログラムを呼び出します。プログラムの完成後、M5GO単独でプログラムを実行するために使用するモードです。
モードの切替え
電源を入れると、一瞬、このような画面(メニュー選択画面)が表示されます。
(ボタンA)APP
(ボタンB):
(ボタンC)Setup
のように並んでいます。
「APP」は、プログラム選択画面に移行します。プログラムの選択後、APPモードへ切り替えて実行されます。
「:」は、APP実行↔Internet Mode or USB Modeの切り替えを行います。
モード移行後のAPPでどのプログラムを実行するのか、Internet or USBのどちらのモードに切り替わるかは、いずれも最後に実行していたものになります。
「Setup」は、一時的なモードである、Setupモードに切り替えます。
Setup
各種設定ができるSetupモードに切り替えます。一時的なモードです。
3ボタンがそれぞれ
(∧)上項目へ移動
(↵)決定
(∨)下項目へ移動
となります。設定できるメニュー項目は以下のようになります。
なお、「▶」は展開できるメニューで、「>>」は、即時実行されるメニューです。
それぞれ、
▶Switch mode
Internet Mode、USB Mode、APP Modeを切り替えます。
▶Server Select
サーバーを切り替えます。
flow.m5stack.comか、sg.flow.m5stack.comのどちらかです。
LocalUIFlowだと、(2)において、M5Bunerで「192.168.0.253」(私の場合)で設定した部分です。こちらで切り替えると、M5Burnerで設定したものは消えてしまいます。
Startup Hold(1s)
起動時にメニュー選択画面(先程例示した画面)を表示するかどうかの設定です。
Wi-Fi via AP >>
アクセスポイントモード(一時的なモード)で起動し直し、Wi-Fiを設定できるようにします。
Wi-Fi via smartconfig >>
smartconfigを使ってWi-Fiを設定できます。
Generate new apikey >>
API KEYを再生成します。
▶Wi-Fi Select
M5GOに保存されている、つないだことのあるWi-Fiを選びます。
▶Network over COM.X(Beta)
COM.Xを使用したネットワークを使用します(よくわかってない)
Reboot >>
再起動します。
日常的には、Switch modeか、Wi-Fi Selectくらいしか使いません。
Switch modeも、Internet modeに戻す操作が主です。
Wi-Fi via APや、smartconfigは使用しないわけではありませんが、頻繁に設定するものではないため、必要に応じて行ってください。
Reboot(リセット)も、電源ボタンで事足りるので、私は、わざわざ項目からは選びません。
Internet modeへの切り替え、UIFlowへの接続
プログラムするには、プログラミングサイト「UIFlow」に接続する必要があります。
Internet modeにして電源を入れると、Wi-Fiへの接続試行画面が表示され、
Wi-Fiの接続に失敗するとこのような画面が表示されます。Wi-Fi設定を確認後、再接続してみてください。
接続に成功するとAPI KEYが表示されます。以下の画面になれば成功です。
このAPI KEYを使用して、M5GOとプログラミングサイト「UIFlow」の接続を確立させます。左上のWi-FiのマークがWi-Fi接続状態を、クラウドのマークがサイトURLに到達できているかを示します。両方緑が正常です。
ただ、API KEYが表示されたからといって、安心してはいけません。
M5GOがUSB modeのときも、API KEYが表示されます。
違いは、左上のマークが、Wi-Fiのマークか、USBのマークかということです。これだと、UIFlowサイトとは接続できませんので、もし、USB modeのようならSetupから変更してください。
Internet modeで、API KEYが表示されている状態になれば、基本的にはM5GO側の設定は終了です。
終わりに
詳しく説明しましたが、動作に関するまとまったマニュアル等は見たことがない(あるのかもよく分からない)ので、以上の内容は試行錯誤して動作をまとめたものになります。間違いがあったり、仕様変更があるかもしれません。
また、生徒はここまで動作や内容を把握している必要はなく、
3つのモードがあること(USB modeは使わない)
SetupとAPPの使い方
(本体に保存したプログラムを走らせるのはAPP mode)基本的にはInternet modeにする
困ったらリセット→Setup→Switch modeでInternet modeにする
起動して、API KEYが表示されていればOK(USB modeだけ注意)
と、このくらい教えれば、使える(自分である程度のトラブル対応ができる)ようになります。
次回はプログラミングサイトの方のUIFlowの説明をまとめておく予定です。