2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

M5StackAdvent Calendar 2022

Day 6

M5StickCPlus development with python (Ubuntu22.04)

Posted at

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センサでの情報が表示される。

test.py
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

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?