ArduinoやM5Stackのコーディングの際に、PlatformIO IDEという開発統合環境を使って開発をしてみました。
これまで、Arduinoの開発を行う時にはArduino IDEを用いていました。お馴染みのこの画面です。
Arduino IDEを使っていて特に大きな不満はなかったのですが、チームでコーディングを行う際に、さまざまな利点があるということで、PlatformIO IDEを使って開発をしてみました。PlatformIO IDEの利点を紹介しつつ、Arduino UNOでLチカ(LEDを点灯させる基本的なプログラム)を行うまでの流れを説明したいと思います。
PlatformIO IDEとは?
マイクロソフト社のソースコードエディタであるVisualStudioCode(以下VSCode)や、オープンソースのテキストエディタであるAtomの拡張機能で、ArduinoやM5Stackを始めとするハードウェアプログラミングに適しています。なおこの記事では、ソースコードエディタにVSCodeを使っています。
これはArduino IDEと比較して、以下の利点があります。
###コーディングが楽になる
自分はこれが特に便利だと思ったのですが、検証か書き込みボタンを押さないとデバッグが行えないArduino IDE環境と異なり、コーディングをしている時に変数や関数の補完、そしてデバッグをしてくれます。
###ターミナルやシリアルモニタなど、様々な機能を1画面で見られる
Arduino IDEの場合は、シリアルモニタやターミナル画面が別ウインドウでしか表示できませんが、PlatformIO IDEの場合はそれを1画面で見られます。図のように、複数のプロジェクトの画面を開くことも可能です。
###CUIを用いて作業ができる
上の図からも分かるように、VSCode内でターミナルを開けるので、コーディングをチームで行う際に、Git管理をするのが楽になります。また、コマンドラインを用いてArduinoへプログラムの書き込みをしたり、ライブラリのインストールなどを行うことも可能です。
#PlatformIOをインストールしてみる
ということで、VSCode、PlatformIOをインストールし、Arduinoにプログラムを書き込んでみましょう!
*この時のPC環境はmacOS Mojave, バージョン10.14.4でした。
###VisualStudioCodeをインストールする
始めに、VisualStudioCodeをインストールします。公式ホームページhttps://code.visualstudio.com からDownload for Macをクリックしてダウンロードして下さい。
###PlatformIO IDEをインストール
VSCodeをインストールしたら、PlatformIO IDEをインストールします。
VSCodeを開き、左側にあるアイコンのうち、赤枠で囲ったEXTENSIONSのアイコンをクリックし、PlatformIOと入力して、インストールを行なって下さい。
これで環境のセットアップは完了です。続いて、新しいプロジェクトを作成して、エルチカのプログラムを書いてみましょう。
###プロジェクトを作成し、ボードを選択する
PlatformIO IDEをインストールすると、VSCodeを起動する際に自動的に、PIO Homeというタブが開かれるようになります。
このタブの中にある、New Projectというボタンをクリックして下さい。
続いて、Nameにプロジェクト名を、Board欄から、Arduino UNOなど、自分が使うマイコンボードを選択して下さい。
Finishをクリックすると、プロジェクトが作成されます。
###ファイル構造について
プロジェクトが作成されると、このような図が出てくるかと思います。
枠線で囲った部分が、作成したLEDBlinkプロジェクト内のファイルになりますが、Arduinoに比べ、やたら沢山のフォルダがありますね・・・
まずは、ArduinoIDEで編集してきた.inoファイルの代わりに、srcフォルダ内にあるmain.cppファイルを編集すればOKと考えて下さい。
ちなみにプロジェクトを再度開く際には、platformio.iniファイルをVSCodeで開くとプロジェクトごと開くことができます。
ここに、Lチカのプログラムを書き込んでみます。今回はArduinoUNOに内蔵されているLEDを点灯させるため、以下のようなプログラムを書きました。
###スケッチを書き込み
スケッチを書き終えたら、Arduino UNOをMacに接続して、プログラムを書き込みます。
画面左下にある右矢印アイコンをクリックすると、書き込みが始まります。USBポートは、選択しなくても自動的にArduinoUNOのポートを認識して書き込んでくれます(これがすごく便利!)。
書き込みが始まるとターミナルが開き、書き込み状況を表示してくれます。
緑色でSUCCESSと表示されれば、書き込みは成功です!
書き込みが成功していれば、下図枠内のArduino内蔵LEDが点灯しているはずです。
その他豆知識
###Arduino IDEで使ってきたinoファイルを引き継いで使いたい
プロジェクトを使ってみて分かる通り、PlatformIO IDEでは、Arduino IDEで使用してきた.inoファイルではなく、.iniファイルやmain.cppファイルから構成されます。そのため、今までArduino IDEで使ってきたファイルをPlatformIO IDEで使うために必要な手順を説明したいと思います。
始めに、PIOHome画面を開き、Import Arduino Projectボタンをクリックします。
そして、ボードの種類を選択し、開きたい.inoファイルのフォルダを指定してから、Importボタンをクリックします。
ここで、Use libraries installed by Arduino IDEをクリックするようにして下さい。Arduino IDEでインストールしていたライブラリを、PlatformIO内で再インストールすることなく使用することができるようになります。
これで、プロジェクトが作成されました。inoファイルは、srcフォルダ内に配置されます。
あとはmain.cppファイルの時と同様、ファイルを編集して書き込みを行うだけです。
###必要なライブラリを追加でインストールしたい
追加でライブラリをインストールしたい場合には、一度PIOHomeを開き、Librariesタブを開きます。ここからキーワードを入力して、必要なライブラリをインストールできます。
同様に、Boardsタブからはボードの追加を、Devicesタブからは認識されているデバイスの確認ができます。この辺りはほとんど、Arduino IDEでの操作と同じですね。
なお、ライブラリのインストールなどは、コマンドラインで行うこともできます。こちらのサイト https://qiita.com/hotchpotch/items/4777979835cf04453e2e などを参照して下さい。