mrubyソースコード(拡張子「.rb」)をmrbc(mrubyコンパイラ)によって拡張子「.c」の中間バイトコードに変換し、それ(とmruby/cのランタイムプログラム)を「main.c」から参照することで動作させるのが、mruby/cアプリ開発の基本的なフローです。

ESP32のファームウェアをmruby/cで開発するためには、Espressif社が提供しているESP-IDFおよび関連ツール群をセットアップする必要があります。 ESP-IDFにはESPファームウェア開発に使用可能なライブラリが含まれ、実行ファイルの作成をサポートします。

以下では、ESP-IDFや関連ツール群をセットアップした開発環境のことを「ESP開発環境」と呼び、その構築について説明します。

環境構築の選択肢

macOS

macOSのネイティブ環境にESP開発環境を構築することができます。

Windows

Windowsのネイティブ環境ではESP開発環境は動作しませんが、準Linux環境を使用することでESP開発が可能になります。 その方法には、以下のように2通りあります。

64bit版のWindows10

Windows Subsystem for Linux(WSL)をお使いください。

上記以外のWindows

MSYS2をお使いください。

Linux各種ディストリビューション

Linux用の環境構築マニュアルは用意しませんが、ホストOSとしてLinuxをお使いになるようなプログラマにとっては難しいことではありません。 WindowsのWSL用マニュアルのなかのUbuntu起動以降を参照し、ESP開発環境を構築してください。

仮想環境、Dockerについて

例えば、Windows10 Professional上のVirtualBoxにインストールしたLinuxにESP開発環境を構築することは可能です。しかし、ホストOSにUSB接続されたESP32開発ボードをゲストOSから適切に参照できるかどうかを左右する要因のすべてが明らかではなく、期待どおりに動作しないとの報告があるようです。

したがってこのマニュアルでは、ホストOS上にESP開発環境を構築することを前提としています。

仮想環境を使用したい方も、ワークショップをスムーズに進めるためにホストOSの上の環境を先につくったうえで、ゲストOS上のESP開発環境をつくってみてください。そして、うまくできる方法やできない方法についての情報をぜひ共有してください。

また、Dockerは一般にUSBドライバに問題があるようなので、使用できないとお考えください(もし挑戦してみて使用できたら教えてください)。