『昼夜逆転』工作室
[トップページへ戻る]

初めてのESP32:開発環境構築

タイトル画像
2023年2月
初めてESP32を使うにあたり、3パターンの開発環境を構築し、LチカまたはHelloWorldを実験しました。 その手順をメモとして残します。

前提

実験回路

PC →(USBケーブル)→ ESP32-DevKitC
ESP32-DevKitC の 23番ピン → LED → 数百Ωの抵抗 → GND ※タイトル写真参照。

環境:Arduino IDE  言語:C/C++

開発画面

概要

Arduino IDE に Arduino core for the ESP32 をインストールし、ArduinoライクなC/C++で開発する。

構築手順

  1. PCに ESP32-DevKitCを挿すと Windowsが自動的に USBドライバをインストールする。
    …らしいがデバイスマネージャを確認したら失敗していたので自力でインストールした。
     CP210x Universal Windows Driver - v11.2.0
      https://jp.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
  2. Arduino IDEをインストールする。
     Arduino IDE - 2.0.3
     https://www.arduino.cc/en/software
  3. Arduino IDEのメニューバー → ファイル → 基本設定 を選択。設定ウインドウが開く。
  4. 「追加のボードマネージャのURL」欄に Arduino core for the ESP32 のリポジトリを入力し(下記URLを改行なしで)、[OK]ボタン押下。
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  5. Arduino IDEの画面左端、縦に並んだアイコンの上から2番目「ボードマネージャ」を押下。上図参照。
  6. 検索フィルタに「esp32」と入力し、「esp32 by Espressif Systems」を選択、「インストール」ボタン押下。
     esp32 by Espressif Systems - 2.0.6
  7. PCに ESP32-DevKitC を接続する。
  8. Arduino IDEのツールバー → ドロップダウンリスト → 他のボードとポートを選択 を選択。
  9. 「ESP32 Dev Module」を選択。COMポート番号も設定する。番号はデバイスマネージャで確認。

参考

よかひより - ESP32-DevKitCの開発ツール arduino-esp32 のインストール手順
  https://yokahiyori.com/esp32-devkitc_arduino-esp32/

Lチカ

#define LED_PIN 23

void setup(){
 // put your setup code here, to run once:
 pinMode(LED_PIN, OUTPUT);
}

void loop(){
 // put your main code here, to run repeatedly:
 digitalWrite(LED_PIN, HIGH);
 delay(500);
 digitalWrite(LED_PIN, LOW);
 delay(500);
}

手順

  1. 通常のArduino IDEでの開発と同様にプロジェクトを作成し、ソースコードを記述する。
  2. Arduino IDEのツールバーの「→」アイコンを押下。
  3. ビルドとデバイスへの転送が行われる。デバイス側は自動的に動作を開始し、Lチカる。

環境:VSCode+PlatformIO (フレームワーク:Arduino)  言語:C/C++

開発画面

概要

VSCodeに PlatformIOをインストールし、ArduinoライクなC/C++で開発する。

構築手順

  1. VSCode(Visual Studio Code)をインストールする。
     https://code.visualstudio.com/
     Download for Windows - Stable Build (User Installer) - バージョン: 1.75.1 (user setup)
  2. VSCodeを起動し、画面左端、縦に並んだアイコンの下の方、「拡張機能」をクリック。
  3. 「Japanese Language Pack for Visual Studio Code」を検索し、インストールする(任意)。
  4. 「C/C++」「C/C++ Extension Pack」「PlatformIO IDE」を検索し、インストールする(必須)。
  5. VSCodeを再起動する。画面左端、縦に並んだアイコン列に「アリの顔」(PlatformIO)があることを確認する。

参考

7839 - 【ESP32】 開発環境構築(Mac /VSCode/ PlatformIO IDE)Lチカ
  https://serip39.hatenablog.com/entry/2022/02/03/070000

Lチカ

#include <Arduino.h>

#define LED_PIN 23

void setup(void)
{
 // put your setup code here, to run once:
 Serial.begin(115200);
 pinMode(LED_PIN, OUTPUT);
}

void loop(void)
{
 // put your main code here, to run repeatedly:
 Serial.println("Hello World");
 digitalWrite(LED_PIN, HIGH);
 delay(500);
 digitalWrite(LED_PIN, LOW);
 delay(500);
}

