この記事は、ケーシーエスキャロット Advent Calendar 2019 4日目の記事です。
3日目の昨日は、garamanのくずし字を読む(概要編) でした。
(Advent Calendar 参加ありがとう!!!)
そういえば、つい先日のニュースでくずし字の解読にAIが参入しようとしているニュースも出てましたね!
さて、今日は、m5stackでmrubyを動かしてみたいと思います。
実は、夏休み前に買ってセットアップして、mruby以外は動くのを確認していました。
移動の新幹線で、今週届いたこの、夏休みの自由研究のための環境作ってる pic.twitter.com/b0tA4lH8NU
— emorima (@emorima) July 19, 2019
が、やっぱり、Rubyistとしてはmrubyを動かしたい。
では、早速やっていきましょう。
mrubyリポジトリ から clone します。
1
2
3
$cd (作業したいディレクトリ)
$ git clone https://github.com/mruby/mruby.git
$ cd mruby
rake -T で、色々コマンドが確認できます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
emorima@emorima-ThinkPad:~/repo/mruby$ rake -T
rake all # build all targets, install (locally) in-repo
rake api_doc # generate yard docs
rake capi_doc # generate doxygen docs
rake clean # clean all built and in-repo installed artifacts
rake clean_api_doc # clean all built docs
rake clean_capi_doc # clean all built docs
rake clean_doc # clean all built docs
rake deep_clean # clean everything
rake doc # generate document
rake gitlab_config # create build configurations and update .gitlab-ci.yml
rake gitlab_dockers # recreate docker images for GitLab builds
rake test # run all mruby tests
rake view_api # clean all built docs
rake view_capi # clean all built docs
rake all でbuildしたら、バージョンを確認します。
1
2
3
4
5
6
$ rake all
...(省略)...
$ ./bin/mruby -v
mruby 2.1.0 (2019-11-19)
Kernelバージョンを調べて、該当するOSのドライバをここからダウンロードします。
ダウンロードしたzipを解凍して、make installします。(エラーが出たら必要なlibraryをinstallします。)
ちょっと夏に何かを書き込んだままだったので、一度クリアする意味でもファームウェアの書き込みをします。
m5stackをUSBケーブルで、PCを繋いで、/dev/tty* を確認します。
(私のPCでは、/dev/ttyUB0 で繋がっていました)
ファームウェアを書き込むために、esptool をインストールします。
1
$ pip install esptool
m5stackの最新のファームウェアをダウンロードし、ファームウェアの書き換えを行います。
1
2
3
$ esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
$ esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash \
--flash_mode dio -z 0x1000 m5stack-20180516-v0.4.0.bin
書き込みが終わると、m5stackが自動的に起動します。
簡単な “puts ‘Hello World!’” だけのプログラムを動かしてみます。 以下のコードをhello_world.rb に保存します。
1
puts "Hello World!"
そして、以下のコマンドでコンパイルし、autorun.mrb を作成します。
1
$ mrbc -o autorun.mrb hello_world.rb
出力されたautorun.mrb をMicroSDに書き込み、m5stackに挿して、再起動!!!!
….あれ、表示されない…
通常の起動画面が表示されているだけ…
次こそは、”Hello World!” へ!