PlatformIOとVSCodeでArduino Microの開発環境を整える
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用のワークスペースで有効にすることができる。
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
こういう内容のファイルになっている。
参考: