LoginSignup
7
5

More than 5 years have passed since last update.

M5stackで遊んでみる(オフライン用ファームへの更新〜ファイルのアップロード)

Last updated at Posted at 2018-04-29

M5Cloudからソースが見えない

GWが始まって混雑しているせいか、M5Cloudからソースが覗けないようになっていて
デバイス選択してソースを見ようとしてもFile Syncingから頑として動かなくなってしまいました。
まぁβ版とか書いてあった気がするのでまだこなれていないんでしょうね。
仕方がないのでM5Cloudを経由せずにオフラインで開発できるようにファームを更新しようと思います。

オフライン用のファームのダウンロードと書き込み

ここに置いてありました。一番最初にファームを更新する時にいずれこっちにシフトすると思って
ちゃんとメモっておいてよかったです。繋がらなくなってソースが見れなくなっても慌てずにいられました。
ここからダウンロードして前のやつと同じようにesptools.pyで書き込めば行けました。


$ wget https://github.com/m5stack/M5Cloud/raw/master/firmwares/OFF-LINE/m5stack-20180419-v0.3.9.bin
$ wget https://github.com/m5stack/M5Cloud/raw/master/firmwares/OFF-LINE/m5stack-psram-20180419-v0.3.9.bin
$ esptool.py --chip esp32 --port /dev/tty.SLAB_USBtoUART erase_flash
$ esptool.py --chip esp32 --port /dev/tty.SLAB_USBtoUART write_flash --flash_mode dio -z 0x1000 m5stack-20180419-v0.3.9.bin

どうやってM5stack上のファイルに書き込むのか。

ampyというシリアル通信でファイルをやりとりできるツールがあるようで
これを使うのが一般的みたいでした。
https://github.com/adafruit/ampy
これがいわゆるscpみたいなツールになっていて
コマンドラインから簡単にファイルをやりとりできるようです。

インストール、ファイルの転送

$ pip install adafruit-ampy
# デフォルトで繋ぎに行くボードのデバイスファイルを設定。これを設定することでコマンドを簡略化できる
$ export AMPY_PORT=/dev/tty.SLAB_USBtoUART

# ファイルの一覧
$ ampy ls
flash

# ファイルの取得
$ ampy get /flash/main.py ./main.py #ファイル名まで指定する必要あり

# ファイルのアップロード
$ ampy put ./main.py /flash/main.py

スクリプトの実行

ファイルをアップロードしたら電源ボタンを押して再起動しないと実行できないと思ってたんですが
ampyにPythonファイルを実行するコマンドが用意されていました。


# スクリプトの実行
$ ampy run ./main.py

M5CloudのIDEは勝手にファイルのSyncや端末のリブートをしてくれてたんですが、
こっちはこっちで便利そうです。M5Cloudが安定するまではオフラインで開発を進めようと思います。

7
5
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
7
5