M5stackにLua RTOSをインストールしてみる。

YouTubeで見かけたESP32で動くLuaがあまりに速くて眩しくて

とりあえずものはためし。
と、インストール方法などの解説を探すもののはて、みあたらない。
とりあえずgithubでESP32のLuaを探すとここにもいましたloborisさん。

Lua-RTOS-ESP32-lobo

microPythonでは避けちゃったloborisさんのパッケージですけど、今回はお世話になってみることにします。

レポジトリはここ。
https://github.com/loboris/Lua-RTOS-ESP32-lobo

ページを眺めてゆくとビルド済みパッケージなんてものが見つかるのでそれをとりあえずダウンロード。 ESP32-Coreってやつね。

zipファイルはフォルダなしで圧縮されてるので必ずどこかにフォルダ作ってからその中に解凍、そんなにファイルは多くないんだけどもね。

で、どうするの?

flash_argsflashfs_argsというものの中をみてみると半端なかんじでesptool.pyへ渡すべき内容がかかれていました。
わたしの環境だとM5stackは/dev/ttyUSB0に見えているので、これは各環境に合わせてなおしてね。

esptool.py --port /dev/ttyUSB0 

ここまで打ち込んで、flash_argsの内容を張り付けて実行。これでいけました。
flash_argsの方実行してからflashfs_argsね、多分。二度実行します。

コンソールから覗いてみる。

screen /dev/ttyUSB0 115200

microPythonのREPLと同じように接続。

  /\       /\
 /  \_____/  \
/_____________\
W H I T E C A T

Lua RTOS beta 0.1. Copyright (C) 2015 - 2018 whitecatboard.org

build 1525396213
commit d418fcb814d5d7e8743cd387df75790b913c8aed
Running from factory partition
board type ESP32COREBOARD
cpu ESP32 rev 0 at 240 Mhz
spiffs0 start address at 0x310000, size 512 Kb, partition spiffs
spiffs0 mounted

Lua RTOS beta 0.1 powered by Lua 5.3.4

Executing /system.lua ...
Executing /autorun.lua ...

/ > 

これ…違うんじゃないか!? lobris版じゃ無い気がする!! オリジナルのだろうこれ!

気を取り直して loboris版のlua RTOSをどうにかする。

git clone https://github.com/loboris/Lua-RTOS-ESP32-lobo

ソースコードとかいろいろファイルでかいからやりたくなかったんだよ。
と、思ったら一瞬でクローン完了。マジか。

$ cd Lua-RTOS-ESP32-lobo/bin/
$ esptool.py write_flash 0x1000 bootloader.bin 0x10000 lua_rtos.bin 0x8000 partitions_singleapp.bin

read.meっていう微妙な名前のファイルに書いてあるとおり実行。

  /\       /\
 /  \_____/  \
/_____________\
W H I T E C A T

Lua RTOS LoBo 0.2 build 1489595419 Copyright (C) 2015 - 2017 whitecatboard.org
board type ESP32 THING
cpu ESP32 rev 0 at 240 Mhz
flash EUI 31363137350e5384
spiffs0 start address at 0x180000, size 1024 Kb
spiffs0 mounted
Mounting SD Card: Failed to initialize. Check connection.

can't redirect console messages to file system, an SDCARD is needed

Lua RTOS LoBo 0.2 powered by Lua 5.3.4


/ > 

今度はしっかり LoBoの文言も見えてるし間違いなし!

・・・で、こっからどうするの?

microPythonのようなREPLっぽいものが動いていてスクリプトは試せるものの…。
なんかこう、helpとかないのかな・・・ ないみたい。
これは結構きびしい。

探って探って。エディタがあった。

os.edit("test")

みたいにするとエディタが開く。おおーすげー。
しかしscreenではエディタ終了のCTRL+Qが効かないうぉぉぉ。・・・・リセット。

os.list()

これでストレージが覗けるらしい

/ > os.list()
T  Size      Date/Time         Name
-----------------------------------
f         0  15/03/2017 16:51  test
-----------------------------------
SPIFFS: free 957 KB of 957 KB
/ > os.remove("test")
true
/ > os.list()
T  Size      Date/Time         Name
-----------------------------------
-----------------------------------
SPIFFS: free 957 KB of 957 KB
/ > 

とりあえずさっきのやつ削除。

ヘルプもタブ補完も無い感じですね割りきってますねー。初心者殺しですねー。
そもそもどうやってファイル転送するのですか!
ampyでいいのかな。

とりあえず動いてるようなので今回はこれで。

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