Magicode logo
Magicode
4 min read

aruduino IDEで開発していたesp32をplatformioに移行した

https://cdn.apollon.ai/media/notebox/edb451bb-da30-4630-b188-d1a453aac9f6.jpeg

はじめに

esp32でmp3の音楽ファイルを再生させる開発をしていたが、ビルドが3分45秒かかってしまい、開発が思うように進まなかったので高速化を実施した。
はじめは、ccacheの方法を試したが、高速化しなかったのでplatformioに移行した。

環境

高速化方法

高速化方法は下記の二つがある。
今回は1を試しても高速化しなかったため、2を実施した。
  1. Arduino IDEでccacheを使う
  2. platformioに移行する

1. Arduino IDEでccacheを使う

参考に従って設定する。
高速化しなかったので、深く言及はしない。

2. platformioに移行する

別の環境に移してライブラリとかではまらないかが心配だったが、まったく問題なかった。

手順

  1. VS Codeをインストールする
  2. platformioのプラグインをインストールする
  3. PIO HomeからImport Arduino Projectで既存のinoファイルを読み込む
  4. Libraries からESP8266Audio を検索し、読み込んだプロジェクトに追加する
  5. build & アップロードする

1. VS Codeをインストールする

こちらからインストーラーをダウンロードし、インストールする

2. platformioのプラグインをインストールする

VS Codeの画面左側にある、□が4つ並んだアイコンをクリックして拡張機能を開く。(ショートカットキーはctrl + shift + x)
検索窓でplatformioと検索し、PlatformIO IDEをインストールする。

3. PIO HomeからImport Arduino Projectで既存のinoファイルを読み込む

VS Code左側にあるplatformioのアイコンをクリックし、QUICK ACCESS > PIO Home > Openをクリックする。
Import Arduino Projectをクリックする。
esp32 dev と検索し Espressif ESP32 Dev Module を選択する。
imortボタンを押すと、しばらく読み込み処理をして新規プロジェクトが立ち上がる。
(プロジェクト名は自動で作られてしまう模様)

4. Libraries からESP8266Audio を検索し、読み込んだプロジェクトに追加する

VS Code左側にあるplatformioのアイコンをクリックし、QUICK ACCESS > PIO Home > Libraries をクリックする。
ESP8266Audio で検索し、先ほど作った新規プロジェクトに追加する。

5. build & アップロードする

PROJECT TASKS > esp32dev > General > Build をクリックするとビルドができ、
PROJECT TASKS > esp32dev > General > Upload でesp32に書き込むことができる。

ビルド時間比較

それぞれの環境のビルド時間は表の通り。platformioの方が圧倒的に速かった。
※ 正確に比較するなら複数回計測して平均と分散を出さないといけないが、そこまではやっていない。
IDEビルド時間
Arduino IDE3分45秒
platformio30秒

Discussion

コメントにはログインが必要です。