明日は我が身の備忘録(あすびぼ)

自分向け備忘録です。頻繁に更新は難しいでしょうね

ESP32-DevKitC ESP-WROOM-32開発ボードを使ってみる(Windowsで環境構築)

 2~3周遅れの感が否めないが、秋月電子通商で販売している"ESP32-DevKitC ESP-WROOM-32開発ボード"を使用してみる。今回は、Windows10でESP32の開発環境を構築する。

f:id:kirikoshokunin:20210330210747p:plain:w300
ESP32-DevKitC

秋月電子通商 トップページ - 電子部品・半導体 【通販・販売】通販コード[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

f:id:kirikoshokunin:20210330205838p:plain:w300
ESP-IDE Toolsのインストローラのダウンロード

・インストローラをダウンロード出来たら、実行するとインストールが始まる。

f:id:kirikoshokunin:20210330210924p:plain:w300
インストール途中画面

・しばらく放置するとインストールが完了し、次のような画面が出てくる。これがESP-IDFで ESP32はこのようなコマンドプロンプトで基本的に操作する。初期設定だとプロジェクトはディスクトップに作成されるらしい。これでひとまず開発環境の構築が終わった。

f:id:kirikoshokunin:20210330211422p:plain:w300
インストール完了後にESP-IDFが起動する

 サンプルプログラム(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

f:id:kirikoshokunin:20210330213309p:plain:w300
コピー実行後の画面

バイスを接続

 コピーができたらESP32をPCに接続する。正常に接続され、バスパワーが供給されたら基板上の赤LEDが点灯する。

デバイスドライバーのインストール (必要な場合)

 ESP-WROOM-32開発ボード上のUSBシリアル変換IC(CP2102N)のドライバーがインストールされていない場合は仮想COMポートで認識されないので、インストールする必要がある。

f:id:kirikoshokunin:20210330214106p:plain:w300
注意マークが出ているときはドライバをインストールする必要がある

ドライバはこのURLからダウンロードできる。

CP210x USB - UART ブリッジ VCP ドライバ - Silicon Labs

ESP32のCOMポート番号の確認

 通信するためにCOMポート番号を指定する必要があるので、デバイスマネージャーからESP32-DivKitCのUSB-シリアル変換IC(CP210x)のCOMポート番号を確認する。下の画像の場合はCOM9。

f:id:kirikoshokunin:20210330214345p:plain:w300
ESP32-DivKitCno

 設定

 ・カレントディレクトリを先の工程でコピーしたhello_worldまで移動する。  ・ターゲットをESP32に設定する。この設定は新しいプロジェクトを作成したときに実行する必要がある。

idf.py set-target esp32

 ・次にESP32の設定をする。

idf.py menuconfig

 これを実行すると下のような画面が出現する。

f:id:kirikoshokunin:20210330215527p:plain:w300
ESP32の設定画面

この画面で、ESP32のWifi名やパスワードという各種変数を設定できる。 hello_worldを実行する際には変更する必要がないので、”q”で終了する。

プロジェクトのビルド

以上の工程で設定が完了したので、下のコマンドでプロジェクトをビルドする。このビルドは終了まで数分かかる。

idf.py build

ビルドが終了したら下のような画面となる。

f:id:kirikoshokunin:20210330220101p:plain:w300
ビルド終了後の画面

 ESP32に書込み

ビルドが正常終了したら、ESP32にバイナリファイルを書き込む。ESP32の仮想COMポートがCOM9だった場合下のコマンドで書き込む。

idf.py -p COM9 flash

上手くいかない場合は、ESP32と接続しているUSBを一度外して再起動してみると良いかもしれない。

正常にESP32にプログラムが書き込めたら下の様な画面となる。この状態でESP32はプログラムを実行しているが、hello_worldはシリアル通信しているのでシリアルモニタを起動しないと挨拶を見逃してしまう。

f:id:kirikoshokunin:20210330220932p:plain:w300
正常に書き込めた後の画面

 シリアルモニタの起動

下のコマンドを入力すると ESP-IDF上でシリアルモニタが起動する。因みに、TeraTerm等でもよい。

idf.py -p PORT monitor

シリアルモニタが起動すると”Hello_World!”を表示した10秒で再起動を繰り返す。

 ESP32からのあいさつ動画


ESP32 サンプルプログラム hello_world