3人と1匹の日常とモノづくりブログ

興味のあるものをとりあえず動かしてみた、実装してみたシリーズをガンガン上げていきたいと思います。あくまでも自身の備忘録としてですが、誰かの助けになったらうれしいです。

【Wifi , Bluetooth搭載マイコン】ESP32の開発環境をVScode + PlatformIOで構築する

f:id:bamboomush:20220130115513p:plain


 今まで、ESP32を用いていろいろなセンサを動かしてきましたが、最近ではvscodeを使って開発をする人も多いと思います。一方で、多くのESP32-Arduinoの実装記事はArduino-IDEを使っていると思います。そこで、今回はPlatformioを使ってESP32をどのように扱っていくかを簡単なデモを含めて紹介したいと思います。

この記事を読むことで、話題のマイコンであるESP32と最近はやっているvscodeを使って開発ができるようになります。

 

Vscode + Platformio + ESP32のサンプルプロジェクトをgithubでまとめています。

今後徐々に増やしていく予定です。

github.com

 

今回の紹介内容はこちらにあります。

github.com

◆ESP32関係の実装記事◆ 
  • DCモータ実装

www.takeshi-1222.com

  • サーボモータ実装

www.takeshi-1222.com

  • 無線書き込み実装

www.takeshi-1222.com

  • Webサーバー実装

www.takeshi-1222.com

  • OLED実装

www.takeshi-1222.com

  • 超音波センサ実装

www.takeshi-1222.com

  • LCDディスプレイ実装

www.takeshi-1222.com

  • 温湿度センサ (安価)

www.takeshi-1222.com

  • 温湿度センサ (ハイスペック)

www.takeshi-1222.com

  • 温湿度センサ (複数)

www.takeshi-1222.com

  • CO2センサ

www.takeshi-1222.com

  • ほこりセンサ

www.takeshi-1222.com

  • 心拍センサ

www.takeshi-1222.com

  • 皮膚電位センサ

www.takeshi-1222.com

 

ESP32,vscode, Platformioの簡単な説明

ESP32

ESP32の大きな特徴はWifi, Bluetoothを搭載しているところです。そのうえでArduinoよりも安価に購入でき、ArduinoコードやC++などいくつかの言語の互換性があります。そのため、1つのマイコンでいろいろなことを試したい方には大変おすすめなマイコンです。

vscode

こちらは多くの人がご存知かと思いますが、多くのOSに対応し、多くのプラグインを有する開発ツールです。エディターとしても優秀ですが、これ一つでビルドまで完結するので、開発効率がかなり上がると個人的には思っています。
詳しくはいろんな方が書いてくださっているので、そちらを参考にしていただきたいです。

Platformio

Platformioは多くのマイコンフレームワークに対応している開発ツールであると理解しています。これを使うことでArduinoやESP32、その他多くのマイコンに対応が可能です。
詳しくはこちらが参考になりました。

セットアップ

 こちらの記事を参考にまずはvscode, Platformioのインストールをします。
 
インストールが完了したら、projectを作成します。
それらの手順に関しても先人の知恵がとても参考になります。
この辺の記事を参考にするとよいと思います。
 

実験

私は、多くの記事ではvscodeのUIを使ってビルド、アップロードをしているのですが、私はterminalでの開発に慣れているので、敢えてUIではなく、CLIを使った実装をしました。

これらの興味のある人は試してみてもらってもよいかと思います。

Platformio Core CLIを開く

                                   f:id:bamboomush:20220130113241p:plain

 プロジェクトのディレクトリまで移動します。

f:id:bamboomush:20220130112452p:plain

 

プロジェクトを初期化します。

CLI上で以下のコマンドを入力

$ platformio project init

 

プロジェクトをビルドします。

CLI上で以下のコマンドを入力

$ pio run

 

プロジェクトをアップロードします。

CLI上で以下のコマンドを入力

$ pio run -t upload

 

これでシリアルモニターを見るなり、実機で挙動を見るなりすればよいと思います。

今回の場合、以下のようにシリアルモニターにHIGH, LOWが交互に表示され、実機では1秒ごとにLEDが点滅していれば成功です。

f:id:bamboomush:20220130113926p:plain


www.youtube.com

 

実行コード

コードは以下に記載しておきますが、githubでも公開しています。

github.com

#include <Arduino.h>

#define ledpin 2

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

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

 

まとめ

今回は、ESP32+VScode+Platformioでの開発のサンプルを紹介、公開しました。