手順

  1. VSCodeを起動し、画面下のメニューから「家」(PlatformIO:Home)のアイコンを押下。
    「Welcome to PlatformIO」画面が表示される。 ※後述「参考画像」
  2. 「New Project」を押下。下記項目を入力またはリストから選択する。
    Name: LedBlink  ←プロジェクト名を適当に。
    Board: Espressif ESP32 Dev Module  ←リストから選択。
    Framework: Arduino  ←リストから選択。
    Location:  ←チェックを外すとプロジェクトの保存フォルダを自由に指定できる。
  3. [Finish]ボタン押下。「このフォルダー内のファイルの作成者を信頼しますか?」→[はい]押下。
    「platformio.ini」タブが開く。 通常は特に変更する必要はないが、プログラム内容に合わせてシリアル通信の速度指定などができる。 今回は monitor_speed = 115200 と追記した。
    [env:esp32dev]
    platform = espressif32
    board = esp32dev
    framework = arduino
    monitor_speed = 115200  ←追記した。
    
    また、COMポート番号も指定できるが、プログラム転送時に自動的にスキャンされるので、ここで明示する必要はない。
    「platformio.ini」タブを閉じる(左ペインからいつでも呼び出せる)。
  4. 左ペインの src → main.cpp を開く。ソースコードを入力する。
    先述の記述例には、Lチカの他にシリアル通信の動作テストも含まれている。
  5. PCに ESP32-DevKitC を接続する。
  6. 画面下のメニューから「チェックマーク」アイコン(PlatformIO:Build)を押下してビルド。
    続いて「→」アイコン(PlatformIO:Upload)を押下してデバイスに転送。
    Leaving...
    Hard resetting via RTS pin...
    と表示されたら転送完了。「...」が紛らわしいが、処理中ではなく完了している。
    デバイスは自動的に動作を開始し、Lチカる。
  7. 画面下のメニューから「プラグ」アイコン(PlatformIO:Serial Monitor)を押下。下ペインがターミナル画面に切り替わる。
    「Hello World」と表示され、デバイスが PCと通信していることが確認できる。

参考画像

開発画面
画面下メニューバー 開発画面

環境:VSCode+PlatformIO (フレームワーク:ESP-IDF)  言語:C/C++

開発画面

概要

VSCodeに PlatformIOをインストールし、ESP-IDF(Espressif社公式の開発環境)なC/C++で開発する。

構築手順

  1. 「VSCode+PlatformIO (フレームワーク:Arduino)」と同じ手順で VSCodeと PlatformIOをインストールする。
  2. VSCodeを起動し、画面下のメニューから「家」(PlatformIO:Home)のアイコンを押下。
    「Welcome to PlatformIO」画面が表示される。
  3. その画面内左端のアイコン列の下の方、「Platforms」を選択し、「Espressif 32」がインストール済みであることを確認する。 インストールされていなければ「Espressif 32」を検索し、インストールする。

参考

薫染庵 途上日誌 - PlatformIO IDE forVSCodeでESP-IDF を利用したESP32プログラムの開発
  https://kunsen.net/2018/09/04/post-1052/

Hello World

手順

  1. VSCodeを起動し、画面下のメニューから「家」(PlatformIO:Home)のアイコンを押下。
    「Welcome to PlatformIO」画面が表示される。
  2. 「Project Examples」を押下。「Import Project Example」画面が開く。 ※後述「参考画像」
  3. 「Select an example...」から「espidf-hello-world」を選択し、[Import]ボタンを押下。
  4. 「platformio.ini」を開き、[env:esp32-s2-kaluga-1]セクションと[env:esp32-c3-devkitm-1]セクションをコメントアウトする。
    [env]
    platform = espressif32
    framework = espidf
    monitor_speed = 115200
    
    [env:esp32dev]
    board = esp32dev
    
    ;[env:esp32-s2-kaluga-1]   ←コメントアウト
    ;board = esp32-s2-kaluga-1  ←コメントアウト
    
    ;[env:esp32-c3-devkitm-1]   ←コメントアウト
    ;board = esp32-c3-devkitm-1  ←コメントアウト
    
  5. ビルドし(数分かかる)、デバイスに転送する。
  6. ターミナル(PlatformIO:Serial Monitor)で出力を確認する。
    Hello world!
    This is esp32 chip with 2 CPU core(s), WiFi/BT/BLE, silicon revision v3.0, 4MB external flash
    Minimum free heap size: 295884 bytes
    Restarting in 10 seconds...
    Restarting in 9 seconds...
    (略)

参考画像

開発画面
画面下メニューバー 開発画面

◆ ◆ ◆

ESP32の開発環境はこれがスタンダードだというものがなく、どんな開発環境があるのか調査するところから始めました。 詳細に説明してくださっている先人達に感謝。
今のところ自分には「VSCode+PlatformIO (フレームワーク:Arduino)」が向いていそうなので、これで行ってみようと思います。