理系的な戯れ

理工学系とくにロボットやドローンに関する計算・プログラミング等の話題を扱って、そのようなことに興味がある人たちのお役に立てればと思っております。

StampFlyの制御プログラムのビルドと書き込み

はじめに

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を使う機会が結構あると思うので以下も参考にしてください。

brew.sh

Gitのインストール

そのまま、端末に下記をコピーしてエンターキーを押して実行。

brew install git

Visual Studio Codeのインストール

そのまま、端末に下記をコピーしてエンターキーを押して実行。

brew install --cask visual-studio-code 

Windowsの場合

Gitのインストール

Git for Windows

からインストール用の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が見えます。

platformioを検索
platformioを検索

platformionの虫(宇宙人)アイコンが出てきたら青いインストール(install)ボタンを押すとインストールがかってにはじまります。

PlatformIOをインストール
PlatformIOをインストール

インストール中やインストール後は下図のような感じの表示が確認できる。

PlatformIOのインストール結果
PlatformIOのインストール結果

ここまできたら、開発環境構築は終わりです。

一度、VSCodeを終わらせて、PCも念の為再起動しましょう。

Githubからサンプルコードをもってくる

StampFlyのサンプル制御プログラムは以下のところでGithubで管理しています。

github.com

gitの使い方がわかる人は、適当なディレクトリを作ってそこにStampFlyのレポジトリをクローンして使ってください。

ここではgitを使うのに不慣れな人のために解説します。

Vsual Studio CodeでStampFlyリポジトリをクローンする

以下は私のオリジナルのリポジトリから直接クローンする場合です。しかし、できたらGithub上の自分のGithubアカウントにフォークしてフォークしたリポジトリを以下の様にクローンして使うことをお勧めします。 ここではフォークの仕方の解説は割愛しますが以下を参考にやってみてください。

qiita.com

Githubにあるコードを自分のPCにコピーしてくることをクローンと言います。gitやGithubを使うことでソースコードを格納しているディレクトリ構造(階層構造)をそのままコピーして自分のPCに再現できるので便利です。

VScodeを立ち上げてソース管理のアイコンをクリックしてgitの管理ツールを立ち上げます。

gitの管理ツールを立ち上げる
gitの管理ツールを立ち上げる

つづいて、リポジトリのクローンを選びます。一度クローンが終わっていればここでフォルダを開くで、クローンされたリポジトリがあるフォルダを選択します。

リポジトリのクローンを選ぶ
リポジトリのクローンを選ぶ

つづいてgithubのURLを指定するテキストボックスが開くのでそこに以下のリポジトリのURLを入力します。

https://github.com/M5Fly-kanazawa/StampFly

フォークしていたら自分のリポジトリのURLを入力して下さい。

GithubのレポジトリのURLを入力
GithubのレポジトリのURLを入力

すると、リポジトリを保存する場所を指定して欲しいとでるので好きなフォルダを指定してください.なおPlatformIOはデフォルトでPlatformIO/Projectと言うフォルダでプロジェクトを管理することになっているので、そのようなフォルダがあればそこに入れましょう。ただし、初めてPlatformIOを使う時はまだないかもしれません。基本的にはどこに保存しても問題ありません。

保存フォルダを指定
保存フォルダを指定

その後、自動的にGithubからクローン(コピー)が行われます。 クローンが終わると「クローンしたレポジトリを開きますか」と聞かれるので開いてください。

クローンされたリポジトリを開く
クローンされたリポジトリを開く

そうすると、次の様な画面が出ます。センサのライブラリなどを自動的にダウンロードするので右下にダイアログがでてしばらく時間がかかる場合があります。

クローンが終わったところ
クローンが終わったところ

ビルドと書き込み

ここまできたらもうほとんど終わった様なもので、コードをビルドし書き込むのみです。

ビルドのみ行う

ビルドするだけで書き込まない場合は、VSCodeの下にあるチェックアイコンをクリックします。

ビルドする
ビルドする

しばらくコンパイルやリンクが行われますが無事に終わると思います。

ビルドと書き込みを同時に行う

ビルドしてStampFlyに書き込みも行いたい場合は。 まずUSB-CケーブルでStampFly(M5Stamp S3)を接続します。 StampFly側はUSB-C規格です。PC側はみなさんの規格に合わせてケーブルを用意してください。

PCとStampFlyを接続する
PCとStampFlyを接続する

もし、この後うまく書き込みができない時は 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に書き込んで飛行させることができます。

プログラムを改造したり、オリジナルで作ってみるのにどうしたら入門できるかはまたの機会にお話しします。

では、また!