2018年11月11日日曜日

M5Stackを使ってみる

M5Stack」は、ESP32を搭載し、Wi-FiやBluetoothも利用可能な小さな(5cm角)マイコンボードです。ColorLCD(TFT 320*240)を搭載し、SDカードスロットもついています。拡張モジュールによって機能を追加することができるため、やりたいことをスマートに実現させるガジェットとしては申し分なく、コンパクトなAll in Oneマイコンボードと言えると思います。Arduino IDEでの開発が可能なため、手軽に始められると思って購入してみました。
スイッチサイエンスマガジンでも紹介されています。「M5Stackであそぼう

今回参考にしたのは、公式サイトにあるMacOS向けのページです。もともと、Arduino IDEを使っていたので、今回は、インストール作業をしませんでしたが、まだインストールしていない場合は、先述のサイトからお使いの環境に合ったものをダウンロードしてインストールしてください。

次に、USBドライバのインストールなのですが、Silicon LabsCP2104を使っているようなので、それに合わせてSiLabs CP2104 Driverをインストールします。今回は、こちらもインストール済みだったので、インストール作業はしませんでした。

続いて、ターミナルを起動し、以下のコマンドを丸ごとコピーして貼り付けてから、最後にEnterキーを押します。ちょっと長くて意味がわからない感じがすると思いますが、パソコンとESP32とのやりとりができるようにするために、インターネットを介して必要なファイルをダウンロードして、あるべき場所に配置する作業をしているようです。

mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32 && \
git submodule update --init --recursive && \
cd tools && \
python get.py

すべて一度にコピー&ペーストした方が、手間がかからなくて済みます。一つ一つ確かめながらやりたい場合には、1行ずつやって頂いても結構ですが、その場合は「&& \」は、必要ありません。

続けて、Arduino IDEを使って、M5Stackのライブラリーをインストールします。Arduino IDEを起動して、「スケッチ」メニューから、「ライブラリをインクルード」→「ライブラリを管理…」と選択していきます。出てきた画面上の検索窓に「m5stack」と入力します。すると、「Library for M5Stack Core development kit」という項目が現れるので、これを選択してインストール作業を行います。アップデートがある場合には、アップデートもお忘れなく。

Arduino IDEを一度閉じてから再び起動し、M5Satckの本体(Core)をUSB Type-Cに対応したケーブルでパソコンに接続します。今回は、自宅のMacを使っていますので、以下はMacでの動作確認となります。ここからは、「小型万能マイコン「M5Stack」で自分だけのクソダサいスマートウォッチを作る」を参考に、M5Stackの画面に時刻を表示することにしました。
#実は、M5Stackをスマートウォッチ風にする「M5WATCH」を購入していて、何かできないかなと思っていたのでした。

Arduino IDEの「ツール」メニューから「ボード」→「M5Stack-Core-ESP32」と選択します。同じく、「ツール」メニューから「シリアルポート」→「/dev/cu.SLAB_USBtoUART」と選択し、準備は完了です。「スケッチ」メニューから「スケッチ例」→「M5Stack」→「Advanced」→「Display」→「TFT_CLOCK_DIGITAL」とたどって選択し、コンパイルしてM5Stackに流し込んだら、画面に時間が表示されました。まだまだおもしろいことができそうです。これから、スケッチ例も参考にしながらなにができるかやってみたいと思います。
#ちなみに、今回のデジタル時計は、電源を切ってしまうと時間がリセットされてしまうので、注意が必要です。