LoginSignup
8
4

More than 5 years have passed since last update.

M5Balaを動かそう!

Last updated at Posted at 2018-10-11

M5Stack、M5Bala とは

M5Stack

M5Stackとは香港のお隣、中国広東省深圳市に本社を構えるM5Stack社(中国名:深圳市明栈信息科技有限公司)が開発、製造、販売している製品群のシリーズ名です。

特徴はESP32 (Espressif Systems)というマイコンをコアに採用しており、無線LAN1やBluetooth1、様々なペリフェラルが利用可能です。またディスプレイを搭載しているため、簡単な情報を表示したりすることもできます。さらに小型ながらバッテリーを内蔵しているため、短時間であれば単体でも動作することができます。

M5Bala

M5BalaはM5Stack向けのバランスカー・モジュール2です。写真下部、タイヤの付いてる部分がそれになります。スイッチサイエンスで購入可能です。また注意点としてスイッチサイエンスのページにも書かれていますが、M5Balaを実際に利用する際には別途M5Stack Fireが必要になります。

M5Satck-New-BALA-Car-ESP32-Development-Mini-Electric-Self-balancing-Car-2DC-Motor-with-Encoder-PSRAM.jpg_640x640.jpg

ちょうど日本でも発売になったという記事を見つけました。
ツクモで売ってるみたいです。

この記事の目標

今回はUIFlowでM5Balaを実際に動かすところまでやっていきます。

はじめる前に

利用可能なプログラミング言語

M5Stackで使用可能なプログラミング言語は大まかに以下の三種に分類されます。今回はMicroPythonを使っていきます。

開発環境

オンライン

Webを利用したオンライン開発環境が準備されているので、そちらを利用して開発を行うことが可能です。今回はこちらのUIFlowを利用します。

オフライン

ローカルで開発する際のIDEも複数利用可能です。MicroPythonで開発する場合は、VSCodeにPlatformIO IDEエクステンションをインストールして使うのがオススメです。

ドキュメント

正直なところドキュメントはまだまだ未整備な感が否めませんが、徐々に充実していくと思います。何かわからないことがあれば、公式フォーラム@M5Stackに質問をすると優しい人が答えてくれると思います。

事前準備

ハード

ソフト

UIFlowでM5Balaが動くまで

1.まず自分のPCとM5Stack Fireを付属のUSBケーブルで接続します。
2.UIFlow公式サイトにアクセスします。サイトが表示されたら右上の歯車のアイコンをクリックしてください。
スクリーンショット 2018-10-11 15.33.31.png
3.次にFirmwareをダウンロードします。
スクリーンショット 2018-10-11 15.35.20.png

4.ダウンロードしたZipを解凍すると以下のような構成になっていると思います。

M5Burner-flow-only
├── M5Burner.exe
├── M5Burner.exe.config
├── M5Burner.pdb
├── Newtonsoft.Json.dll
├── Newtonsoft.Json.xml
├── UpdateLog.md
├── firmwares
│   ├── M5Flow
│   │   ├── v0.6
│   │   │   ├── firmware_0x1000.bin
│   │   │   ├── flash.sh
│   │   │   ├── readme.md
│   │   │   └── spiffs_image_0x150000.img
│   │   ├── v0.6.1
│   │   │   ├── firmware_0x1000.bin
│   │   │   ├── flash.sh
│   │   │   ├── readme.md
│   │   │   └── spiffs_image_0x150000.img
│   │   ├── v0.7.0
│   │   │   ├── UpdateLog.md
│   │   │   ├── firmware_0x1000.bin
│   │   │   ├── flash.sh
│   │   │   └── spiffs_image_0x150000.img
│   │   └── v0.7.1
│   │       ├── UpdateLog.md
│   │       ├── firmware_0x1000.bin
│   │       ├── flash.sh
│   │       └── spiffs_image_0x150000.img
│   └── firmware.json
└── tools
    └── esptool.exe

5.現時点(2018/10/11現在)だと最新版がv0.7.1なので、ディレクトリに移動して、ファームウェアをM5Stackに書き込みます。

linuxまたはmacの場合
$ cd 解凍した場所/M5Burner-flow-only/firmwares/M5Flow/v0.7.1/
$ sh flash.sh
winの場合
M5Burner.exe をダブルクリックして実行してください

6.linux、macの場合は以下のような感じになったら成功です。
写真ではケーブルが挿さったままですが、これ以降はケーブルを抜いて作業しても問題ありません。

