初めてのmruby on m5stack(環境編)

Posted on December 04, 2019 00:25
Share on:

この記事は、ケーシーエスキャロット Advent Calendar 2019 4日目の記事です。

3日目の昨日は、garamanのくずし字を読む(概要編) でした。
(Advent Calendar 参加ありがとう!!!)

そういえば、つい先日のニュースでくずし字の解読にAIが参入しようとしているニュースも出てましたね!

さて、今日は、m5stackでmrubyを動かしてみたいと思います。
実は、夏休み前に買ってセットアップして、mruby以外は動くのを確認していました。

が、やっぱり、Rubyistとしてはmrubyを動かしたい。
では、早速やっていきましょう。

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)

USBドライバ インストール

Kernelバージョンを調べて、該当するOSのドライバをここからダウンロードします。

ダウンロードしたzipを解凍して、make installします。(エラーが出たら必要なlibraryをinstallします。)

m5stack ファームウェア書き込み

ちょっと夏に何かを書き込んだままだったので、一度クリアする意味でもファームウェアの書き込みをします。

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が自動的に起動します。

試しに Hello Worldしてみる

簡単な “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!” へ!