ESP-IDFの開発環境をUbuntuにインストール

ESP32の開発でESP-IDFを使いたいけどどうしたらよいか
Ubuntuで使うにはどうしたらいいのか
人向けになっています。

最低限のインストール CUIだけで使う

セットアップと初期設定

公式のインストール手順に従い、ESP-IDFをセットアップしていきます。

Standard Toolchain Setup for Linux and macOS - ESP32 - — ESP-IDF Programming Guide latest documentation

ターミナルで必要なパッケージをインストールします。

sudo apt install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

作業用のディレクトリを作成します。例では、ホームディレクトリにespディレクトリを作って、この中で全ての作業を今後も行います。
その中に、ESP-IDFのリポジトリをクローン(サーバーからダウンロード)します。

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

インストールを行います。今回はサポートしているesp32シリーズを全てインストールします。

cd esp-idf
./install.sh all
chmod 777 export.sh

環境関数を設定してくれるシェルスクリプトに実行権限を付与します。

chmod +x export.sh

以上でセットアップと初期設定は完了です。

サンプルプロジェクトをESP32に書き込む

初めに環境変数をセットします。この作業はターミナルを起動するたびに実行する必要があります。

. ~/esp/esp-idf/export.sh

環境変数をセットすると、$IDF_PATHやidf.pyを使うことができるようになります。


作業ディレクトリに移動します。今回は、ホームディレクトリ下のespディレクトリにします。

cd ~/esp

サンプルプロジェクトをコピーします。先ほどgitでクローンした中に入っています。(今回の例では~/esp/esp-idf/examplesに入っています。)その中のhello_worldを書き込んでみます。
次に、コピーしたプロジェクトのディレクトリに移動します。ここがプロジェクトの作業ディレクトリになります。

cp -r $IDF_PATH/examples/get-started/hello_world .
cd hello_world/

プロジェクトで使用するESP32の種類(ターゲット)を指定する必要があります。種類を指定する名称の一覧は、下記のコマンドで取得できます。

idf.py --list-targets

実行すると

esp32
esp32s2
esp32c3
esp32s3
esp32c2
esp32c6
esp32h2

と返ってきますので、私は、ESP32-S3-DevKitC-1-N8を使っているので、esp32s3を指定します。s2とc2などと、紛らわしので、間違えないように気を付けます。ご使用になっているesp32に合わせて指定する名称に書き換えて、以下のように使用するESP32(ターゲット)を指定します。

idf.py set-target esp32s3

設定が終わると以下の様になります。


使用するESP32にかかわる設定やプロジェクトの設定を行います。下記を実行すると、設定画面が表示されます。

idf.py menuconfig

今回は、ESP32のフラッシュのSPIモードと、フラッシュの容量を設定したいので
↓キーで「Serial flasher config —>」を選択します。Enterキーでメニューの中に入れます。

「Flash SPI mode (DIO)」を選択します。
ESP32-S3-DevKitC-1-N8に使われているESP32-S3-WROOM-1-N8(フラッシュ:8 MB (Quad SPI))は、最速のQIOに対応していますので、「QIO」を選択

「Flash SPI mode (DIO)→(QIO)」に変化します。続いてフラッシュのサイズを2MB→8MBに直します。「Flash size (2 MB)」を選択します。

設定が完了したら、ESCキーで前のメニューに戻ることができます。
メインメニューもう一度ESCキーを押すと、終了することができます。
設定を保存するか聞いてくるので、Yキーを押し、保存させます。

これで設定は完了です。

サンプルプロジェクトによっては、WiFiのSSIDやパスワードなどの設定もする必要があります。


プロジェクトをビルドします。プロジェクトのディレクトリで以下を実行します。

idf.py build

ビルドまで少し時間がかかります。

ビルドが完了すると以下の様になります。


ESP32をパソコンに接続します。シリアルポートを指定する必要があります。USBシリアル変換器の場合は、/dev/ttyUSB~で始まります。不明な場合は、ls /dev/ttyUSB*で調べてください。
書き込むには、以下の様に指定します。

idf.py -p /dev/ttyUSB0 flash

書き込みが完了すると以下の様になります。


シリアルモニターを起動させた場合は、以下の様に入力します。

idf.py -p /dev/ttyUSB0 monitor

終了するには
Ctrl + ]
と入力します。

書き込み後に、シリアルモニタまで連続して行う場合は、以下の様に入力することもできます。

idf.py -p /dev/ttyUSB0 flash monitor

コメント

タイトルとURLをコピーしました