💻

VSCode-PlatformIO IDEを使って、ESP32の開発環境を構築およびLチカ

2022/04/26に公開

はじめに

ESP32で電子工作をする上で、Arduino IDEを使っていました。
PlatformIO IDEを使うようになり、非常に使いやすいと感じました。
今回、環境構築の方法を紹介します。

注意事項

以前、Qiitaで投稿した記事を修正しています。

https://qiita.com/kotaproj/items/2dec528de7140d0e772b

紹介する内容

  • PlatformIO IDEのインストール
  • PlatformIO IDEのLチカベースに操作説明

公式サイト

https://docs.platformio.org/en/latest/what-is-platformio.html

確認した環境

  • ホストPC
    • windows10 64bit Home
    • VSCode - 1.66.2
  • ターゲットボード
    • ESP32-WROOM-32 開発ボード

手順

VSCode(Visual STudio Code)をインストール

https://code.visualstudio.com/download

↑の公式より、インストーラをダウンロードし、インストールします。

※手元の環境では、Windows - User Installerを選択しました。

VSCodeの拡張機能よりPlatformIO IDEをインストール

VSCodeを起動し、拡張機能よりPlatformIO IDEをインストールします。

拡張機能のところで、"PlatformIO"と入力すれば、上位に表示されると思います。

Lチカ用のプロジェクトを作成する

インストールが完了すると、PIO Homeが表示されます。

"New Project"を選択します。

必要情報を入力します。

  • Name
    • プロジェクトの名前を指定(任意の名前)
    • BlinkLed
  • Board
    • ターゲットのボードを指定
    • Espressif ESP32 Dev Modeule
  • Framework
    • フレームワークを指定
    • Arduino Framework
  • Location
    • 保存場所
    • チェックを外すと、直接パスを指定できる

"Finish"を選択する

プロジェクトのひな形が作成されます。

プロジェクトの通信設定を変更する

"platformio.ini"が設定ファイルとなります。

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
upload_port = COM4
  • monitor_speed
    • 通信速度となります
    • 通常は、115200です
  • upload_port
    • 接続するCOMポートとなります
    • デバイスマネージャー等で確認し、自身の環境に合わせてください

シリアル通信のボーレートを変更するには、
を追記し、保存します。

Lチカのコードを記載する

"./src/main.cpp"にsetup(), loop()関数が定義されています。

Arduino IDE - inoファイルと異なり、

#include <Arduino.h>

が必要となります。
作成した時点で、下記のコードがひな形で記載されています。

今回のサンプルコードと回路図は以下となります。

main.cpp
#include <Arduino.h>

#define LED_PIN   15

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  delay(100);
  Serial.printf("%s - run\n",__func__);
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED_PIN, HIGH);
  Serial.printf("%s - LED_PIN - HIGH\n",__func__);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
  Serial.printf("%s - LED_PIN - LOW\n",__func__);
  delay(1000);
}

SampleLed_ブレッドボード.png

ビルドする

画面下の①をクリックすると、ビルドが始まります。

②に結果が表示されます。

※コマンドパレット([Ctrl] + [Shift] + P)にて、"PlatformIo: Build"でも実行できます。

ターゲットにアップロードする

ホストPCとターゲットをmicroUSBケーブルで接続します。

画面下の①をクリックすると、アップロードが開始されます。

②に結果が表示されます。

問題がなければ、書き込み後Lチカがはじまっています。

シリアル通信を確認する

画面下の①をクリックすると、シリアル通信が表示されます。

②に結果が表示されます。

vsc_113_maincpp_serialmonitor.PNG
※コマンドパレット([Ctrl] + [Shift] + P)にて、"PlatformIo: Serial Monitor"でも実行できます。

以上が基本的な手順となります。

補足

作業中に疑問やポイントを記載します。

COMポートの認識は?

"PIO Home" - "Devices"より確認することができます。

hosoku_devices.PNG

Arduino - IDEのライブラリマネージャーは?

"PIO Home" - "Libraries"より管理することができます。

hosoku_libraries.PNG

"PIO Home"が毎回起動してしまう

赤丸の部分のチェックを外し解決
hosoku_startup.PNG

必要なライブラリのチェックは?

ビルドするときに、必要に応じて取得しているようです。

GitHubで編集を提案

Discussion