PlatformIOとVSCodeでArduino Microの開発環境を整える

2018-01-10  /  開発環境Visual Studio Code

Arduino Micro を購入して電子工作入門をしたけど、ArduinoIDEではなくVSCodeでコード書きたいので設定を行った。

参考:

PlatformIO Core のインストール

まずは、PlatformIO Coreを先にインストールしておく必要がある。

Pythonのバージョンは2.7に対応していて、pipでインストールできるとのことなので、virtualenvで環境を独立させることにした。pip、virtualenvのどちらもインストールされていなかったので、そこから。

sudo python -m ensurepip
sudo pip install virtualenv

cd mykeyboard
virturalenv venv
source ./venv/bin/activate

pip install platformio

VSCodeにPlatformIOの拡張機能をインストール

拡張機能の検索窓でPlatformと入力すると、拡張機能が表示される。個人が作ったものがあるので PlatformIO.Org が提供しているものインストールするように注意する。

インストール後、プロジェクトの開始もドキュメントにそってやっていったら特に問題はなかった。

ビルドやアップロードは下部のバーにあるアイコンからも実行できる。

実行するとTerminalのペインが有効になって、実行が確認できる。

画像引用:http://docs.platformio.org/en/latest/ide/vscode.html#installation

特定のワークスペースのみ拡張機能を有効にする

特に設定を行わないとPlatformIOの拡張機能は関係ないワークスペースでも有効になってしまう。VSCode自体の起動が若干もたつく感じがするのと、 不要なPlatformIO関連のチェックが非同期で実行され無駄な感じがする。

いったん拡張機能を無効にしておき、Arduino用のワークスペースで有効にすることができる。

  1. 拡張機能の歯車アイコンをクリック
  2. Disable を押してデフォルトでは無効にする
  3. Arduino用のワークスペースで Enable(Workspace) を選択してワークスペースだけで有効にする

Ability to enable extensions only on specific workspaces

コマンドラインからビルドやアップロードする

VSCode上でタスクランナーなどを設定するのも良いが、Terminalからも作業を行いたい。

PlatformIO Coreをインストール済みなので、それを使用する。platform あるいは pio というコマンドが使えるようになっている。

# ビルドを行う
pio run

# アップロードを行う(差分があるとビルドも行う)
pio run -t upload

# ビルド済みのファイルを削除
pio run -t clean

PlatformIO IDE の各種タスクもこれらを実行しているようだ。実行時のコマンドがログに出ている。

また設定はワークスペースにある platformio.ini を参照する。このファイルはPlatformIO IDEでプロジェクトを開始していた場合には最初のウィザードで作成されていると思う。

[env:micro]
platform = atmelavr
board = micro
framework = arduino

こういう内容のファイルになっている。

参考: