コンテンツにスキップ

M5: Visual Studio Code + PlatformIO

Visual Studio Code + PlatformIO の基本的な使い方を簡単に整理してみました。

PlaformIO の画面構成

サイドバー

サイドバーの PlatformIO アイコンをクリックすると Project Tasks パネルにタスクの一覧、Quick Access パネルに PlatformIO のグローバルなメニューが表示されます。ここからプロジェクトの作成や管理、ファームウェアのビルドやアップロードなどをおこなうことができます。

サイドバー

ステータスバー

ステータスバーには選択中のプロジェクトやシリアルポートなどの情報が表示され、よく使う処理をアイコンから実行することができます。

Home

ホーム画面

サイドバーの Quick Access > PIO Home > Open またはステータスバーの Home アイコンをクリックすると、PlatformIO のホーム画面を表示します。

Home

ここからプロジェクトの作成など、プロジェクトに対する操作をおこないます。

PlatformIO Home

プロジェクト

プロジェクトの作成

ホーム画面の「New Project」から適当なディレクトリにプロジェクトを作成します。

  • Name: プロジェクトの名前を指定
  • Board: M5Stack Core ESP32 など対象の機種を指定
    • M5Paper 用は専用に用意されていないため、代わりに M5Stack FIRE を指定する
  • Framework: Arduino

これによりプロジェクトの雛形となるディレクトリ構成と、指定した内容が設定された platform.ini というファイルが作成されます。PlatformIO では、この設定ファイルの記述を元に必要なライブラリのダウンロードやビルド処理がおこなわれます。

参考) "platformio.ini" (Project Configuration File) - PlatformIO

ライブラリの追加

ホーム画面または Quick Access の Libraries > Registry から必要なライブラリを検索し、インストールすることができます。追加したライブラリは platformio.ini の lib_deps 設定に記述されます。

M5 デバイスを制御するためのライブラリは機種ごとに分かれており、適切なライブラリを選択して使用する必要があります。以下はその一部です。使用できる機能だけでなく、インクルードするヘッダファイルや使い方も微妙に異なっていたりするので注意が必要です。

プロジェクトのファイル構成

設定ファイル

  • .gitignore : バージョン管理対象外とするファイルの指定
  • .vscode/extensions.json : VSCode 拡張機能
  • .vscode/c_cpp_properties.json : VSCode 用設定ファイル (バージョン管理対象外)
  • .vscode/launch.json : VSCode 用設定ファイル (バージョン管理対象外)
  • platformio.ini : PlatformIO 用設定ファイル

ディレクトリ

  • include/ : ヘッダファイルを格納する。
  • lib/ : プロジェクト固有のライブラリ。この中のソースは実行ファイルに静的リンクされる。
  • src/ : ソースファイルを格納する。

シリアルポートの速度設定

plaformio.ini に以下の設定を追記します。

monitor_speed = 115200

基本的な操作

プロジェクトの選択

環境選択

複数のプロジェクトを同時に開いていたりプロジェクトに複数の環境が設定されている場合、作業対象が選択されていることを確認しておきます。

ターミナルを開く

サイドバーの Project Tasks > Default > Miscellaneous > New Terminal またはステータスバーの New Terminal アイコンをクリックすると、ターミナルを開きます。ここから、コマンドを実行してビルドやインストールなどのタスクを実行することもできます。

New Terminal

例)

  • Build) pio run --environment <env>
  • Upload) pio run --environment <env> --target upload

デバイスとの接続

デバイスを接続したシリアルデバイスを指定できます。auto でうまくいかない場合は確認してください。

シリアル選択

ファームウェアのビルド

サイドバーの Project Tasks > (環境) > General > Build またはステータスバーの Build アイコンをクリックすると、ソースコードからファームウェアを作成します。

Build

ファームウェアの書き込み

サイドバーの Project Tasks > (環境) > General > Upload またはステータスバーの Upload アイコンをクリックすると、ファームウェアをデバイスに書き込みます。

Upload

シリアルモニター

サイドバーの Project Tasks > (環境) > General > Upload and Monitor またはステータスバーの Serial Monitor アイコンをクリックすると、シリアルポートに出力したログを出力して確認することができます。

Serial Monitor

ファームウェアの消去

ターミナルから以下のコマンドを実行すると、デバイスのファームウェアを消去することができます。

pio run --environment <env> --target erase