いよいよESP-WROOM-32にプログラムを焼いてみることにします。
USB toシリアルドライバーをインストール
今回入手したESP32-DevKitCは、ESP-WROOM-32とUSBからシリアルに変換するインターフェイスを同一基板にのせて構成されています。また、電源供給もUSB(Micro-B)から行うようになっています。
そして、Windows 10で開発したプログラムを焼く際にはシリアルでアップロードすることになります。しかし物理デバイスはUSBなので、USB toシリアルドライバーを介して行うことになります。
それではESP32-DevKitCとUSBケーブルでつないで、シリアルポートの何番目につながった確認してみます。
-
デバイスマネージャーを開きます。
-
スタートボタンを右クリックします。
-
メニューからデバイスマネージャーを選択します。
-
ポート(COMとLPT)を選択します。
-
スタートボタンを右クリックします。
おや?「ほかのデバイス」が表示されていますが、通信ポートにいません。
ドライバーのインストールが必要なようです。
-
ドライバーをダウンロードします。
-
Establish Serial Connection with ESP32にある[CP210x USB to UART Bridge VCP Drivers]をクリックします。
-
最新のドライバーをダウンロードします。
-
ダウンロードしたzipファイルを解凍します。
-
Establish Serial Connection with ESP32にある[CP210x USB to UART Bridge VCP Drivers]をクリックします。
-
ドライバーをインストールします。
-
インストーラを実行します。
-
[次へ]ボタンを押します。
-
[完了]ボタンを押します。
-
インストーラを実行します。
-
デバイスマネージャーを確認します。
-
「ポート(COMとLPT)」に[Silicon Labs CP210x USB to UART Bridge (COM3)]が表示されました。
-
「ポート(COMとLPT)」に[Silicon Labs CP210x USB to UART Bridge (COM3)]が表示されました。
COM3に接続されたことが確認できました。
USBケーブルを抜き差しすると、ポート番号が変わることがありますので、注意しましょう。
ESP32-DevKitCの動作確認
ESP32-DevKitCには、動作確認用のプログラムが既にインストールされています。このプログラムで、通電と起動確認をしたいと思います。
-
ESP32-DevKitCにUSBケーブルを刺して、通電します。
-
Eclipseを起動します。
-
ターミナルを表示します。
-
シリアルポートに接続します。
-
ポートを選択して、[OK]ボタンを押します。
-
接続しました。
-
ESP32-DevKitCの[EN]ボタンを押してリブートします。
-
ターミナルに出力が表示されました。
-
切断します。
-
切断が確認できました。
コンパイルに関する設定
前回と前々回のコンパイルではmake menuconfig
の際に一切設定を変更せず、デフォルトの設定でコンパイルを行いました。
しかしこの状態ではコンパイルこそできますが、出来上がったプログラムを実機に焼くこともできません。
ですので、設定を正しく変更してコンパイルをやり直し、実機に焼いてみることにします。
-
mingw32.exeを起動します。
-
カレントディレクトリをプロジェクトのルートに変更します。
$ cd /e/MyDocuments/Project/esp32/hello_world/ ↵
-
コンパイルする際に必要な設定を行います。
$ make menuconfig ↵
-
シリアルポートを設定します。
-
↑↓キーを使って[Serial flasher config]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。
-
↑↓キーを使って[(/dev/ttyUSB0) Default selial port]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。
-
追加されたポートの
COM3
を入力し、←→キーを使って[Ok]にカーソルを合わせて、Enterキーを押します。
-
←→キーを使って[Exit]にカーソルを合わせて、Enterキーを押します。
-
↑↓キーを使って[Serial flasher config]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。
-
←→キーを使って[Exit]にカーソルを合わせて、Enterキーを押します。
-
←→キーを使って[Yes]にカーソルを合わせて、Enterキーを押します。
これで、最低限の設定ができました。
これからはオプションです。
-
CPUクロックを変更します。
-
↑↓キーを使って[Component config]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。
-
↑↓キーを使って[ESP32-specific]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。
-
↑↓キーを使って[CPU frequency (160 MHz)]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。
-
↑↓キーを使って[420 MHz]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。
-
↑↓キーを使って[Component config]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。
コンパイルしてプログラムを焼いてみる
設定ができましたので、コンパイルして実機に焼いてみたいと思います。
-
Eclipseを起動します。
-
make clean
を実行します。
-
[プロジェクト]-[クリーン]を選択します。
-
[ビルドを即時に開始]チェックボックスを外します。
今回は、make clean
の直後にmake flash
を実行しますので、make all
の実行を抑制しています。
- [クリーン]ボタンを押します。
-
make clean
が終了しました。
- ESP32-DevKitCにUSBケーブルを刺して、通電します。
-
ESP32-DevKitCをUARTに移行します。
-
[EN]ボタンを押しながら、
-
[Boot]ボタンを押して、
-
[EN]ボタンを先に放し、
- 続いて[Boot]ボタンを放します。
-
[EN]ボタンを押しながら、
-
[プロジェクト]-[ターゲットをビルドする]-[flash]をダブルクリックして、
make flash
を実行します。
-
コンパイルが終わり、プログラムが焼かれました。
- ターミナルに移行します。
- ESP32-DevKitCの[EN]ボタンを押してリブートします。
-
プログラムの動作が確認できました。
-
[プロジェクト]-[クリーン]を選択します。
以上で、プログラムを焼くことができました。