M5StickCとは?

 今回はM5Stack社から発売されているM5StickCを使ってみます。以前はグレーのM5Stickもありましたが、2020年7月現在ではオレンジ色のM5StickCが発売されています。ここで使用するM5StickCは腕時計のバンド付きのものですが、M5StickC単品でも入手することができます。

・M5Stack
https://m5stack.com/
・M5StickC(本体のみ) https://shop.pimoroni.com/products/enviro-bit
・M5StickC(腕時計バンド付き)
https://www.switch-science.com/catalog/5517/

 腕時計バンド付きのM5StickCには以下のものが同梱されています。

 M5StickCを使用するにあたって最初に注意事項があります。M5StickCを制作しているM5Stack社は非常に開発が早く以後に説明するソフトウェア(M5BurnerやUIFlowなど)やデバイスに内蔵されるセンサーや関連デバイス、仕様、画面構成やUIなどが変わってしまうことがあります。数日も経過すればUIが変わっていたりすることがあります。このため、本連載で説明している画面は参考程度にしてもらうのが無難です。UIFlowに関しては基本的な手順はあまり変わっていませんので、プログラムをどのような手順で作成・ブロックを構成しているのかを把握してもらえばよいかと思います。

 それでは早速M5StickCを使ってみましょう。M5StickCはあらかじめサンプルプログラムが組み込まれており、そのままでも何らかの用途に使うことができます(ただし、時刻はあっていません)  まず、付属のUSB Type-CケーブルをM5StickC本体に接続します。問題がなければ接続され電源が供給されるとプログラムが起動します。6軸センサーを使ったサンプル、次にRTCを利用した時計、マイク入力を利用したサンプル、赤外線サンプル、Bluetooth (BLE) のサンプルが用意されています。これらは正面のボタン(M5と書かれたボタン。名称はボタンA)か右側のボタン(名称はボタンB)を押すと順番に切り替わるようになっています。

 M5StickCをリセットする場合は左側のボタン(名称は電源スイッチ)を軽く押します。また、M5StickCの電源をオフにする場合は左側のボタンを6秒以上押し続けます。

 ここまで問題なくできればよいのですが、そうでない場合もあります。例えばM5StickC内蔵バッテリーが完全に放電してしまっている場合は図のような表示になります。他の原因でも起動しない(画面が黒いまま)ことがあります。

 このような状態になったら一度M5StickCの電源を落とします(本体左側のボタンを6秒以上長押し)。次にジャンパーピンや抵抗などを3V3とG0と書かれた端子に差し込みます。この状態でM5StickCとUSBケーブルを接続し電源を供給します(自動的に電源が入らない場合は電源ボタンを押します)。

すると電源が入りサンプルプログラムが起動します。

 これでも起動しない場合は、運が悪かったと思って、もう1台購入するのが早いでしょう。(筆者もどうやっても起動しないM5StickCが1つあります)
 M5Stack社は開発速度優先みたいなので、時々不良品に当たってしまうこともあります。ここらへんに関しては大目に見てあげましょう。

