ども。こんばんは。
前回の続きです。
M5Stackの開発には、大きく、
Arduino IDE
M5Cloud
UIFlow
が、あるようでそれぞれファームウェアを入れ替えることで開発環境も変わります。
Python(MicroPython)での開発だと、M5CloudかUIFlowですが、M5Cloudはあんまりメンテナンスされていないらしい?という情報もあり、最新のUIFlowを導入します。
なお、UIFlowは完全ブラウザベースのものとDesktop版がありますが、今回は折角なので完全ブラウザベースのもので挑戦します。
■ファームウェアの書き換え
いろんな記事を見ていると、以前はesptoolで書き込むのが主流だったようですが、現在はM5Burnerを使うようです。
M5Burnerは公式サイトからダウンロードできます。
https://m5stack.com/pages/download
インストーラはないのですが、重要な注意事項があります。
必ず、「アプリケーション」にappを移動してください。そうしないと、起動するものの、ファームウェアのリストが全然出てきません。地味にはまりました。。ちゃんと同梱のテキストファイルに書いてます。
【注意書き】
あと、やっぱりブロックされるのでセキュリティとプライバシーから解除する必要があります。
起動するとこんな感じです。
いろんなファームウェアやサンプルが並んでますね。
初期のエヴァ風のものは、「Core2FactoryTest」のようです。
とりあえず「UIFlow_Core2」をDownloadして、Burnします。
このとき最新は「v1.6.5.1-core2」でした。
なるほど。内部的にはesptoolが動いているんですね。
■M5Stack Core 2をWI-Fiに接続する
ファームウェアの書き込みが終わるとリセットされて、こんな感じで立ち上がります。
Setupをタップして、Config WI-Fi by WebのStartをします。
すると、こんな画面になります。
指定されたSSIDにPCやスマホを接続ます(パスワードはかかっていません)
次に「http://192.168.4.1」にアクセスします。
以下のような画面が見えるので、アクセスポイントを選択して、パスワードを入力したら「Configure」をクリックします。
URLにパスワードがダダ漏れorz
再起動してもちゃんとアクセスポイントの設定は残っています。
で、真ん中のFlowを押すとモードを聞かれるのでWI-FIを選びます。
※メニューの移動?が毎回リセットしないとだめっぽくてちょっと鬱陶しいかも。
Wi-Fiに接続中。
無事に繋がると、APIキーが表示されます。
ここまででM5Stack側の準備は完了です。
なお、m5stack社のサーバとは、mqttを使って通信しているようです。途中にFW等がある場合は、1883/tcpポート宛の通信を許可してあげてください。
■UIFlowを使う
https://flow.m5stack.com/にアクセスします。
Core 2はBetaでしか対応していないようなのでBetaを選択します。
設定画面が勝手に出てくる(でなければ右側メニューから)ので、API Keyには、M5Stack上に表示されているキーを入力し、DeviceはM5Stack Core 2っぽいのを選択します。
テストプログラムを適当に書きます。
ちゃんとPythonコードも見ることができます。
できたら、右上の▷をクリックして実行します。
いけた!
時計がめちゃくちゃずれてるっぽいので以下のようなプログラムを実行して時計をあわせておきました。
■おまけ:シリアルコンソール接続
UIFlowはMicroPythonが動くファームウェアですが、シリアル接続でかんたんなPythonコマンドを実行することもできます。
TeraTermなどでつながると思いますが、うちはmacなのでscreenコマンドを使います。
こんな感じ。
screen /dev/tty.SLAB_USBtoUART 115200
※スクリーンコマンドを抜けるには、Ctrl+A+Kのあとにy。
何回かエンターキーを押すとプロンプトになるので、適当に実行できます。
【バックナンバー】
ではでは。またの機会に。