Terrarium

てるしうむのてらりうむ

PlatformIOでArduinoの純正IDEから卒業する

PlatformIO

久々にArduinoを使うことになり,せっかくだしコマンドラインから開発したいなぁとなって調べているうちに,良いものを見つけました.

platformio.org

VSCode拡張機能としてインストールでき,ArduinoIDEが無くても動作する優れモノです. 今回はPlatformIOの導入方法について説明してみたいと思います.

Arduinoの純正IDE

(もしかしたら私が知らないだけの機能があるかもしれないです) よくプログラミングをする人はわかると思いますが,Arduinoの純正IDEは機能がとても少ない… 複数のファイル編集もタブしかなく貧弱ですし,変数や関数の補完もしてくれない. Vimキーバインドも使えないし…

いわゆるVSCodeみたいなインテリジェントなエディタに対して機能が貧弱なんですね.

PlatformIO

そこで開発されているのがPlatformIOで,コマンドラインから使えるマイコン向けのビルド・書き込みツールです. Arduinoだけでなく色々なマイコンに対応しているそう.

platformio.org

コマンドラインから使える,と言うことはコーディングと書き込みで別のツールとして使うこともできます. スクリプトを書いて自動で書き込みとかもできる. しかし,ボードの正式名称を調べたり決められたコマンドを使わなければいけなかったりと設定ファイルを作るのがちょっと面倒だったりする.

コマンドを覚えるのが面倒,そう言う人のために,PlatformIOを用いたIDE,PlatformIO IDEと言うものが用意されています.

platformio.org

また新しいIDEを入れなくてはいけないのか…と思いきや,ページを開けばわかりますが,AtomだったりVisualStudioCodeの拡張機能として導入できます(と言うより拡張機能がインストールされたAtomがダウンロードできるといった様子です).

VisualStudioCodeの拡張機能として導入するメリットは以下の通り.

  • 普段使い慣れたエディタで開発できる
  • GUIベースでプロジェクトの設定が可能
    • ボードの選択をはじめとしたプロジェクトの設定をビジュアルに行うことができる
  • ビルドや書き込みもワンボタン
    • PlatformIOの拡張機能をインストールすると左下に専用のボタンが現れ,ビルドや書き込みをワンボタンで行うことができる

VisualStudioCodeにPlatformIOを導入する

VisualStudioCodeは軽量かつ高機能なエディタとして誰にでもお勧めできます. インストールはこちらから.

code.visualstudio.com

何となくやればインストールは終わるはず.

次に拡張機能をインストールします.

f:id:tellusium:20180212133349p:plain

左側のアイコンのうち一番下をクリックし,検索窓にplatformまで入れれば一番上に出てきます(画像ではすでにインストールされていますがインストールボタンが出てくるはず). 基本それだけ.

インストールできるとPlatformIO Homeといったウィンドウが出てくるはず…または左下の家のマークをしたボタンからも開けます. f:id:tellusium:20180212133604p:plain

開いた時の画像. f:id:tellusium:20180212133754p:plain

NewProjectと言うボタンがあるはずなので,それをクリックしボードなどを選びます. ボード選択の部分は文字を入力でき絞り込みが行えます. フォルダの配置場所はご自由に. f:id:tellusium:20180212133903p:plain

プロジェクトが作成されると,フォルダ階層が表示されるはず. プログラム本体はsrc/main.cppにあるので,これを開き,Lチカのコードを書いてみます.

f:id:tellusium:20180212134021p:plain

あとは左下にある「→」ボタンをクリックすると,ビルドと書き込みが行われます.

その他の機能

Arduinoを使う上でシリアルモニタの使いやすさは捨てがたい. もちろんPlatformIOにもその機能が搭載されています. 左下にあるアイコンのうち右のほうにある,コンセントみたいなアイコンをクリックするとシリアルモニタがターミナル上に表示されます. ちゃんと動く.便利.

f:id:tellusium:20180212135050p:plain

まとめ

以上,VisualStudioCodeでPlatformIOを導入するメリットとその方法について説明してきました. 使い慣れたIDEで開発できる,しかもGUIでプロジェクトの設定やビルド・書き込みができるところが非常にありがたい. さらにシリアルモニタまで使えるとか,純正のIDEをはるかに超えた使いやすさでした.

注意

以前platformioを使おうとした時に,PythonのVer2を使えるようにしなくてはならず,PyenvでVer3を使っていた自分にとっては使いづらかった記憶があります(今は消しましたが…). 同様にPyenvを使っていてVer3をデフォルトにしている人は何かしら上記の手順でエラーが出るかもしれません. 今どのバージョンに対応しているのかがぱっと見わからなかったので,もしかしたらすでにVer3に対応しているのかもしれません.