PlatformIO IDEでLチカ2

『Visual Studio Code + PlatformIO IDEでのArduino開発環境構築とLチカ実行』

 

「PlatformIO IDEでLチカ」と内容はほぼ同一です。異なる点は次です。

・開発プラットフォームの変更

・再度構築(ちょっとVSCodeなどのアプリが新しい)。

・拡張機能を追加。

・(2回目などの少し慣れた)

 

Arduinoで開発する際はいつも純正の開発環境であるArduinoアプリを使用しています。今後も使用することになると思います。しかし、Arduinoアプリはコードの作成とかデバッグ環境とかは何世代も前の感じです。まぁ、ターゲットがXocdeとかの本格的なIDEとは異なるのですが、お手軽に開発するにはとってもシンプルで使い易いものです。でも、Xcodeとか使っているとせめて最低限のコード補完とかブレイクポインタとかでいいから実装してよ! と思ったりしています。

 

そこで今回はArduino純正IDEよりは少し細かい所に届く新しいArduino開発環境を導入したいと思います。

 

この記事は、巷で噂の「Visual Studio Code + PlatformIO IDE」です。
マイクロソフトのVSCode(Visual Studio Code)と呼ばれるマルチプラットフォームのソースコードエディタにArduino対応のPlatformIOと呼ばれる拡張機能をインストールしLチカまでの簡単な開発手順です。

 

私はVisual Studio CodeもPlatformIO IDEも初めてなので、とりあえず開発環境の構築方法をメモ代わりに記事にします。macOS版の記事も少ないので記事に。。。

 

補足: Arduino純正IDEをよく思っていない方もいますが、Arduino純正は超簡単にアプリを作ってボードにインストールし実行できます。素晴らしい! PlatformIOとかXcodeのようにインスールとか学習に時間を有しません。ボードが有れば10分程度でLチカが出来ます。最初にLチカを行いたいならArduino純正で開発し複雑な開発とか既存のソフトのIDEに使い慣れているならPlatformIOを使うといい私は思います。

 

作成日時 2020-07-08 01:08 更新日時 2020-07-08 01:34


macOSでの開発環境のインストールからLチカまでの手順です。

Arduino UNO R3を必要とします。

 

1.動作環境

2.インストール

3.Lチカ

4.デバッガ

5.日本語化

6.その他


【1.動作環境】

この記事の動作環境です。

 

・macOS Catalina (この記事の段階でVersion 10.15.5)

・MacPro (2019)

  3.2 GHz 16コアIntel Xeon W

  160 GB 2933 MHz DDR4

  AMD Radeon Pro W5700X 16 GB

・Seeeduino V4.2

  SeeeedのArduino UNO R3互換ボード


【2.インストール】

VSCode(Visual Studio Code)とPlatformIO IDEのインストール方法です。

 

Visual Studio Code

次のサイトからVisual Studio Codeをダウンロード

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

アプリをダウンロード

開発環境はMacOSなのでMacを選択

圧縮されているので解凍しアプリケーションフォルダに入れます。

 

-> 解凍

ちなみに記事を作成時のVersionは次の通りです。

 1.46.1

 2020年06月03日作成

アプリをアプリケーションフォルダに入れてダブルクリックし起動します。

起動時の画面

PlatformIO IDE

次にArduinoの開発環境の為にPlatformIOをインスールします。

VSCodeの拡張機能なので左の拡張機能から探してインストールします。

「PlatformIO」を検索し「Install」します。

 

インストール途中。

インスールが完了するとPIO Home画面が表示されます。

 

PIO (PlatformIO)

 

また、左のサイドバー? にPIO Homeアイコンが追加されます。

 

PlatformIO IDEのインストールが終わると「OUTPUT」に「Please restart VSCode.」と表示されます。

画面左下のインストール途中のメッセージは変化ししません(インストール途中のままです。)

 

 アプリを再起動します。

(左下のメッセージより「OUTPUTのメッセージを優先します。)

【アプリを再起動します。】

VSCoeアプリの再起動後の画面。

 

左のバーにPlatformIOのアイコンが追加されます。

インストールが完了すると2つの拡張機能が表示されます。

 

「C/C++」と「PlatformIO」です。

PlatformIOはC/C++を必要する(依存関係)ので、自動的にインストールされます。


【3.Lチカ】

動作チェックのLチカです。

 

動作確認の為に、今回はSeeeedのArduino UNO R3互換ボードであるSeeeduino V4.2を接続してLチカを行います。

日本だとスイッチサイエンスさんから購入できます。> スイッチサイエンス Seeeduino V4.2

https://www.switch-science.com/catalog/2651/?gclid=EAIaIQobChMIgpXLopX_6QIViqmWCh1Nqw80EAAYASAAEgIvcPD_BwE

 

Lチカ・アプリの作成

新しいプロジェクトを作成します。

+ New Project

 

Project Wizardの入力項目3を行い「Finish」ボタンをクリックします。

 

