先日購入したM5Stack FIREですが、最近気になっていたクロスプラットフォームのIDE「PlatfomIO」をこのM5Stackで試してみることにしました。
PlatformIOはMicrosoftのエディタVisual Studio Codeのアドオンとして利用できる、クロスプラットフォームの開発環境です。
ここで、クロスプラットフォームというのはWindows/Mac/Linuxというだけでなく、Arduinoを初めとした様々な開発環境に対してもクロスプラットフォームになっています。
PlatformIOだけで、Arduinoの開発もmbedの開発も(PlatformIOでサポートされているボードならば)行えます。
とりあえずインストールしてみました。
参考にしたのは以下のページです。
PlatformIO IDE for VSCode でESP32のプログラム開発
Arduinoと違ってサンプルがインストールされないようなので、インターネットからPlatformIO対応のプロジェクトを探して、まずはビルドさせてみました。
試してみたのは以下のソフトです。
ネットラジオやゲームやオシロ、Webサーバ、天気予報、WiFiモニタなどM5Stackでできることを一まとめにしたアプリケーションです。
botofancalin/M5Stack-MultiApp-Advanced: A M5Stack firmware made on PlatformIO
ZIPファイルとしてダウンロードし、解凍してフォルダをPlatformIOから開けば準備OKです。
ビルドはウインドウ左下のチェックマーク、M5Stackへの転送はその隣の矢印マークをクリックします。
無事、動作が確認できたので、今度は自分でもプロジェクトを作ってみました。
新規のプロジェクトで、開発ボードを選択するのですが、現時点で507種ものボードがサポートされています。
そして、M5Stack FIREもその中に含まれています。(Huge update for ESP32 dev/platform: Debug, PSRAM, Embedding Binary Data – Announcements – PlatformIO Community)
プロジェクト作成時にボードとしてM5Stack FIREを指定すれば、ツールチェインは適切に自動選択されます。
さらに、M5Stack用のArduinoライブラリがPlatformIOにも用意されているので、それをインストールします。
M5Stack by Zibin, M5Stack · Libraries · PlatformIO
インストールは、PlatformIOのLibrariesアイコンをクリックし、検索窓にM5Stackと入れればライブラリが見つかるので、クリックします。
すると、ライブラリの詳細とインストールボタンが出てきますので、インストールすれば完了です。
このライブラリを自分のプロジェクトで使用するには、platform.iniファイル(プロジェクト作成時に自動で生成されます)に以下の記述を追加します。
lib_deps = # Using library Id 1851 # Using library Name M5Stack # Depend on specific version M5Stack@0.2.2 # Semantic Versioning Rules M5Stack@^0.2.2 M5Stack@~0.2.2 M5Stack@>=0.2.2
今回は、以前Arduino用に作成したブロック崩しを移植してみました。
LCDが縦横逆ですが、解像度自体は変わりませんので、LCD、サウンド、ボタン周りの修正で済みました。
(2018/8/14追記:画面が縦横逆なのは修正しました)
コードは以下にアップロードしてあります。
PlatformIO、なかなか良いです。何といってもエディタがVS Codeなのが良いですね。
デバッグ機能は有償らしいですが、そのうちどんなものか調べてみようと思います。
コメント