ESP32-DevKitC ESP-WROOM-32開発ボードを使ってみる(Windowsで環境構築)
2~3周遅れの感が否めないが、秋月電子通商で販売している"ESP32-DevKitC ESP-WROOM-32開発ボード"を使用してみる。今回は、Windows10でESP32の開発環境を構築する。
秋月電子通商 トップページ - 電子部品・半導体 【通販・販売】通販コード[M-11819]
今回はESP32のget-startedの通り進めていく。 docs.espressif.com
開発環境のインストール
下のURLからWindows用の開発環境(ESP-IDF)をインストールする。このインストローラによってクロスコンパイラとOpenOCD、cmake、Ninjaビルドツールも一緒にインストロールされる。また、Pythonのインストールがすでにされていなかったら、Pythonのインストールもできる。インストール中にどのバージョンをインストールするか選択できる。 docs.espressif.com
Get Started - ESP32 - — ESP-IDF Programming Guide v4.2 documentation
・インストローラをダウンロード出来たら、実行するとインストールが始まる。
・しばらく放置するとインストールが完了し、次のような画面が出てくる。これがESP-IDFで ESP32はこのようなコマンドプロンプトで基本的に操作する。初期設定だとプロジェクトはディスクトップに作成されるらしい。これでひとまず開発環境の構築が終わった。
サンプルプログラム(Hello_World)を実行
Lチカと同様の大事な宗教行事、「Hello_World」を実行する。新しい環境で世界に挨拶をしないと、世界に冷遇されてうまく動かないので必ず実行したい。
Hello_Worldのサンプルプログラムは開発環境のインストール時にダウンロードされているので今回はコピーすればよい。
カレントディレクトを移動
まずディレクトリをワークスペースまで移動する。私の環境では↓の位置まで移動する。ESP-IDFではcdコマンドは使用できるが、lsコマンドでディレクトリ内部を見ることはできないようだ。
C:\Users\User\Desktop\esp-idf>
サンプルプログラムのコピー
ディレクトリを移動させたら下のコマンドを実行してhello_worldをコピーする。
xcopy /e /i %IDF_PATH%\examples\get-started\hello_world hello_world
デバイスを接続
コピーができたらESP32をPCに接続する。正常に接続され、バスパワーが供給されたら基板上の赤LEDが点灯する。
デバイスドライバーのインストール (必要な場合)
ESP-WROOM-32開発ボード上のUSBシリアル変換IC(CP2102N)のドライバーがインストールされていない場合は仮想COMポートで認識されないので、インストールする必要がある。
ドライバはこのURLからダウンロードできる。
CP210x USB - UART ブリッジ VCP ドライバ - Silicon Labs
ESP32のCOMポート番号の確認
通信するためにCOMポート番号を指定する必要があるので、デバイスマネージャーからESP32-DivKitCのUSB-シリアル変換IC(CP210x)のCOMポート番号を確認する。下の画像の場合はCOM9。
設定
・カレントディレクトリを先の工程でコピーしたhello_worldまで移動する。 ・ターゲットをESP32に設定する。この設定は新しいプロジェクトを作成したときに実行する必要がある。
idf.py set-target esp32
・次にESP32の設定をする。
idf.py menuconfig
これを実行すると下のような画面が出現する。
この画面で、ESP32のWifi名やパスワードという各種変数を設定できる。 hello_worldを実行する際には変更する必要がないので、”q”で終了する。
プロジェクトのビルド
以上の工程で設定が完了したので、下のコマンドでプロジェクトをビルドする。このビルドは終了まで数分かかる。
idf.py build
ビルドが終了したら下のような画面となる。
ESP32に書込み
ビルドが正常終了したら、ESP32にバイナリファイルを書き込む。ESP32の仮想COMポートがCOM9だった場合下のコマンドで書き込む。
idf.py -p COM9 flash
上手くいかない場合は、ESP32と接続しているUSBを一度外して再起動してみると良いかもしれない。
正常にESP32にプログラムが書き込めたら下の様な画面となる。この状態でESP32はプログラムを実行しているが、hello_worldはシリアル通信しているのでシリアルモニタを起動しないと挨拶を見逃してしまう。
シリアルモニタの起動
下のコマンドを入力すると ESP-IDF上でシリアルモニタが起動する。因みに、TeraTerm等でもよい。
idf.py -p PORT monitor
シリアルモニタが起動すると”Hello_World!”を表示した10秒で再起動を繰り返す。