🧑‍💻

ESP-IDF環境を作る

に公開

背景

組込み開発を始めてみたけど、ArduinoIDEでは限界を感じたり、もっとプロっぽく開発してみたい人へ。

ESP-IDFは、Espressif(エスプレッシフ)社が開発したESP32シリーズのマイコン向け公式開発フレームワークです。

どう動くのか

[ ユーザーアプリ ]
        ↓
[ API(esp_wifi, esp_ble など) ]
        ↓
[ ドライバ層 / HAL ]
        ↓
[ FreeRTOSカーネル ]
        ↓
[ ESP32ハードウェア ]

マイコンとESP-IDFの関係イメージ

あなたのPC(ESP-IDF)
 └── コードを書く
 └── ビルドする
 └── 書き込む
       ↓ USB経由
ESP32(マイコン)
 └── Flashに保存される
 └── FreeRTOSが動く
 └── あなたのアプリが動く

動作確認環境

MacBook Pro Venture13

コマンド

各種ツールのインストール

brew install cmake ninja dfu-util python@3.11 git wget

githubからesp-idfをクローンする(--recursiveオプションでサブモジュールも含めて取得できる)

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

ツールチェーンと依存をインストール

./install.sh esp32

環境変数の有効化

source export.sh

#zshに以下を追記すると良い
source $HOME/esp-idf/export.sh

動作確認

cd ~/esp-idf/examples/get-started/hello_world
idf.py set-target esp32
idf.py build
idf.py -p /dev/tty.usbserial-xxxxx -b 115200 flash

シリアルモニタ

idf.py -p /dev/tty.usbserial-81D2565F6E monitor
# Ctrl + ] 押下で停止

Discussion