#免責事項
本記事はWindows 環境でM5Stack を扱うための最初の手順を、個人メモとして纏めたもので、記事の内容を100%保証するものではありません。
また、内容の正当性に関して、いかなる保証もするものではありません。万が一、本記事の内容に誤りがあり、問題が生じた場合でも一切責任を負いかねますのでご了承下さい(間違い等の指摘があれば適宜修正はしたいと思いますが)。
尚、本記事の内容は予告なしに変更、または削除することがあります。
はじめに
M5Stack はカラーディスプレイ、microSD スロット、スピーカを搭載したArduino コンパチブルな四角いモジュールで、搭載されているESP32 により、Wi-Fi、Bluetooth 通信も扱え、充電池も内蔵されています。USB ケーブルで接続することで充電やPCとの通信を行います。
また、本体と同形の拡張モジュール(GPS 等をはじめ、プロトタイプ用のものもあり)をスタッキングしていくことで、機能を拡張することができます。
- 公式サイト: http://m5stack.com/
- GitHub:https://github.com/m5stack
というわけで、はじめから色々準備されていて触りやすいのですが、開発方法がいろいろあって、最初の準備が分かりづらいので、Windows での手順をメモがてらまとめてみました。
尚、利用したM5Stack はBasic モデルに加速度、ジャイロ、磁気を計測可能な9軸センサ、MPU9250 を搭載したモデルM5Stack Gray になります。
開発手順
M5Stack は以下のような開発方法が利用できます。
- Arduino IDE での開発
- M5Stack をWiFi に接続し、[m5cloud](http://cloud.m5stack.com/ m5cloud) に接続することで、ブラウザによってクラウド経由でコード開発(MicroPython)。
-
- のオフライン版ファームを利用してのコード開発(MicroPython)。
開発環境の切り替えは、ファームウェアをダウンロードしてきて、M5Stack に転送することで行います。Arduino IDE の場合はArduino IDE 用に用意されたモジュール内のesptool から、m5cloud の場合はespressif.comの用意しているFlash Download Tools (ESP8266 & ESP32)を利用して転送します。
という訳で、それぞれの場合を見てましょう。
1. Arduino IDE 開発の場合
PC にArduinoIDE をインストールして、USB ケーブルで接続して開発します。公式サイトでは以下のページで手順が紹介されています。
1-1. Windows マシンにUSB ドライバをインストール
SiLabs CP2104 Driverをダウンロードし、インストールします。
公式ガイドの但し書きによると、Windows10 の場合はUniversal ドライバ(v10.1.1) は入れず、古いバージョンのものを使用してね、とありますが私の環境はWindows 8.1なのでv6.7.5 のドライバをダウンロードして入れました。
1-2. arduino.cc からArduino IDE をダウンロード、インストール。
以下のURL からArduino IDE をダウンロードし、インストールします。
私の環境では、既存のArduino IDE がありましたが、最新版の1.8.5 のインストーラ版を上書きインストールしました。
1-3. スケッチブックの保存場所を確認
Arduino IDE を起動し、「ファイル」>「環境設定」で「スケッチブックの保存場所」のフォルダを確認し、閉じます。
1-4. git からモジュールコピー
公式サイトの手順ではgit クライアントをインストールしていますが、今回は手動でコピーして配置しました(git をインストールした場合には、モジュールの更新があった場合は楽になります)。
1-3 で確認したフォルダ以下に「hardware\espressif\esp32」フォルダを作成します。以下のページを開き、右にある「Clone or download」からZIP をダウンロードし、作成したフォルダ内に中身を展開します。
1-5. esptool.exe の配置
1-4 で展開したフォルダ内の「tools」フォルダ内にある「get.exe」をダブルクリックします。ファイルがダウンロードされ、正常終了すると「esptool.exe」ファイルが増えます。
1-6. Arduino IDE へのライブラリ設定
M5Stack をUSBケーブルで接続します。デバイスマネージャなどでCOM ポートの接続先を確認します(以下の図ではCOM3)。
Arduino IDE を起動し、「スケッチ」>「ライブラリをインクルード」>「ライブラリを管理」を選択します。表示されたダイアログで「m5stack」でフィルタリングすれば、目的のライブラリが表示されますので、「インストール」ボタンを押します。
1-7. ボード設定
Arduino IDE の「ツール」>「ボード」で「M5Stack-Core-ESP32」を選択します。「シリアルポート」を1-6 で確認したCOM ポートに設定、Upload Speedを「115200」に設定します。
1-8. サンプルファイルの実行
Arduino IDE の「ファイル」>「スケッチ例」以下にサンプルがあるはずです。
コンパイルして書き込んで実行してみましょう。
2. m5cloudによるオンラインMicroPython 開発の場合
クラウドを使って、Web 上のIDE からMicroPython で開発できます。公式サイトでは以下のページで手順が紹介されています。
2-1. Windows マシンにUSB ドライバをインストール
1-1 と同様の手順でUSB ドライバをインストールします。
2-2. 書き込みツールのインストール
espressif.comの用意しているFlash Download Tools (ESP8266 & ESP32)を利用してファームの書き込みを行います。
ダウンロードして展開し、適切な場所に配置して下さい。フォルダ内にある「ESPFlashDownloadTool_XXXX.exe」が本体になります。
2-3. ファームをダウンロード
m5cloud 版のファームを以下よりダウンロードします。尚、ファイル名に「psram」の文字があるものは、2018年モデルの4MB メモリのM5Stack 向けのもののようですので、通常はファイル名に「psram」の文字のないもので良いかと思います。
2-4. ファームの書き込み
M5Stack をUSBケーブルで接続します。デバイスマネージャなどでCOM ポートの接続先を確認します(以下の図ではCOM3)。
2-2 で用意した「ESPFlashDownloadTool_XXXX.exe」をダブルクリックします。以下のような画面が出たら「ESP32 DownloadTool」をクリックします。
ダウンロードしたファームを選択し、@の後ろの欄に「0x1000」と入れます。また、「COM」欄に確認したCOMポートを設定します。「ERASE」ボタンを押してクリアした後、「START」ボタンを押すとファームが書き込まれます。
ここから先の手順については@inachi さんのこちらの記事が詳しいので省略します。
3. オフラインMicroPython 開発の場合
PC とUSB ケーブルで接続して、シリアル接続でMicroPython によって開発できます。
3-1. Windows マシンにUSB ドライバをインストール
2-1 と同様の手順でUSB ドライバをインストールします。
3-2. 書き込みツールのインストール
3-1 と同様の手順で書き込みツールをインストールします。
3-3. ファームをダウンロード
オフライン版のファームを以下よりダウンロードします。今回「m5stack-20180228-v0.3.4.bin」を試したところ、うまくいきませんでしたので、1つ前の「m5stack-20180206-v0.3.3.bin」をダウンロードしました。
3-4. ファームの書き込み
2-4 と同様の手順でファームの書き込みを行います。
3-5. シリアル接続とコードの書き込み
ファームの書き込みツールを閉じた後、Tera Term で接続します。「設定」>「シリアルポート」で「ポート」に3-3 で確認したCOMポートを、ボーレートに「115200」を設定します。
M5Stack をリセットすると、Tera Term でブートログが見れるはずです。
リターンキーを何度か押すと入力できるはずです。help()
でヘルプが見れますが、CTRL + e
でペーストモードに入りますので、コピーしたソースを張り付け、CTRL + d
で終了できます(キャンセルはCTRL + c
)。
M5Stack をリセットすると書き込んだプログラムが起動します。