yamanekkoでは、way用のETロボコン向けサンプルコードsample_c4をmruby用に移植したものを2種類公開しています。
これは、mrubyには複数のRubyコードの実行方法があるため、実行方法別のサンプルを用意しているためです。
この記事ではその中から、.rbファイルを読み込んで実行するサンプルについて紹介します。
なお、mrubyの環境構築はこちらを参照してください。
mruby用サンプルプログラムのビルド(ファイル読み込み版)
こちらは普通のRuby同様、Rubyのコンパイルはしません。EV3RTにRubyコードを呼び出すためにmrubyを組み込んだ部分(いわゆるEV3RTのmake app=xxxやmod=xxx)のみコンパイルが必要になります。
EV3RTのビルド
C/C++と同様に mod=xxx または app=xxx を使用してmakeしてください。
EV3へプログラムを転送
転送するファイル
- appまたはuImage
- app_ruby2.rb
- balance.rb
- watch.rb
※ balane2.rb はbalance.rbの別バージョンです。差し替えて利用可能です。
このサンプルプログラムはBluetooth経由でファイルを転送することを想定しています。
/ev3rt/apps/配下にRubyのファイルを置きます。(appと同じ場所です)
EV3RTでBluetooth経由でファイル転送する場合、自動的にここに置かれます。
Bluetoothが使えない場合、SDカードにプログラムをコピーして使うこともできます。
EV3からSDカードを抜いて、PCに差し込んでコピーする場合は、/ev3rt/apps/の中にコピーするようにしてください。
スタンドアロン形式の場合
スタンドアロン形式でビルドした場合(mod=xxxでビルドした場合)もRubyのファイルは/ev3rt/apps/の中にコピーしてください。
uImageはC/C++同様、SDカードのルートに置いてください。