見出し画像

(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
▶Server Select
Startup Hold(1s)
Wi-Fi via AP >>
Wi-Fi via smartconfig >>
Generate new apikey >>
▶Wi-Fi Select
▶Network over COM.X(Beta)
Reboot >>

それぞれ、

▶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 表示(Internet mode)

ただ、API KEYが表示されたからといって、安心してはいけません。
M5GOがUSB modeのときも、API KEYが表示されます。
違いは、左上のマークが、Wi-Fiのマークか、USBのマークかということです。これだと、UIFlowサイトとは接続できませんので、もし、USB modeのようならSetupから変更してください。

API KEY 表示(USB mode)

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の説明をまとめておく予定です。

いいなと思ったら応援しよう!