今まで、ESP32を用いていろいろなセンサを動かしてきましたが、最近ではvscodeを使って開発をする人も多いと思います。一方で、多くのESP32-Arduinoの実装記事はArduino-IDEを使っていると思います。そこで、今回はPlatformioを使ってESP32をどのように扱っていくかを簡単なデモを含めて紹介したいと思います。
この記事を読むことで、話題のマイコンであるESP32と最近はやっているvscodeを使って開発ができるようになります。
Vscode + Platformio + ESP32のサンプルプロジェクトをgithubでまとめています。
今後徐々に増やしていく予定です。
github.com
今回の紹介内容はこちらにあります。
github.com
ESP32
ESP32の大きな特徴はWifi, Bluetoothを搭載しているところです。そのうえでArduinoよりも安価に購入でき、ArduinoコードやC++などいくつかの言語の互換性があります。そのため、1つのマイコンでいろいろなことを試したい方には大変おすすめなマイコンです。
リンク
vscode
こちらは多くの人がご存知かと思いますが、多くのOSに対応し、多くのプラグインを有する開発ツールです。エディターとしても優秀ですが、これ一つでビルドまで完結するので、開発効率がかなり上がると個人的には思っています。
詳しくはいろんな方が書いてくださっているので、そちらを参考にしていただきたいです。
Platformioは多くのマイコンフレームワークに対応している開発ツールであると理解しています。これを使うことでArduinoやESP32、その他多くのマイコンに対応が可能です。
詳しくはこちらが参考になりました。
セットアップ
こちらの記事を参考にまずはvscode, Platformioのインストールをします。
インストールが完了したら、projectを作成します。
それらの手順に関しても先人の知恵がとても参考になります。
この辺の記事を参考にするとよいと思います。
実験
私は、多くの記事ではvscodeのUIを使ってビルド、アップロードをしているのですが、私はterminalでの開発に慣れているので、敢えてUIではなく、CLIを使った実装をしました。
これらの興味のある人は試してみてもらってもよいかと思います。
プロジェクトのディレクトリまで移動します。
プロジェクトを初期化します。
CLI上で以下のコマンドを入力
$ platformio project init
プロジェクトをビルドします。
CLI上で以下のコマンドを入力
$ pio run
プロジェクトをアップロードします。
CLI上で以下のコマンドを入力
$ pio run -t upload
これでシリアルモニターを見るなり、実機で挙動を見るなりすればよいと思います。
今回の場合、以下のようにシリアルモニターにHIGH, LOWが交互に表示され、実機では1秒ごとにLEDが点滅していれば成功です。
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での開発のサンプルを紹介、公開しました。