M5StackをArduinoとして使う手順、2018年6月28日時点版
公式サイトの手順はarduino-esp32のインストールとm5stackライブラリのインストールでページが分かれていて、すこしややこしかったので現時点での手順を1ページにまとめてみました。
注:以下の手順は古いです。Arduino IDEのボードマネージャからESP32を選べるようになったそうです(2018/8/8 追記)
USBドライバのインストール
CP210xというUSBシリアルのドライバをダウンロードしてインストールする。
Windows10(Universal)
https://www.silabs.com/documents/public/software/CP210x_Universal_Windows_Driver.zip
Windows7/8/8.1
https://www.silabs.com/documents/public/software/CP210x_Windows_Drivers.zip
公式サイトをよく見るとUniversal版(v10.1.1)は使っちゃダメで、v6.7.1を使えと書いてあるけど、ドライバのサイトで公開されているUniversal版(v10.1.3)で問題なく使えている。バージョン少し上がっているのでたぶん使えるようになったのだと思う。Windows10の人はUniversal版で多分大丈夫です。7のひとは7用を使いましょう。
Arduino IDEのインストール
Arduino(Windows版)をダウンロードしてインストールする。
https://www.arduino.cc/download_handler.php?f=/arduino-1.8.5-windows.exe
Gitのインストール
ESP32(M5Stackに搭載されているマイコン)をArduino IDEで使うための環境入手にgitが必要(これが面倒でくじける人が多いと思う)。32bit版のWindowsを使っている人は32bit版を使いましょう。
64bit版
https://github.com/git-for-windows/git/releases/download/v2.18.0.windows.1/Git-2.18.0-64-bit.exe
32bit版
https://github.com/git-for-windows/git/releases/download/v2.18.0.windows.1/Git-2.18.0-32-bit.exe
ArduinoIDEをESP32に対応させるarduino-esp32をgit cloneする
手順の途中で「Arduinoスケッチブックの場所」というのが必要になるので、最初にその場所を確認する。
Arduinoというアプリがインストールされているはずなので、それを起動する。
ファイル – 環境設定 を開くと、「スケッチブックの保存場所」という項目があるのでそのパスを覚えるか、どこかにコピーしておく。
次に、Git GUIというアプリがインストールされているはずなので、それを起動する。
「Clone Existing Repository」を選ぶ。
Source Locationに次のURLを入力する。
https://github.com/espressif/arduino-esp32.git
Taget Directoryに先ほど記憶した「スケッチブックの保存場所/hardware/espressif/esp32」を指定する。(espressif以降のフォルダは存在してないので自分で新規作成した)
Cloneボタンを押すとリポジトリのクローンが始まる。
サブモジュールをアップデートする
クローンが終わったら、Git Bashというアプリを起動して、「スケッチブックの保存場所//hardware/espressif/esp32」に移動して次のコマンドを実行する。(CUI力が求められる)
このコマンド実行で2つのサブモジュールの内容がgit cloneされる。
git submodule update --init --recursive
get.exeを実行する
エクスプローラで「スケッチブックの保存場所//hardware/espressif/esp32/tools」を開いてgetという実行ファイルをダブルクリックしてなにかをゲットする。(10分以上かかります。外のネットワークに出るのにProxyを通さないといけない環境ではダウンロードがうまくできないこともあるようです。)
おつかれさまでした。これでArduinoでESP32のバイナリが生成できるようになりました。
M5Stackのライブラリをインストールする
ArduinoからM5Stackの液晶やボタンなどを簡単に扱えるように、M5Stackライブラリをインストールします。
Arduinoアプリを起動して、
メニューのスケッチ – ライブラリをインクルード – ライブラリを管理 を開きます。
右上の検索フィルタ欄にm5stackと入力すると、”M5Stack by M5Stack”という項目が見えるので、クリックして、インストールボタンを押します。
ボードの設定をする
ライブラリのインストールが終わったら、Arduinoのウインドウに戻ってボードの設定をします。
以降すべて メニュー – ツール の中の項目です。
- ボード:”ESP32 Dev Module”
- Flash Mode:”QIO”
- Flash Frequenry:”80MHz”
- Flash Size:”4MB(32Mb)”
- Partition Scheme:”初期値”
- Upload Speed:”921600″
- Core Debug Level:”なし”
- シリアルポート:”M5Stackをつなぐと1つだけCOMXXが見えていると思います”
- 書込装置:”AVRISP mkII”
なにかを書き込んでみる
メニューのファイル – スケッチ例 – (かなり下のほうに)M5Stack から Games – Tetris など、適当に選んで、メニューバーの(→)ボタンを押すと、コンパイル&書き込みが始まります。わりと時間がかかるのでじっくり待ちます。うまくコンパイルと書き込みが終わると、M5Stackが自動でリセットしてテトリスが起動します。
しゃべってもらう
ESP32用のAquestalkを導入する。
手順は次の2つのページを 参照。
ESP32で音声合成(AquesTalk pico for ESP32)
AquesTalkを使ってみたプログラム。LED点灯用のライブラリなども使っているのでWS2812FXとAdafruit NeoPixelというライブラリをインストールしておかないとビルドできないと思います。あと、マイクロSDカードから画像を読み込んでいるのでそれも準備が必要です。出だしで時刻取得のためにWifi接続してますが、時間をしゃべる機能を削ってしまったので意味なしですね・・・
(espressif以降のフォルダは存在してないので自分で新規作成した)
これを誤解して断念する人の方が多いでしょうね
コメントありがとうございます。
たしかにそうですね。つまづきポイントが多くてちょっと触ってみようと思う人がやる気なくしてしまうのがもったいないと感じます。
ボードマネージャからインストールできるようになったのはかなりありがたいです。