Ubuntu22.04 にて M5StickCPlus の開発を Python でする環境
セットアップ
Ubuntu 22.04
pyenv等でpythonが利用できるようにしておく。
私自身は現在3.10.5をグローバルで利用できるようにしてある。
M5StickCPlusにファームウェアを書き込む(Pythonを利用する為)
予めUbuntuマシンとM5StickCPlusをUSBケーブルで接続しておく。
私の環境では
/dev/ttyUSB0
として認識されている。
そして、
M5Stack Developer Center
上記リンク先の
UIFLOW FIRMWARE BURNING TOOL
のリストから
M5Burner Linux x64 v3.0
をダウンロードし解凍して実行する。
unzip M5Burner-v3-beta-linux-x64.zip
./M5Burner
M5Burnerが立ち上がるので左側のSTICKCを選択する。
UIFlow_StickC_Plus
の
Downloadボタン
を押す。しばらくするとボタンが
Burn
になるのでこれを押してファームウェアを書き込む。
これでM5StickCPlusはPythonが利用できるようになる。
M5Burnerを終了する。
VSCode
VSCode自体のインストールに関しては省略
VSCodeを立ち上げ、拡張機能から
vscode-m5stack-mpy
を選択しインストールする。
プログラミング準備
M5StickCPlus
USBモードにしておくこと!
VSCodeを立ち上げる
VSCodeを立ち上げ
下段の
Add M5Stack
をクリックし、デバイスを選択(/dev/ttyUSB0)してOKボタンを押す。
この作業はVSCodeを立ち上げる毎にやらなければならない。
また、前回、VSCodeで編集したM5StickCPlusのファイルは自動的に読み込まれないので、前回使用したファイルはタブから一旦取り除き、再び読み込む必要がある。
これは編集するファイルがM5StickCPlus内にある為である。
M5StickCPlus内ファイルの確認
VSCodeのエクスプローラーのM5STACK DEVICEのデバイス(/dev/ttyUSB0)を展開すると表示される。
main.py
はM5StickCPlusがAppモードで実行するプログラムとなる。
例えばM5StickCPlusにENV3センサを接続した状態で、
test.py
を編集して次のようなプログラムを書いて実行(右上▶:Run in M5Stack)すればENV3センサでの情報が表示される。
from m5stack import *
from m5ui import *
from uiflow import *
import utime
import unit
def run():
lcd.orient(lcd.LANDSCAPE)
unit_env = unit.get(unit.ENV3, unit.PORTA)
while True:
tmp = unit_env.temperature
hum = unit_env.humidity
pre = unit_env.pressure / 100.0
setScreenColor(0x000040)
lcd.text(20, 5, '{:6.1f} C'.format(tmp))
lcd.text(20, 25, '{:6.1f} %'.format(hum))
lcd.text( 5, 45, '{:6.1f} hPa'.format(pre))
utime.sleep(1.0)
run()
プログラムを編集しM5StickCPlusとのUSBケーブルを抜く前には必ずプログラムを保存しておくこと!
MicroPythonへのREPL接続
ターミナルから直接MicroPythonへ接続することも可能
screen /dev/ttyUSB0 115200
MicroPython関連資料
MicroPython modules wiki
UIFlow micropython code
M5StickC-Plus Library
MicroPython - M5StickC PLUS