はじめに
ESP32は小型かつ安価で入手しやすく、WiFiやBluetoothも使用できることから、IoTプロジェクトで人気があります。ESP32のアプリケーション開発を行う際に使用される開発環境のセットアップ方法とHello Worldアプリケーションの実行方法を説明します。
ESP32向けの開発環境
ESP32の開発環境として、以下のようなものがあります。
- ESP-IDF: ESP32の公式開発環境。VSCodeなどIDE上のプラグインとして利用できる。セットアップや使用方法はやや複雑で上級者向け。
- Arduino IDE: Arduino向けのIDE。操作がシンプルで初心者向けで扱いやすい。ESP32などの互換ボードもサポートしている。
- PlatformIO: VSCodeのプラグインとして利用可能。ビルドやライブラリのバージョン管理などを効率的に行うことができる。中級者向け。
今回は、Arduino IDEとPlatform IOの2つの使い方を説明します。
ESP32とPCの接続
どの開発環境を使う場合でも、最初にESP32をPCに接続する手順を行います。ESP32のドキュメントに従って、必要なドライバをインストールします。
今回はWindows上でのセットアップ方法を説明しますが、ドライバのバージョンや種類などは使用するPC環境に合わせてください。
まず、以下のリンクからCP210xのドライバのダウンロードを行います。
取得したZIPファイルを展開しておきます。
同様に、以下のリンクからVirtual COM Port ドライバのダウンロードを行います。 取得したZIPファイルを展開しておきます。
次にWindowsのデバイスマネージャーを開きます。 赤枠のボタンから各ドライバをインストールします。
ドライバのインストールが完了したら、ESP32をPCに接続します。
次のように接続したデバイスが表示されたら成功です。ポート番号は使用しているPCによって異なります。
(以下の例では”USB-SERIAL CH340 COM4″)
Arduino IDE
Arduino IDEは、Arduinoボード上で動作するアプリケーションを開発するための統合開発環境(IDE)です。Arduinoボードとのシリアル通信や、ライブラリ管理などを行うことができます。本家のArduinoボードだけではなく、ESP32などの互換性のあるボードにも対応しています。
こちらのリンクからダウンロードしてインストールしてください。
PCにESP32を接続した状態でArduino IDEを開きます。
新規のスケッチを作成します。
以下のコードを貼り付けます。
1 2 3 4 5 6 7 8 |
void setup() { Serial.begin(115200); } void loop() { Serial.println("Hello World!"); delay(5000); } |
その後、デバイスへのアップロードを行います。コンパイルとアップロードが始まります。
右上のSerial Monitorを開くと、”Hello World!”という文字列が5秒おきに表示されます。
Arduino IDEを使用して、ESP32上に簡単なコードをアップロードして、動作確認を行うことができました。
Platform IO
Platform IOはVSCodeのプラグインとして利用します。VSCodeは別途こちらからダウンロードしてインストールしてください。
VSCodeを起動して、拡張機能のタブから”Platform IO”を検索してインストールします。
インストールが完了後、VSCodeを再起動する必要があります。
正常にインストールできたら、左のサイドバーにPlatform IOのロゴが出現します。
新規のプロジェクトを作成し、以下の項目を指定します。ご自身の環境に合わせて設定してください。
- プロジェクト名
- ボード名
- フレームワーク
- プロジェクトのパス
プロジェクトを作成すると新しく”platformio.ini”ファイルが作成されます。 (初めてプロジェクトを作成すると、必要なライブラリなどのインストールが行われます。このインストールはやや時間がかかります。)
“src”ディレクトリ以下にある、”main.cpp”を編集します。 5秒おきに”Hello World!”をシリアルコンソールに出力します。
1 2 3 4 5 6 7 8 9 10 |
#include <Arduino.h> void setup() { Serial.begin(9600); } void loop() { Serial.println("Hello, World!"); delay(5000); } |
コードをビルドします。初めて実行すると、必要なライブラリなどがダウンロードされます。
ビルドが成功するとターミナルにSUCCESSと表示されます。
コードをESP32にアップロードします。”Auto”モードでは、自動的にESP32を認識してアップロードします。失敗する場合は”Auto”ではなく明示的に”COM4″などポート番号を指定してください。
シリアルコンソールに”Hello World!”が表示されます。
以上でVSCodeのPlatform IOプラグインを使用して、Hello Worldアプリケーションの実行ができました。
エラー “Error: Detected a whitespace character in project paths”が表示される場合
プロジェクトのパスや.platformio
が配置されているパスに空白が含まれると上記のエラーが出ます。プロジェクトと.platformio
の両方を、Cドライブ直下に移動することでエラーが解消されます。
こちらのGitHub issuesで報告されています。
まとめ
ESP32向けの統合開発環境であるArduino IDEとPlatform IOのそれぞれのセットアップ方法を紹介しました。Arduino IDEではシンプルで簡単にESP32のプロジェクトを始めることができます。Platform IOではVSCodeの拡張機能として、より多機能で柔軟にプロジェクト管理を行うことができます。
ESP32やIoTデバイスの開発では試行錯誤して、いろいろな実験を行うことが重要です。実験を行う際に効率的にプログラムを書くことができるように、自分にあう開発環境を構築してみてください。