🧑💻
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