ESP32で遊ぶ


開発環境を作る (3)

いよいよESP-WROOM-32にプログラムを焼いてみることにします。

USB toシリアルドライバーをインストール

今回入手したESP32-DevKitCは、ESP-WROOM-32とUSBからシリアルに変換するインターフェイスを同一基板にのせて構成されています。また、電源供給もUSB(Micro-B)から行うようになっています。
そして、Windows 10で開発したプログラムを焼く際にはシリアルでアップロードすることになります。しかし物理デバイスはUSBなので、USB toシリアルドライバーを介して行うことになります。
それではESP32-DevKitCとUSBケーブルでつないで、シリアルポートの何番目につながった確認してみます。

  1. デバイスマネージャーを開きます。
    1. スタートボタンを右クリックします。
    2. メニューからデバイスマネージャーを選択します。

    3. ポート(COMとLPT)を選択します。

おや?「ほかのデバイス」が表示されていますが、通信ポートにいません。
ドライバーのインストールが必要なようです。

  1. ドライバーをダウンロードします。
    1. Establish Serial Connection with ESP32にある[CP210x USB to UART Bridge VCP Drivers]をクリックします。

    2. 最新のドライバーをダウンロードします。

    3. ダウンロードしたzipファイルを解凍します。
  2. ドライバーをインストールします。
    1. インストーラを実行します。

    2. [次へ]ボタンを押します。

    3. [完了]ボタンを押します。

  3. デバイスマネージャーを確認します。
    1. 「ポート(COMとLPT)」に[Silicon Labs CP210x USB to UART Bridge (COM3)]が表示されました。

COM3に接続されたことが確認できました。

以後、ESP32-DevKitCとの通信には、このポート番号で行われますので覚えておきましょう。
USBケーブルを抜き差しすると、ポート番号が変わることがありますので、注意しましょう。

ESP32-DevKitCの動作確認

ESP32-DevKitCには、動作確認用のプログラムが既にインストールされています。このプログラムで、通電と起動確認をしたいと思います。

  1. ESP32-DevKitCにUSBケーブルを刺して、通電します。

  2. Eclipseを起動します。
  3. ターミナルを表示します。

  4. シリアルポートに接続します。

  5. ポートを選択して、[OK]ボタンを押します。

  6. 接続しました。

  7. ESP32-DevKitCの[EN]ボタンを押してリブートします。

  8. ターミナルに出力が表示されました。

  9. 切断します。

  10. 切断が確認できました。

コンパイルに関する設定

前回前々回のコンパイルではmake menuconfigの際に一切設定を変更せず、デフォルトの設定でコンパイルを行いました。
しかしこの状態ではコンパイルこそできますが、出来上がったプログラムを実機に焼くこともできません。
ですので、設定を正しく変更してコンパイルをやり直し、実機に焼いてみることにします。

  1. mingw32.exeを起動します。
  2. カレントディレクトリをプロジェクトのルートに変更します。
    $ cd /e/MyDocuments/Project/esp32/hello_world/ ↵
    
  3. コンパイルする際に必要な設定を行います。
    $ make menuconfig ↵
    

  4. シリアルポートを設定します。
    1. ↑↓キーを使って[Serial flasher config]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。

    2. ↑↓キーを使って[(/dev/ttyUSB0) Default selial port]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。

    3. 追加されたポートのCOM3を入力し、←→キーを使って[Ok]にカーソルを合わせて、Enterキーを押します。

    4. ←→キーを使って[Exit]にカーソルを合わせて、Enterキーを押します。

  5. ←→キーを使って[Exit]にカーソルを合わせて、Enterキーを押します。

  6. ←→キーを使って[Yes]にカーソルを合わせて、Enterキーを押します。

これで、最低限の設定ができました。
これからはオプションです。

  1. CPUクロックを変更します。
    1. ↑↓キーを使って[Component config]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。

    2. ↑↓キーを使って[ESP32-specific]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。

    3. ↑↓キーを使って[CPU frequency (160 MHz)]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。

    4. ↑↓キーを使って[420 MHz]に、←→キーを使って[Select]にカーソルを合わせて、Enterキーを押します。

コンパイルしてプログラムを焼いてみる

設定ができましたので、コンパイルして実機に焼いてみたいと思います。

  1. Eclipseを起動します。
  2. make cleanを実行します。
    1. [プロジェクト]-[クリーン]を選択します。

    2. [ビルドを即時に開始]チェックボックスを外します。

      今回は、make cleanの直後にmake flashを実行しますので、make allの実行を抑制しています。
    3. [クリーン]ボタンを押します。
    4. make cleanが終了しました。

    5. ESP32-DevKitCにUSBケーブルを刺して、通電します。
    6. ESP32-DevKitCをUARTに移行します。
      1. [EN]ボタンを押しながら、

      2. [Boot]ボタンを押して、

      3. [EN]ボタンを先に放し、

      4. 続いて[Boot]ボタンを放します。
    7. [プロジェクト]-[ターゲットをビルドする]-[flash]をダブルクリックして、make flashを実行します。

    8. コンパイルが終わり、プログラムが焼かれました。

    9. ターミナルに移行します。
    10. ESP32-DevKitCの[EN]ボタンを押してリブートします。
    11. プログラムの動作が確認できました。

以上で、プログラムを焼くことができました。