Arduino IDEからPlatformIOに乗り換える
【!2021年11月14日現在の情報です!】
執筆時のバージョン一覧
- Visual Studio Code 1.62.1
- PlatformIO IDE v2.4.0 (Core 5.2.3 ・ Home 3.4.0)
上記以外の場合,UIなど仕様が変更されている可能性があります.
M5StickCを使った開発を,Arduino IDEで行っていたのですが,ビルドと書き込みが遅いのでPlatform IOに乗り換えました.
Arduino IDEとの違いにいろいろと戸惑ったので,メモ.比較的初心者向け?
たぶん基本的なことしか書いてません.
VSCodeとPlatformIOを準備する
公式サイトからVSCodeをダウンロード,インストールし,拡張機能からPlatformIOを追加してください.
この辺りは,詳しく書いてくれている記事がたくさんあるので割愛します.
PlatformIOのHome画面からinoをインポート
VSCodeを起動して,右のところにあるPlatformIOのアイコンをクリックするとQUICK ACCESSが出てきます.
これを押すと,
こんな感じ.
PIO Homeの下のOpenを押して,Home画面に行きましょう.
右側にImport Arduino Projectがあります.押すと,
ボード選択と,元のArduinoファイルの選択をする画面になるので,選択しましょう..inoファイルのある所まで選択したら,Openしていいです.
すると,こうなる.
このように,PlatformIO用のプロジェクトフォルダが作成されます.ちなみに,このPlatformIOによって作成されたフォルダはC:\Users\Usename\Documents\PlatformIO\Projectsにあるはず.
srcの下にインポートした.inoファイルがあります.これをいじって開発していきます.元のファイルとは,中身が同じだけで別物です.
platformio.iniというファイルに,ボード選択やらの情報が書き込まれています.
ライブラリはどうやって入れるの?
PIO Home(PlatformIOのHome画面)に戻って,Librariesというアイコンを押します.
Search libraries...のところにキーワードを打ち込むと色々出てくるので......(M5StickCのライブラリはM5Stackで出てきました)
必要なライブラリをクリックするとこんな感じ.
Add to Projectを押して,Select a projectのところから,そのライブラリを使いたいプロジェクトを選択します.
Addを押したら使えるようになります.
使うときは,Arduino IDEの時同様,ソースコードで#include <M5StickC.h>してください.
コードをマイコンに書き込む
関連のボタンは,全てウィンドウの下の辺にアイコンで用意されています.(ショートカットキーやコマンドパレットからもできる)
まず,開発したコードをビルドする時は,チェックマーク.
マイコンに書き込むときは→マーク
COMポートの選択は?
Platform IOで書き込むとき,書き込みのボタンを押すと,自動的にCOMポートが選択され,書き込みが行われます.適切なCOMポートが見つからない場合はErrorで停止.
僕は,複数のM5StickCをUSBハブに繋いで開発を行っていたので,ちょっと困りました.
前述のplatformio.iniファイルに,
upload_port = COM11
というように書くと,COMポートを明示的に選択できます.
シリアルモニターは?
シリアルモニターが見たかったらコンセントのマーク.
クリックするとターミナルが立ち上がり,
--- Available ports:
--- 1: COM3 'Intel(R) Active Management Technology - SOL (COM3)'
--- 2: COM7 'USB Serial Port (COM7)'
--- 3: COM9 'USB Serial Port (COM9)'
--- Enter port index or full name:
というように接続できるCOMの一覧が出てきます.
接続したいポートのインデックス番号を入力してEnterを押すと接続できます.
ボーレートについては,platformio.iniファイルに,
monitor_speed = 115200
と書くと指定できます.
あるいは,ターミナルで接続ポートを選択したあと,データを受け取っている間に,Ctrl+Tを押してから,bを押すとボーレートを変更できます.
おわりに
M5シリーズの開発をしている場合,Arduino IDEに比べて,PlatformIOの方がビルドや書き込みが早いです.
VSCodeで開発できる辺り,シンタックスハイライトが使えたりと便利なので,是非使ってみて下さい.