Arduino IDEからPlatformIO IDE for VS Codeにお引越し
VS Code環境でESP32を開発
前回の記事では、Arduino IDEを使ってESP32のソース作成・ビルド・書き込みを行いましたが、個人的には見やすくて使い慣れているVS Codeで開発したい。。。
というわけで、VS Code用に前回のコードを移植していきます。
VS Code Extension
VS CodeでESP32を開発する方法としては、VS Code用のExtensionをインストールすることになるのですが、主に
の2つの選択肢があるようです。
とりあえず両方トライしてみたのですが、リリースが新しいESP32公式のEspressif IDFよりも、PlatformIO IDFの方が使いやすさ、情報量の豊富さともに優れていそうですので、今回はPlatformIO IDFを使って環境の移動を行いたいと思います。
環境構築
前提環境
PlatformIO IDEのインストール
サイドバーの拡張機能から、PlatformIO IDE
を検索してインストールするだけです、やっぱりVS CODEはこの辺の手軽さ含めて神ツールです。
ソースの移植
Arduinoからの移植
どうやら、PlatformIO IDEでは、Arduino IDEの環境をそのまま使う機能があるようです。
左下のホームアイコンからホーム画面を開いて、Import Arduino Projectを選択。
- デバイスを
Esressid ESP32 Dev Module
に選択 Use libraries installed by Arduino IDE
にチェック- Arduinoで作ったプロジェクトのフォルダを開く
で、Importを押したらOK
初回プロジェクト作成時は少しLoadingに時間がかかるようですが、これだけで完了。超簡単。
プロジェクトの設定
ソースの設定が完了したら、ビルド・・・と行きたいのですが、いくつか設定しておくことがあります。
プロジェクトに含まれているplatformio.ini
を設定することで、動作環境等の編集が可能です。
ボーレートの設定
monitor_speed = 115200
上記を追記すると、シリアルで正常にモニタリングできます。
Partitionの設定
前回の記事でもハマったように、ビルド時のPartitionの設定をアプリケーションに応じて正しくしておかないと、容量不足のエラーが出ます。
公式のGithubにある、PatritionのCSVファイルをダウンロードして、platformio.ini
と同じ位置に置いておきます。
board_build.partitions = no_ota.csv
こんな感じでダウンロードしたCSVファイルを追記すると、Partitionの設定が反映されます(前回と同じPartition設定のNO_OTA
を使います)
ビルド・書き込み
ビルド
上記画像の①のチェックマークでコンパイル・ビルドが行われます。
書き込み
②の→マークで書き込みが行われます。
共にSUCCESSが表示されていれば成功です。
まとめ
結構簡単にVS-CODE環境に移動することができました。
VS-CODEに移動したかった理由の1つはUIやInteliSenseの有効化なので、これで解決できました。
しかしながら、よりシンプル且つ機能を増やしていくことを考えると、ESP-IDFフレームワークを使った形に移植するところまで持っていきたいところです。
SwitchBotHomeの自作からだいぶ脱線してきましたが、機能モリモリにしようとすると、アプリケーションのスリム化やソースの可読性も重要になってくるので、もう少しこの辺を深堀した上で進めようと思います。 - ESP-IDFフレームワークでの開発時の違い - Arduinoフレームワーク用ライブラリの移植方法