Name: プロジェクト名 Lchika

Bard: 今回は「Arduino Uno」を選択 (800を超えるボードが登録済みですが検索出来るので「UNO」と入力して絞り込み選択します。

Framework: Bardを選択した時点で自動的に入るようです。

 

最後に「Finish」ボタンをクリックします。

ファイルブラウザ?の「EXPORER」が開き「Lchika」プロジェクトが表示されます。

 

 

今回はインストールされているライブラリのアップデートがあるようなので「はい」を選択しインスールします。

「再読み込み」をクリックして更新します。

 

画面が更新されます。

 

念のためVSCodeを再起動します。

 

テストコードの画面に戻ります。

 

Lチカのコードを入力します。

 

Arduinoの作法とは異なり「main.cpp」にコードを書きます。

 

とりあえず動作テストの為に

PlatformIOのページからLチカのコードをコピー&ペーストします。

 > Lチカのコードはプロジェクト作成時にデフォルトで入るようである。

> 以前は入らなかったか。2020-07-07 現在。

 

Docs » Cloud & Desktop IDE » VSCode

https://docs.platformio.org/en/latest/integration/ide/vscode.html#ide-vscode

 /**

 * Blink

 *

 * Turns on an LED on for one second,

 * then off for one second, repeatedly.

 */

#include "Arduino.h"

 

// Set LED_BUILTIN if it is not defined by Arduino framework

// #define LED_BUILTIN 13

 

void setup()

{

  // initialize LED digital pin as an output.

  pinMode(LED_BUILTIN, OUTPUT);

}

 

void loop()

{

  // turn the LED on (HIGH is the voltage level)

  digitalWrite(LED_BUILTIN, HIGH);

 

  // wait for a second

  delay(1000);

 

  // turn the LED off by making the voltage LOW

  digitalWrite(LED_BUILTIN, LOW);

 

   // wait for a second

  delay(1000);

}

コードの実行

左下のICONからビルドしてボードにアップロードします。

ビルド (ショートカットキーは Control + option + B)

TERMINAL枠内にビルド情報が表示されます。

 

ボードへアップロード (ショートカットキーは Control + option + U)


注意: ボードはmacと接続されていますか? (^^;

TERMINAL枠内にアップロード情報が表示されます。

補足: Arduino純正アプリとは異なりアップロード時に再Buildは実行されません。

 

これで無事Lチカが実行されました。

 


【3.デバッガ】

PlatformIOを使用するきっかけになった原因?とも言うべき機能を試します。

 

この機能を利用するには「PlatformIO」のユーザー登録が必要です。

ユーザー登録が完了したらPlatformIOからログインします。

UsernameかemailとPasswordを入力してログインします。

 

ログイン画面

 

とりあえず。アプリを再起動

ブレイクポイントを設定します。

デバッグを実行します。

 

「PIO Debug」を選択し「RUN」します。

デバッグ用のビルドが実行されボードが再起動されます。

 

最初に「init()」で停止しますが、継続します。

 

継続。

 

指定したブレイクポイントで停止しました。

 

機能的な事は未だこれから勉強しますがとりあえず新しいArduino環境で開発が出来るようになりました。

 


【4.日本語化】

Japanese Language Pack for VS Code をインストールすることで、VSCode(Visual Studio Code)のメニューなどを日本語化出来ます。

 

日本語Packをインストール

拡張機能の検索キーワードに「Japanese」を入力し「Japanese Language Pack for VS Code」を発見しインストールします。

 

アプリを再起動します。

 

 

日本語化されています。

VSCode(Visual Studio Code)の日本語化なのでPlatformIO固有の部分は日本語化は実施されません。

 

また、画面キャプチャーのデバッグコンソールは日本語化されていますが、TERMINALとかOUTPUTは英語のままで、アプリを再起動しても変わりません。が、タブ「TERMINAL」をクリックすると日本語化されます。

ローカライズのタイミングが不明です。

こんな感じでたまに変な動きをします。


【6.その他】

 

設定フォルダの場所

~/Library/Application\ Support/Code

 

ポートの接続状態

PIOアイコンのPROJECT TASKSから「Devices」を選択すると接続されているデバイス情報をTERMINALへ出力します。

 

今回テストに使っているボード「Seeeduino v4」があります。

特にUSBを選択していませんが、今回は自動的に認識選択しているようです。

この辺の設定は「platformio.ini」を修正することで柔軟に対応出来る様です。

 

/dev/cu.usbmodem1201

--------------------

Hardware ID: USB VID:PID=2886:0004 SER=55737313531351107151 LOCATION=0-1.2

Description: Seeeduino v4

【アイコンをいろいろと追加】

プラグイン「vscode-icons-team」を検索してインストールします。

「有効化」

 

カラフルなアイコンが表示されるようになります。

 


記憶では、1年以上前(2年?)からの懸案のArduinoの新しい開発環境の構築が出来ました。
これから使い方を色々と模索しつつ開発をしていきます。