×閉じる
ESP32×mruby/c IoTハンズオン

ESP32 + mruby/c開発のための環境構築 - macOS

USBドライバをインストール

「USB to UART ブリッジドライバ」をインストールします。 下記ページからお使いのOSに適合するものをダウンロードして、インストールしてください。 https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

インストールの中で「機能拡張がブロックされました(System Extension Blocked)」というダイアログが表示された場合には、「システム環境設定」->「セキュリティとプライバシー」->「一般」を開き、「許可」をクリックしてください(すべての環境でブロックされるわけではないようです)。

mac-01

関連ツールのセットアップ

ESP関連ツール群をダウンロードして解凍します。

mkdir -p $HOME/esp
cd $HOME/esp
wget https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
tar -xzf xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
rm xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz

pythonのバージョン管理にpyenvなどをお使いでしたら、以下のようにシステムデフォルトのpythonにバージョンを固定したほうがよいかもしれません。 pyenv等を使用していない、またはpythonの利用に慣れており問題への対処が可能だと思う場合は、この設定はスキップして構いません。

cd $HOME/esp
echo 'system' > .python-version

.bash_profileファイルに環境変数を設定し、有効化します(bashではなくzshを使用しているなどの場合は適宜読み替えてください)。

echo 'export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"' >> $HOME/.bash_profile
echo 'export IDF_PATH="$HOME/esp/esp-idf"' >> $HOME/.bash_profile
source $HOME/.bash_profile

ESP-IDFを配置します。

cd $HOME/esp
git clone --recursive https://github.com/espressif/esp-idf.git

python製の関連ツールをインストールします。

sudo easy_install pip
python -m pip install --user -r $IDF_PATH/requirements.txt

Rubyについて

mrubyのビルドにはCRuby(最も一般的なRuby実装)が必要です。

Rubyのインストールには複数の方法がありますが、複数のRubyをシステム内に共存させるためのツール「rbenv」を使用することを推奨します。

ワークショップの後半に時間があれば筆者作のmruby/c用便利ツール mrubyc-utils を使う予定があり、rbenvの環境のほうがスムーズに使用できます。

Rubyのインストール

homebrewが導入済みであることを想定し、手順を説明します。homebrewを使用せずにrbenvをインストールしたい場合は、WSLの環境構築マニュアルの該当部分を参考にしてください。

rbenvとruby-buildをインストールし、パスを通すなどします。

brew install openssl readline zlib rbenv ruby-build
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source $HOME/.bash_profile

macOSにはRubyがインストールされていますが、せっかくなので新しいバージョンをインストールしましょう。

rbenv install 2.6.2

このときに The Ruby zlib extension was not compiled. などのエラーが出てしまうときは、以下のようにすることでインストールできるかもしれません。

RUBY_CONFIGURE_OPTS="--with-zlib-dir=$(brew --prefix zlib)" rbenv install 2.6.2

zlib のところが readline など別のライブラリかもしれません。適宜読み替えて対処してください。

最後にmrubyをインストールします。mruby2.xはまだmruby/cと統合されていないので、1.4.1を使用します。

rbenv install mruby-1.4.1
このページのトップへ