結果
esptool.py v2.5.0
Serial port /dev/tty.SLAB_USBtoUART
Connecting........__
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse
MAC: 12:34:56:78:9a:bc
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 961200
Changed.
Configuring flash size...
Auto-detected Flash size: 16MB
Flash params set to 0x0240
Compressed 1351984 bytes to 842141...
Wrote 1351984 bytes (842141 compressed) at 0x00001000 in 13.4 seconds (effective 808.7 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
esptool.py v2.5.0
Serial port /dev/tty.SLAB_USBtoUART
Connecting........____
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse
MAC: 12:34:56:78:9a:bc
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 16MB
Compressed 2818048 bytes to 765300...
Wrote 2818048 bytes (765300 compressed) at 0x00150000 in 18.3 seconds (effective 1230.2 kbit/s)...
Hash of data verified.

Leaving...
Staying in bootloader.

7.M5Stackの横のスイッチを押します。

WechatIMG1.jpeg

8.リセットがかかり再起動後、以下の画面が出たらsetupボタン(Cボタン)を押します。プリセットのアプリが表示されてしまったら、再度横のボタンを押してやり直してください。
WechatIMG2.jpeg

9.wifi setup画面が表示されるので、「Change WIFI Connect」を選択し、Selectボタン(Bボタン)を押します。
WechatIMG3.jpeg

10.この画面が表示されたら、表示されているSSIDにスマホかパソコンで接続します。
WechatIMG4.jpeg

11.ブラウザを開き、「192.168.4.1」にアクセスします。そして、自分が普段使っているSSIDとパスワードを入力し、Configureボタンをクリックします。
WechatIMG5.jpeg

12.接続がうまくいくとこのような画面が表示され、自動的に再起動します。
WechatIMG6.jpeg

13.再度setupボタンを押して、wifi setup画面に遷移したら、先ほど設定したSSIDを選択し、selectボタンを押します。
WechatIMG7.jpeg

14.2次元コードが表示される画面に遷移したら、APIKEYをメモします。また右上にある丸が赤から緑に変わったらオンラインになった証拠です。(画像ではすでにオンライン)
WechatIMG10.jpeg

15.先ほどファームウェアをダウンロードした画面に戻り、メモしたAPIKEYを入力し、Saveボタンをクリックします。これで開発の準備が整いました。
スクリーンショット 2018-10-11 16.58.34.png

16.試しに左側のTitleを写真のようにドラッグ&ドロップしてみてください。青いタイトルバーが表示されると思います。
スクリーンショット 2018-10-11 17.37.15.png

17.タイトルバーの部分をクリックすると右側にプロパティが表示されるので、色々変更してみてください。
スクリーンショット 2018-10-11 17.43.53.png

18.次にModules -> Bala -> M5Bala Startを選択し、右にドラッグ&ドロップしてください。
スクリーンショット 2018-10-11 17.45.45.png

19.このままだと動きませんので、M5Bala StartブロックをSetupの下までドラッグ&ドロップします。ブロック同士がうまく接続されるとブロックの色が黒から紫に変わると思います。
スクリーンショット 2018-10-11 17.46.23.png

20.M5StackとM5Balaが接続されていることを確認したら、最後に再生ボタンを押すとプログラムが実機に配信されて実行されます。
スクリーンショット 2018-10-11 17.46.59.png

21.うまくプログラムが配信されたら、バランスを取りながら倒れないように動いてくれるはずです。うまくいかない場合は、M5Stack FireやM5Balaをリセットしてみてください。
image-1536808800448.png

22.おまけですが、左上のプログラム名を変えて、実機へアップロードを行うと実機のAppListに自分の作成したプログラムが登録されます。(写真がなぜか横になってしまう・・・)
試しにプログラム名を「NEWGAME」として実機へアップロードします。
スクリーンショット 2018-10-11 18.10.05.png
アップロード中・・・
WechatIMG11.jpeg
リセット・・・
WechatIMG12.jpeg
APP.LISTボタンを押します。
WechatIMG13.jpeg
自分の作成したプログラムが一覧に登録されているので、選択して実行すると動きます。
WechatIMG14.jpeg

次回予定

GitHubにあるサンプルプログラムを見ながら、どういう風に動いているのかを確認していきたいと思います。


  1. 技適取得済み 

  2. 専門用語では倒立振子(とうりつしんし)というらしい。参考 

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4