概要
R2P2-ESP32とは何か、そしてPicoRubyがESP32上でどのように動作するか。
R2P2-ESP32は、PicoRuby シェルであるR2P2(Ruby Rapid Portable Platform)をESP32マイコン上で動かすプロジェクトです。 インタラクティブなRubyプロンプト、小さなファイルシステム、そしてシェルをチップ上で直接提供し、 一度書き込んでしまえばホストPCは不要になります。
PicoRubyとは
PicoRubyは、ワンチップマイコン向けに設計された最小のRuby実装です。クラス、ブロック、
Array/Hash/Stringのメソッドなど、Ruby言語と標準ライブラリの実用的なサブセットを実装しており、
わずか数百キロバイトのRAMしかない環境でも本物のRubyを書くことができます。
言語仕様とAPIリファレンスの詳細はpicoruby.orgを参照してください。
R2P2が追加するもの
R2P2はPicoRubyをpicoruby-shellでラップしています。これはls、cat、mkdir、cd、pwd、
echoなどを備えた小さなPOSIX風シェルにirbを組み合わせたもので、ファイルシステムの操作や
プログラムの編集・実行をインタラクティブに行えます。小さな組み込みLinuxマシンで作業している
ような感覚に近いですが、環境全体がRubyでできている点が異なります。
$> irb
irb> 1 + 2
=> 3
irb> words = ["Hello", "PicoRuby", "!"]
=> ["Hello", "PicoRuby", "!"]
irb> words.join(" ")
=> "Hello PicoRuby !"
2つの仮想マシン
R2P2-ESP32は現在、ビルド時に選択できる2つのVMをサポートしています。
- PicoRuby —
mrubyをベースに構築 - FemtoRuby —
mruby/cをベースに構築。さらに少ないメモリでも動作します
どちらのVMが使えるかは対象チップによって異なるため、ボードを選ぶ前に仕様を確認してください。
次に読むべきページ
- クイックスタート — ブラウザからビルド済みファームウェアを書き込み、 数分で最初のプログラムを実行します。
- どういうときにビルドするか — ESP-IDF(またはDocker)をセットアップして 自分でファームウェアをビルドしたり、mrbgemを追加したり、本体プロジェクトに 貢献したりする方法です。
このページの内容