ESP32では、公式開発環境のESP32-IDFとAeduinoIDEの二種類の開発環境があります。
今までArduinoで開発してましたが、今回からESP-32-IDFを試してみたいと思います。
■ インストールの方法
https://dl.espressif.com/dl/esp-idf/?idf=4.4
Online Installerで環境全体のインストールが可能です。
インストール後、デスクトップに「ESP-IDF 4.3 CMD」が登場し、ESP-IDF 4.3 CMDを使用してコマンドを入力します。
■ プロジェクト作成
「ESP-IDF 4.3 CMD」にて、プロジェクトファイルを生成します。
プロジェクトファイルを生成したいディレクトリまでcdコマンドで移動し
idf.py create-project プロジェクト名 例) idf.py create-project Hello
で、作成ができます。
■ プログラムを編集
プロジェクト名のフォルダにmainフォルダがあり、その中にC言語ソースがあります。
初期では
#include <stadio.h>
void app_main(void)
{
}
が書かれていると思います。
app_mainがmainでない点は、別途Bootloder等があり、app_mainが呼び出されるまで別の処理が先に行われます。
#include <stadio.h> void app_main(void) { printf("Hello\n"); }
保存し、以下のコマンドを実行します。
idf.py build
最初は時間かかりますが、2回め以降変更がない際は早くコンパイルができます。
※コンパイル中に「FAILED: esp-idf/mbedtls/x509_crt_bundle」というエラーが表示された際
このエラーは、cryptographyがバージョンアップした際に関数の使い方を変更した事が原因です。
問題のバージョンは、cryptographyの35.0.0 – 2021-09-29のものです。
IDF側で対応されてば良いですが、まだ対応されてない際は、以下のコマンドで一つ前のバージョンを使用します。
pip uninstall -y cryptography pip install cryptography==3.4.8
■ ESP32に書き込む
buildがうまくいったら、以下のコマンドで書き込みます。
idf.py flash -p ポート番号
Windowsの場合、COMポートの指定は以下の例の様にします。
idf.py flash -p COM11
■ ESP32でシリアルモニタを確認する
以下のコマンドでシリアル通信の確認ができます。
デフォルトでは115200bpsになります。
idf.py -p com11 monitor
コマンドを使って、ESP32の開発ができそうです。
ではでは。