はじめに
M5Stack社のStampFLyのサンプル制御プログラムをビルドしてM5StampS3に書き込むための手順を解説したいと思います。 開発環境の準備から解説します。
StampFlyがなくてもビルドまではPCだけで確認できます。M5StampS3があれば書き込みまで試せます。 StampFly購入前の予習にもどうぞ。
以下の操作をするにはPCがネットワークに接続されている必要があります。 また、データを読み込むサーバのその時々の状態により以下のことがスムーズに行えない場合があります。 (打ち込みミスなどネットのせいだけではない場合もあります。)その場合は、時間をおいて再度挑戦することをお勧めします。
開発環境の準備
Macの場合
Homebrewのインストール
端末を開いて下記をコピーしてエンターキーを押して実行。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
MacではHomebrewを使う機会が結構あると思うので以下も参考にしてください。
Gitのインストール
そのまま、端末に下記をコピーしてエンターキーを押して実行。
brew install git
Visual Studio Codeのインストール
そのまま、端末に下記をコピーしてエンターキーを押して実行。
brew install --cask visual-studio-code
Windowsの場合
Gitのインストール
からインストール用のexeファイルをダウンロードし実行してインストール。
Visual Studio Codeのインストール
Download Visual Studio Code - Mac, Linux, Windows
からインストール用のexeファイルをダウンロードして実行してインストール。
Ubuntu(Linux)の場合
Git のインストール
端末を開いて下記をコピーしてエンターキーを押して実行。
sudo apt install git
Visual Studio Codeのインストール
まずマイクロソフトのリポジトリを準備。ターミナル(端末)を開いて下記をコピーしてエンターキーを押して実行。まるごとコピーしてうまく行かない場合は1行づつ試してください。1行が長いので表記は改行されていますが、1行空いているところまでが1行です。
sudo apt-get install wget gpg wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' rm -f packages.microsoft.gpg
それでもってインストール
sudo apt install apt-transport-https sudo apt update sudo apt install code
PlatformIOのインストール(共通)
PlatformIOとはさまざまなマイコンボードに対応したプログラムのコンパイル・ビルドを簡単に行えるようにしてくれて、ボードの書き込みもボタンひとつにしてくれます。
自分で設定ファイルなどを作るのは知識が問われるのですが、用意されたリポジトリ等を使って作業するには、非常に楽ですし、自分で一度設定すればその後の作業はやはりすこぶる楽ちんです。
Visual Studio Code(以下VSCode)を立ち上げ、下図のアイコンをクリックして拡張機能のインストールに進みます。
左上のテキストボックスに"platformio"と打ち込んで検索すると、オレンジ色の虫(宇宙人)のアイコンのplatformioが見えます。
platformionの虫(宇宙人)アイコンが出てきたら青いインストール(install)ボタンを押すとインストールがかってにはじまります。
インストール中やインストール後は下図のような感じの表示が確認できる。
ここまできたら、開発環境構築は終わりです。
一度、VSCodeを終わらせて、PCも念の為再起動しましょう。
Githubからサンプルコードをもってくる
StampFlyのサンプル制御プログラムは以下のところでGithubで管理しています。
gitの使い方がわかる人は、適当なディレクトリを作ってそこにStampFlyのレポジトリをクローンして使ってください。
ここではgitを使うのに不慣れな人のために解説します。
Vsual Studio CodeでStampFlyリポジトリをクローンする
以下は私のオリジナルのリポジトリから直接クローンする場合です。しかし、できたらGithub上の自分のGithubアカウントにフォークしてフォークしたリポジトリを以下の様にクローンして使うことをお勧めします。 ここではフォークの仕方の解説は割愛しますが以下を参考にやってみてください。
Githubにあるコードを自分のPCにコピーしてくることをクローンと言います。gitやGithubを使うことでソースコードを格納しているディレクトリ構造(階層構造)をそのままコピーして自分のPCに再現できるので便利です。
VScodeを立ち上げてソース管理のアイコンをクリックしてgitの管理ツールを立ち上げます。
つづいて、リポジトリのクローンを選びます。一度クローンが終わっていればここでフォルダを開くで、クローンされたリポジトリがあるフォルダを選択します。
つづいてgithubのURLを指定するテキストボックスが開くのでそこに以下のリポジトリのURLを入力します。
https://github.com/M5Fly-kanazawa/StampFly
フォークしていたら自分のリポジトリのURLを入力して下さい。
すると、リポジトリを保存する場所を指定して欲しいとでるので好きなフォルダを指定してください.なおPlatformIOはデフォルトでPlatformIO/Projectと言うフォルダでプロジェクトを管理することになっているので、そのようなフォルダがあればそこに入れましょう。ただし、初めてPlatformIOを使う時はまだないかもしれません。基本的にはどこに保存しても問題ありません。
その後、自動的にGithubからクローン(コピー)が行われます。 クローンが終わると「クローンしたレポジトリを開きますか」と聞かれるので開いてください。
そうすると、次の様な画面が出ます。センサのライブラリなどを自動的にダウンロードするので右下にダイアログがでてしばらく時間がかかる場合があります。
ビルドと書き込み
ここまできたらもうほとんど終わった様なもので、コードをビルドし書き込むのみです。
ビルドのみ行う
ビルドするだけで書き込まない場合は、VSCodeの下にあるチェックアイコンをクリックします。
しばらくコンパイルやリンクが行われますが無事に終わると思います。
ビルドと書き込みを同時に行う
ビルドしてStampFlyに書き込みも行いたい場合は。 まずUSB-CケーブルでStampFly(M5Stamp S3)を接続します。 StampFly側はUSB-C規格です。PC側はみなさんの規格に合わせてケーブルを用意してください。
もし、この後うまく書き込みができない時は M5StampS3の上のボタンを押しながらPCと接続してみてください。
書き込みはVSCodeの下の右矢印アイコンを押します。 すると、ビルドが自動的に開始され、書き込みの進捗がパーセンテージで示されます。
無事に書き込みが終わると、表示欄に下の様にSucessとでて書き込みが完了したことがわかります。
これで、書き込みが終了し、飛行させることができます。
ブランチの変更
Gitでは開発中のコードを安定版のコードとは切り離して開発することができます。 安定版や開発版をブランチと言って区別します。 今までの操作では基本的にはデフォルトのmainブランチのソースをビルドして書き込みました。
旧StampFlyはIMUがMPU6885だったのでmainブランチは現在はMPU6885用になっていますが、製品版はBMI270に変わる予定です。したがって、BMI270用のブランチがbmi270が存在しています。
bmi270ブランチに切り替えるには、VSCodeしたのmainとなっているところをクリックします。このmainは現在のブランチがmainだと言うことを示しています。
mainとなっているところをクリックすると存在するブランチを選択できます。bmi270を選択してみます。
すると、先ほどまでmainだった表示がbmi270に変わります。
おわりに
以上で、GithubによるサンプルプログラムをStampFlyに書き込んで飛行させることができます。
プログラムを改造したり、オリジナルで作ってみるのにどうしたら入門できるかはまたの機会にお話しします。
では、また!