28
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2020-01-04

記事が古くなったので、↓に更新しました。

内容はほとんど変わっていないため、↓の手順でも問題ありません。

はじめに

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

紹介する内容

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

確認した環境

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

手順

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

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

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

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

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

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

vsc_100.PNG

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

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

vsc_101.PNG

※表示されない場合、コマンドパレット([Ctrl] + [Shift] + P)を表示し、
"PlatformIO: HOME"を選択すると表示されます。

"New Project"を選択します。

vsc_102.PNG

必要情報を入力します。

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

"Finish"を選択する

vsc_103_104_and.png

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

vsc_105a.png

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

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

シリアル通信のボーレートを変更するには、

monitor_speed = 115200

を追記し、保存します。

vsc_106.PNG

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

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

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

#include <Arduino.h>

が必要となります。

vsc_110_maincpp.PNG

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

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

ビルドする

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

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

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

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

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

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

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

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

問題がなければ、書き込み後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

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

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

さいごに

今回紹介した内容は、一部の内容です。

もう少しつっこんだ使い方を別途記載したいと思っています。

参考

PlatformIo公式Docs

28
29
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?