環境構築
windowsの方向けに説明します。MacやLinuxの方は、一部違うところがあると思います。
1.vscodeのインストール
インストールするときには、基本的に肯定的な言葉を押していればOKなのですが、赤丸のところにチェックを入れておくと便利です。
(エクスプローラーの右クリックでCodeで開くというメニューが追加されます)
詳しいvscodeのインストール手順は次のページをご覧ください。
2.Platform IOのインストール
vscodeの拡張機能のページを開き(写真の赤丸のところマークをクリックする)、検索欄(写真の黄色い下線の欄)で「platformio」と調べる。
すると一番上にアリさんのマークの拡張機能がでてくる(赤丸のエリア)のでインストールしましょう。
拡張機能がインストールされると、左側の欄にアリさんマークが追加されます。
アリさんマークをクリックしてみましょう。
画面右下にポップアップが出現します。
これはplatformIO IDEをインストールしていることを表しています。しばらく待ちましょう。
Platform IOのインストールに成功したら、ポップアップが出現するので、Reload Nowを押してvscodeを再起動します。
これで環境構築完了です。
インストール中にエラーが出た方へ
Error: error: subprocess-exited-with-error python setup.py bdist_wheel did not run succesfully. exit code: 1
インストール中にこんなメッセージのポップアップが出た方は居るかもしれません。
ここに修正方法があります。
https://community.platformio.org/t/platformio-ide-installation-fails-on-vscode/33586
英語恐怖症の方のためにやり方を書きます。
実はこのエラーは使用しているpcのユーザー名が長すぎるために起こります。(platformIO以外の拡張機能を入れるときも、ユーザー名が長すぎるとエラーが起こることがあるらしい)
ということで、長い名前でもエラーが起こらないようにしましょう。
Windowsマークを右クリックし、ファイル名を指定して実行をクリックします。
ローカルグループポリシーエディターが出現します。
コンピューターの構成→管理者用テンプレート→システム→ファイルシステムに進むと、以下のページに到達します。
Win32の長いパスを有効にするをクリックします。
ポップアップが出現したら、有効にして、適用してOKを押し、設定を保存します。
これでvscodeを再起動して、もう一度アリさんマークをクリックすると、インストールが完了するはずです。
platformIO IDEの使い方
platformIO IDEのホーム画面
ホーム画面に移動するには、アリさんマークのをクリックして上の画像のようなタブを開き、赤丸のopen
をクリックするとホーム画面に移動できます。
この画面がホーム画面です。
プロジェクトの新規作成
-
Name
にはプロジェクトの名前(好きな名前)。 -
Board
には使っているesp32のボードを選択肢の中から選択します。
うちの大学だと、次のように選択してます。ご自身のマイコンに合わせて選択してください。- 秋月電子とかで売ってるESP32は
Espressif ESP32 Dev Module
。 - カメラが付いているマイコンキットのやつは
Espressif ESP-WROVER-KIT
- M5Stack Toughは
m5stack core esp32
- 秋月電子とかで売ってるESP32は
-
Framework
はArduinoを選択してください。 -
Location
なのですが、ファイルを保存する場所の設定です。こだわりがない人はそのままでも大丈夫です。
もしOneDriveでドキュメントフォルダーを同期させている方は、
Use default location
のチェックを外して、OneDriveで同期していないファイルを選択することをオススメします。結構OneDriveとの相性悪いです。
以下のようなローディング画面が表示されます。初めてPlatformIO IDEでプロジェクトを作る方は、かなり長いロードになると思います。
ローディングが終わるとプロジェクトの作成は完了です。
既存のArduinoのコード(拡張子が.ino)をPlatformIOで使う方法
Import Arduino Project
をクリックします。詳しくは説明しませんが、使うマイコンを選び、インポートしたいArduinoのプログラムを選択して、画面の指示に従えばインポートできるはずです。
編集するファイルについて
プロジェクトを作成するとファイルが自動生成されます。
ファイル構造は画像のようになっています。
このうち以下の2つのファイルをまずは覚えましょう。
-
src/main.cpp
: メインのソースコード はです。このファイルを弄っていきます。 -
platformio.ini
: プロジェクトの設定が書かれています。
main.cppファイルの書き方について
main.cppは基本的にArduino IDEの.inoファイルと 同じ です。
ただし、以下の点がinoファイルと違うので注意しましょう。
-
#include <Arduino.h>
が必ず必要
PlatformIOでArduinoの関数を利用するにあたり、必須のライブラリとなっているので、インクルードされています。忘れがちですが、
#include <Arduino.h>
は 忘れるとプログラムが動かない大事な呪文 だと覚えてください。
- 関数の呼び出し位置よりも後で宣誓するとエラーになる。
inoファイルではなくcppファイルであることで起こる問題ですね。
このようにsetup
関数の中でfunction
関数を呼び出していますが、このfunction
関数はsetup
関数よりも後に宣誓されています。このような書き方は.inoファイルならエラーにならないのですが、cppファイルならエラーになってしまいます。
src/main.cpp:6:3: error: 'function' was not declared in this scope
なので、
このようにsetup
関数とloop
関数は 一番後ろに書く ようにしましょう。
コンパイルと書き込みについて
ウィンドウの下のボタンを押すことで、様々なことが実行できます。
以下の2つのボタンを覚えましょう。
この矢印のマークがコンパイルとマイコンへのアップロードをしてくれるボタンです。
こっちのチェックマークもありますが、こっちはコンパイルのみでアップロードはしてくれないので、注意してください。
シリアルモニターについて
先程のウインドウ下のエリアでシリアルモニターが使えます。
フラスコマークの横にあるコンセントみたいなマークを押すとシリアルモニターが出現します。
ただ、ここではボーレートの設定ができません。
ボーレートの設定は`platformio.iniファイルで行います。
以下のような文を追加してください。
monitor_speed = 115200
115200
のところに使用したいボーレートを代入してください。
シリアルモニターを使っているときに帰ってくるはずの値が正しく表示されない場合は、ボーレートの設定をしたかをチェックしてください。
ちなみにArduino IDEのようなシリアルモニターを使える拡張機能があります。
シリアルモニター拡張機能の詳細はこちら
![スクリーンショット 2023-05-09 115823.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219558/cdb23836-15b2-38f7-6996-3b2fae2f942e.png) 拡張機能の検索欄に「Serial」と入力すると、一番上にMicrosoft製のSerial Monitorが出てきます。使い方はvscodeでCtrl-@
を押すとターミナルが出現しますが、この拡張機能をインストールするとシリアルモニターという項目が出現します。
これをクリックすると、シリアルモニターが出現します。
ポートでマイコンが刺さっているポートを選択し、正しいボーレートを選択し、監視の開始
をクリックするとマイコンから情報が流れてきます。
注意点 なのですが、この拡張機能を使うときは監視中にマイコンにプログラムを書き込もうとすると、ポートが使われているので、書き込みできない的なエラーが出てくるので、プログラムを書き込むときは 監視の停止
を押してからプログラムを書き込みましょう。
結局デバッグ中にいちいち開始したり、停止したりするのが煩わしくて、PlatformIOに付いているシリアルモニターを私は使うことが多いです。
ライブラリのインポート
Libraries
をクリックします。
Librariesのページに移動できます。検索欄にインポートしたライブラリの名前を検索しましょう。
例えば、今回は「LovyanGFX」というモジュールをインポートするとします。
2番目に出てきてますね。
ライブラリをクリックしましょう。
青いAdd to Project
ボタンを押せばライブラリをダウンロードできます。
また、赤い線の場所をクリックすると、このライブラリの使い方やサンプルが書かれています。
察しの良い方はお気付きだと思いますが、githubとリンクされています。ライブラリをインポートする上で、必要な情報がピックアップされて表示されている感じです。使いやすくて便利ですね。
ライブラリの削除。
ホーム画面からProject
を開きます。
消したいライブラリがインポートされているプロジェクトの青いConfigure
ボタンをクリックしてください。
クリックするとプロジェクトの設定画面が表示されます。
下のほうに Libraly Options という項目があります。
その中に消したいライブラリが書かれていると思うので、ライブラリ名のよこのバツボタンを押します。
最後に 画面右上の青いSave
ボタンを押します。
saveを押すのを忘れないで下さい。
ライブラリの削除についてですが、バグやコンパイルが通らない原因になるので、必要ないライブラリが出たら逐次削除することをおすすめします。
まとめ
長くなってしまいましたが、環境構築と使い方は以上です。この記事を参考程度にPlatformIOで遊びながら覚えるのが、一番覚えられると思います。
ということで、良いPlatformIO IDEライフを。
宣伝
現在新潟大学学生フォーミュラプロジェクトでは、スポンサーになっていただける企業様や個人を募集しています。
スポンサーの方は、Webサイト(2023年中には改修して綺麗になる予定)やマシン本体やTwitterやInstagramなどの各種SNSで宣伝、今年の活動報告書の送付をさせていただいています。
下記のメールまでご連絡をお待ちしております。
next-fp@eng.niigata-u.ac.jp