はじめに
今までArduinoIDE
を使って、M5Stack
をビルドしていたのですが、
普段使っているJetBrains社の製品でビルド出来ないかと探したら、
CLionとPlatformIOを組み合わせれば出来そうな事がわかりました。
ただ、VSCodeとPlatformIOの組み合わせを紹介するサイトは多々あるのですが、
CLionとPlatformIOの組み合わせを紹介しているサイトが少なかったので、
Hello World
を出すまでの手順を備忘録として記載しておきます。
目次
0. インストール順
1. Pythonのインストール
2. PlatformIO Coreのインストール
3. 環境変数の確認
4. CLionにPlatformIOプラグインをインストール
5. 新規プロジェクト
6. PlatformIOの設定画面
7. platformio.iniの設定
8. ライブラリの追加
9. Hello Worldの作成
10. ビルドとアップロード
環境
- Windows10 Home
- CLion 2022.2.4
- PlatformIO Core 6.1.5 / Home 3.4.3
- Python 3.9.6
- M5Stack Basic
0. インストール順
CLionでPlatformIOを使えるようにするには、CLionのPlatformIOのページにインストール手順が載っていますが、大まかには以下の感じです。
- Pythonのインストール
- PlatformIO Coreのインストール
- CLionにPlatformIOプラグインのインストール
CLionは既にインストール済の想定で、以下からそれぞれインストールの解説をしていきます。
1. Pythonのインストール
PlatformIO Coreをインストールするには、VSCodeを入れて、PlatformIO IDEを入れることで、自動的にPlatformIO Coreが入るそうですが、それするならVSCodeで書けよ、って話なので、今回はPlatformIO Coreのみを入れて行こうと思います。ということで、インストールするにはまずはPythonを入れる必要がありますので、Pythonをインストールします。
Pythonのダウンロード
Pythonのサイトにアクセスして、Windows版のインストーラをダウンロードします。
Pythonのインストール
ダウンロードしたインストーラを起動し、Add python.exe to PATH
にチェックを入れて、Install Now
をクリックしてインストールを進めます。
Pythonのバージョン
インストール完了後、動作確認のため、コマンドプロンプトでバージョンを確認します。
python --version
と入力するとバージョンが確認できます。
2. PlatformIO Coreのインストール
Pythonのインストールが完了したら、次はPlatformIO Coreをインストールします。
get-platform.pyのダウンロード
PlatformIOのLocal Download (macOS / Linux / Windows)のページから、get-platformio.py
を右クリックして、デスクトップなどに別名で保存します。
PYファイルの実行
コマンドプロンプトを起動して、ダウンロードしたPYファイルを実行します。
インストールが完了すると、PlatformIO Core has been successfully installed...
みたいな文言が出てきます。
3. 環境変数の確認
PlatformIO Coreのインストールが完了したら、次はパスを通します。
Windowsのコントロールパネルを開き、
システム
> 詳細情報
> システムの詳細設定
の順で進むと、
システムのプロパティ画面
が開きます。
その後、詳細設定タブ
から環境変数
をクリックし、Path
を選択して、編集
を選択。
開いた画面から新規
を押して、以下のパスを入力するか、参照
ボタンから、該当のフォルダを開いて、選択します。
C:\Users\UserName\.platformio\penv\Scripts
※UserName
の部分は、お使いのパソコンにより異なります。
PlatformIOのInstall Shell Commandsにも説明があります。
4. CLionにPlatformIOプラグインをインストール
CLionのPlatformIOのページにも載っています。
CLionを起動
PlatformIOプラグインをインストール
Plugins
を選択し、Marketplace
からPlatformIO
を検索して、インストールします。
再起動
5. 新規プロジェクト
CLionの再起動後、New Project
を選択すると、左のライブラリ一覧にPlatformIO
の項目が出てきます。
PlatformIO
を選択すると、ボードとフレームワークの一覧が出てきます。
今回はM5Stack Basicを使用するので、M5Stack
> M5Stack Core ESP32
を選択しました。
Location:
に、プロジェクトを保存する場所を指定して、Create
を押すと、プロジェクトが作成されます。
もし、PlatformIO Coreがなかったり、パスを通していないと、上記の画面のようになり、左にメニューは追加されるものの、ボードやフレームワークの一覧が出てきません。
プロジェクト画面
新規プロジェクトを作成するとデフォルトのファイルが色々生成されます。
src
> main.cpp
にコードを書いていきます。
設定ファイル
設定ファイルはplatformio.ini
ファイルで、直接書くことも出来ますが、
platformioの設定画面を開くことでiniファイルに追記していくことができます。
設定ファイルには、アップロード先のCOMポートやシリアルモニタの速度などを書きます。
M5Stackのポートの確認
というわけで、アップロード先のCOMポートを調べるために、M5StackをWindowsのUSBに接続します。
Windowsマークを左クリックして、デバイスマネージャー
を選択します。
ポート(COMとLPT)
を開くと、M5Stackが接続されているポート番号が確認できますので、これを覚えておきます。
上記の場合は、COM3
がM5Stackのポート番号です。
6. PlatformIOの設定画面
ポート番号が分かったところで、次にiniファイルの設定です。
CLionのTools
>PlatformIO
>Home
を選択すると、ブラウザでPlatfomIOの設定画面が開きます。
プロジェクトのインポート
PlatformIOの画面でプロジェクトの設定を行う場合、CLionで作ったプロジェクトをインポートする必要があります。
先ほどの設定画面のimport Arduino Project
を選択すると、上記のインポートフォルダの選択画面が出ます。
プルダウン画面で、インポートするプロジェクトのボードを選択します。今回は、M5Stack Core ESP32
を選択します。
また、Use libraries installed by Arduino IDE
もチェックしてみました。チェックしなくてもいいかもしれません。
CLionで作ったプロジェクトフォルダまで移動して、import
を選択します。
インポートが完了すると、ポップアップメッセージが出て、OK
を押すと、設定画面に戻ります。
画面下のRecent Projects
に、インポートしたプロジェクトが表示されていればインポートが出来ていると思います。
7. platformio.iniの設定
プロジェクトのインポートも出来たところで、platformio.iniの設定をしていきたいと思います。
設定画面の左メニューからProjects
を選択すると、インポートしたプロジェクトの一覧が表示されます。
先ほどインポートしたプロジェクトを探して、Configure
をクリックします。
ここに、設定を追加していくので、New Option :
のプルダウンから、必要なオプションを追加していきます。
今回は、monitor_port
、monitor_speed
、upload_port
を追加しています。
upload_port
、monitor_port
は先ほど調べたM5Stackの COMポート を指定します。
右上のsave
をクリックすれば、保存完了ですので、CLion IDEに戻ります。
platformio.iniファイルに設定が追加されています。
8. ライブラリの追加
次にHello Worldを表示するうえで、画面表示用のライブラリを追加したいと思います。
main.cpp
ファイルには、初期状態で、
#include <Arduino.h>
しかないため、M5Stack用のライブラリを追加します。
- PlatformIO設定画面に戻り、左のメニューの
Libraries
を選択します。
Search libraries...
にカーソルを合わせて、M5Stack
と入力して、ライブライを検索します。 - 検索一覧から、M5Stackライブラリを選択します。
Add to Project
を選択します。 - プルダウンからプロジェクトを選択して
Add
をクリックすると、ライブラリが追加されます。
- CLionのライブラリ
libdeps
>m5stack-core-esp32
にM5Stack
のライブラリが追加されているのが確認できます。
ただ、この状態だと、まだCLion側で関連付けができていないので、main.cpp
にincludeを記述しても、ライブラリが使えないため、コードアシストが出てきません。
- PlatformIOの再初期化
ライブラリを使えるようにするには、PlatformIOを 再初期化 する必要があります。
Tools
>PlatformIO
>Re-Init
を選択すると、PatformIOのファイルが初期化されます。
これで、ライブラリが使えるようになり、includeのコードアシストにM5Stack.h
が出てくるようになりました。
9. Hello Worldの作成
ここからようやくHello Worldの作成です。
M5Stack.h
をインクルードして、画面表示部分を記述していきます。
#include "Arduino.h"
#include "M5Stack.h"
void setup() {
// write your initialization code here
M5.begin();
M5.Lcd.setCursor(20,60); //表示座標
M5.Lcd.setTextSize(4); //文字サイズ
M5.Lcd.printf("Hello World"); //テキスト表示
}
void loop() {
// write your code here
}
10. ビルドとアップロード
Hello Worldのファイルは出来たので、M5Stackにアップロードします。
画面右上のEdit Run/Debug configurations
のプルダウンを開き、PlatformIO Upload
>Run 'PlatformIO Upload'
を選択すると、
ビルドが始まり、アップロードが自動的に始まります。
アップロードが完了したら、SUCCESS
という文字が出ます。
M5Stackに無事 Hello World
が表示されました。
というわけで、記事がめっちゃ長くなりましたが、無事アップロードまで出来た。
この環境ができれば、次回からプロジェクトを作成するところからで良くなります。
platformio.iniのオプションや、ライブラリなどはたくさんありますので、これから色々試したいなと思います。