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が安定するまではオフラインで開発を進めようと思います。