まだ名もないmicroPython ESP32 with M5stackのレポジトリつくった。

この手の話は3度めですが。

要するに、M5stackの公式ではあんまりファームウェアの管理まで手が回らないみたいなのでしっかり使うためにメンテナンスの行き届いてるオリジナルの方のmicroPythonを使いましょうってことなんです。

たとえばなんですけど、M5GO、そろそろ手に入れた方なんかもちらほら見えてきててスマホからプログラム送りこんで実行できるすごい! などと言っていてちょっと嫉妬したりしてみたわけで、microPythonならそんなの簡単にできるもん! って。
そんなことを思いつつM5GOのレポジトリ見たらmicroPythonなんすよ。M5GOのファームウェアって…。

M5stackのリリースしたmicroPython、これで4つめくらいっすよ。メンテしてほしい・・・

なににしてもまったく動きの無いFacesのレポジトリとか、他にもつぎつぎいろいろ出てくるけどその後は自力でどうにかしなきゃいけない。ついでに面白いことなんかも出来たらいいね。

という、そういうためのものです。
ディストリビューション的な?
似たようなコンセプトのものにM5Stack Kitchen Sinkってのがあります

本家microPython for ESP32の対応次第ですけども。
いろいろ出来たらいいなと思ってます。

レポジトリ

https://github.com/sugarflower/esp32m5
ここになります。

まだ説明もほとんど書けていないんですが。
- firmware/flash ファームウェア.bin
- upload.sh
の順番で実行して本体リセットすれば使えるようになります。

linuxとかじゃない場合はそれぞれのスクリプト覗いてみてください。
何も難しいことはしてないのですぐわかるし書き変えも簡単だと思います。

esptool.pyとampyが別途必要になりますのでそれは調べてインストールしてつかってください。

構成

これはしっかりレポジトリのREADMEに書く必要があるのですがどこから何を引っ張ってきてるのか書かねばなりません。

割とシンプルです。
で、ili9341ドライバに含まれる m5stack.pyを大幅に弄っているのでどうやってこれを元のレポジトリとつじつま合わせてゆくか悩みっぱなしなんだけど悩んでても先に進めないのでひとまず公開。 MITライセンスだし。

使い方。

基本的に公式のmicroPythonのドキュメントがそのまま使えますが。
SDカードのマウントとUART2の初期化についてはファンクションを用意してます。

SDcard
m5stack.mountsd()
uos.listdir("/sd")
UART2
m5stack.uart2_start()

#実行後これで参照出来る。
m5stack.uart2

#でも面倒だから別のオブジェクトに移す。
u2 = m5stack.uart2

#あとは普通に使える。たとえばany()とか。
u2.any()

ほとんどm5stackモジュールに詰め込んであるのでそれがすべて。
グラフィックの表示に関してとかは過去のポストからili934xnewとかRGB565というキーワードでみてもらえればこの構成のmicroPythonで動くグラフィック表示とかのコードもでてきますよ。

展望

とりあえずM5stack Facesに惚れてM5stackに手を出しました故。
その後なんの音沙汰もなく悲しんでおります。

ってことで! Facesをがっつり使えるようにしたいねー。

あとは便利そうなexamplesを充実させたい。
現状だとそれぞれ環境毎に異なるサンプルが混在していてひとことでmicroPythonといっても全然動かんみたいなの普通に起きちゃってるし。

とりあえずちまちま弄っていたんですけどそろそろ土台としては形になってきたので公開してみた。というそんな話題でした。
どなたかカッケー名前つけてください。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.