UIFlowで開発する前に

 この連載ではマイクロビットの時と同じようにブロックエディタを使ってM5StickCのプログラムを作成します。このブロックエディタはUIFlowという名前ですが、UIFlowをM5StickCで使うにはファームウェアを書き換える必要があります。
 まず、M5Stackのページにアクセスします。ページ上部にあるSOFTWAREのメニューからDownloadsの項目を選択します。(直接https://m5stack.com/pages/downloadにアクセスしても構いません)

 するとダウンロードページに移動します。

 必要なプログラムをダウンロードします。必要なのはM5BurnerとCP2104 Driverの2つです。なお、すでにCP2104 Driverがインストールされている場合は新たにインストールする必要はありません。使用しているOSを選択すると自動的にダウンロードが始まります。ここではmacOS用で説明していますが、Windows 10、Linuxでも同様です。

 ダウンロードが終了したら最初にCP2104 Driverをインストールします。

 あとは手順に従ってドライバーをインストールしてください。

 ドライバーをインストールしたら次にM5Burnerを起動します。場合によってはセキュリティ確認の画面が表示されることがあります。

 M5Burnerが起動すると図のような画面になります。

 左側に製品の画像があるので、STICKCの画像をクリックします。するとUIFlowの枠が表示されます。ここで、ダウンロードするファームウェアのバージョンを選択します。バージョンは開発するUIFlowのバージョンに合わせる必要があります。ここでは、1.4.5.1のファームウェアをダウンロードします。バージョンを選択したら枠の右下にあるDownloadボタンをクリックします。

 するとダウンロードが始まります。

 ダウンロードが完了すると図のような画面になります。

 次にコンピューターとM5StickCをUSBケーブルで接続します。接続したらM5StickCの電源を入れます(後から入れても書き込むことはできます)。接続しているCOMポートを選択します。複数のM5StickCを接続している場合は間違えないようにしてください。なお、通信速度などは書き込むデバイスに合わせて自動的に設定されます。

 選択したらBurnのボタンをクリックします。

 すると書き込みが始まります。少し時間がかかるので待ちます。

 100%まで書き込まれたら完了です。Closeのボタンをクリックします。なお、この画面はCOM Monitorのボタンをクリックしても表示させることができます。

 これで完了です。M5Burnerを終了させます。

ネットワークの設定

 次にM5StickCと接続するネットワークを設定します。UIFlowのファームウェアが書き込まれたM5StickCを起動すると図のような画面になります。

 数秒すると図のような画面になります。

 次にM5StickCのネットワークに接続します。ここではiPhoneを使用していますが、Wi-Fiに接続できるスマートフォンやパソコンであれば何でも構いません。また、この設定は一度行えばM5StickC内に記憶されます。
 iPhoneのWi-Fi設定画面に表示されるネットワークからM5StickCの画面に表示されているネットワーク名を選択します。パスワード等は不要で自動的に接続されます。

 次にブラウザ(Safari、Google Chrome等)を起動します。起動したらアドレス欄に192.168.4.1と入力します。なお、このIPアドレスはM5StickCの画面に表示されています。

 M5StickCを接続するWi-FiのSSIDとパスワードを入力します。入力したらConfigureボタンをタッチします。

 正しく設定されると図のような画面になります。

 設定が完了すると自動的にM5StickCが再起動します。再起動するとM5StickCに接続するためのAPIキーが画面に表示されます。なお、このAPIキーはファームウェアがバージョンアップしたりすると変わってしまいます。つまり、M5StickCハードウェア固有の番号(ユニークID、MACアドレス等)ではありません。

 これでM5StickC側の設定はすべて完了です。

UIFlowを起動

 まず、M5StickCの電源を入れます。次にブラウザで以下のページにアクセスします。

https://flow.m5stack.com/

 アクセスすると図のような画面になります。(設定済みの場合やアップデート等によって図のような選択画面にならないこともあります)
ここではUIFlow 1.4.5を使用しますので図の左側のUIFlowの文字(ボタン)をクリックします。なお、この選択画面を表示したくない場合は「Always choose this version」にチェックマークを入れてから選択します。

 選択すると図のようなダイアログが表示されます。Api Keyの欄にはM5StickCの画面に表示されているAPIキーの番号を入力します。Languageは日本語を選択します。DeviceはStick-Cを選択します。選択したらOKボタンをクリックします。

 するとUIFlowでプログラムを開発できる画面になります。

 M5StickCが接続されている場合は図のように表示されます。

 接続できなかった場合は図のように表示されます。

 M5StickCの電源が入っており、Wi-Fiにも接続できているのに接続できていない場合は、version : 1.4.5の右側にあるリロードボタンをクリックしてください。(素早く連続して押さないで下さい。3秒以上時間おいてリロードしてください)

 それでも接続できない場合は、接続するデバイスの種類がStick-Cになっているか確認してください(UIFlowの最初の画面です)。設定画面を出すには図の矢印で示すApi keyの文字をクリックします。

 設定が正しいにもかかわらず接続できない場合は、一度M5StickCをリセットしてください(本体左側のボタンを軽く押します)。リセットしても駄目な場合はM5StickCの電源を落としてから再度電源を入れてください(本体左側のボタンを6秒以上長押し)。
 また、Wi-Fi接続しているルーターに不具合がある場合も接続できません。これ以外の要因(開発元のサーバーに不具合)でも接続できない場合があります。どうしても駄目な場合は数時間後にUIFlowを起動してM5StickCを接続してみてください。

 無事にM5StickCがUIFlowで認識できればプログラム開発の準備は完了です。  次回からUIFlowと使ってM5StickCのプログラムを作成していきます。

著者 古籏一浩
プログラミングをベースにして面白そうなものはとりあえずやってみるというスタンス。複雑なものよりシンプルで楽しめるものが好み。最近は30年前に移植したゲーム(mz-700版 SPACE HARRIER)の話などを書いたりしています。
著者サイト:http://www.openspc2.org/