M5GO IoT Starter Kitを触ってみた

ようやくM5Stackデビューしました!

M5GO IoT Starter Kit

M5GO IoT Starter Kitとは、M5CoreとUNITと呼ばれる各種センサー類が同梱されているIoTプログラミング学習キットです。

身近なところだと、スイッチサイエンスでも入手可能です。

M5GO IoTスターターキット – スイッチサイエンス

製品ドキュメント M5Stack – A series of modular stackable development devices

今回は、M5GO IoT Starter KitにいくつかUNITを加えたものを借りることができたので、どんな事ができるのか把握するためにざっと触ってみました。

UIFlow

M5Coreは、ESP32ベースでArduino IDEのほか、UIFlowというBlockyベースのビジュアルエディタでも簡単にプログラミングをすることができます。なので、小学生でもESP32とその周辺機器やネットワークまでお手軽に使えそうです。

画面上部の「</>Python」を選択すると、MicroPythonでもコーディングが可能です。ビジュアルエディタでコーディングしていた人も、Pythonの勉強ができちゃいますね。

というわけで、M5CoreのIMU(加速度、ジャイロ、磁気を計測可能な9軸センサ)を使って傾きを画面に表示してみました。

次に、いくつかUNITも触ってみます。UIFlowの「Units」をクリックすると、UNITの一覧が表示されます。その中から使うUNITとポートなどを指定すると、それに必要なプログラミングブロックも表示されます。

ENV. SENSOR UNIT

気温・湿度・気圧を測定できます。Units > 環境 に関連ブロックが用意されているので、画面に配置したラベルに表示させます。

センサーを手で覆ったあとの温湿度の変化を見ると、それなりにスムーズに測定できてる感じです。

MOTION SENSOR UNIT

MOTION SENSOR UNITはいわゆる人感センサー。PIR(Passive Infra Red)赤外線センサーともいって、周囲の温度変化を感知して動作します。プログラムはたったこれだけ!

TOF UNIT

UNITには「DISTANCE VL53L0X」とも表記されていますが、距離を測るセンサーです。単位はミリメートルのようです。

RGB LED UNIT

3つのLEDをそれぞれカラー制御することができます。

ANGLE SENSOR UNIT

これは、センサーというより0〜1024までをダイヤルで指定するUNITのようです。

LIGHT UNIT

明るさを、アナログ値とデジタル値で取得できるセンサーです。

EARTH UNIT

土壌の湿度を計測するセンサーです。水に浸して動作させてみました。

というわけで、いずれのセンサーもブロック一つもしくは1〜2行で値が取得できてしまいました。

お手軽すぎて改めてびっくりです。

MQTT

M5GOで取得した計測値をMQTT(Message Queuing Telemetry Transport)を使って転送してみました。

MQTTブローカーにはCloudMQTTを使いました。

M5Stackでは、

  1. CloudMQTTに接続
  2. ループ
    1. 温度、湿度、気圧を測定し、変数に格納
    2. M5Stackの画面に表示。
    3. パブリッシュする。
    4. 1秒停止

という処理をしています。

Subscribe側は、iPhoneのMQTToolというアプリを使いました。

M5Coreの計測値が、iPhoneへスムーズに転送されてきました。

感想

M5GOはUIFlowでESP32の敷居を下げてくれるとても良くできたIoTキットだと感じました。サンプルコードやチュートリアル動画もたくさん用意されているし、もちろん、キット以外のUNITやモジュール、アクセサリやベースなど多岐にわたったパーツが用意されているし、それ以外の入出力を使うこともできるので、拡張性はまさに無限大です。まずはキットを購入してから、色々試しながら少しずつパーツを買い足していくのが良いかも。

同じBlockyベースなプログラミング環境を使うmicro:bitがSTEM用途メインなのに比べて、M5GO(M5Stack)はSTEMからIoTのプロトタイピングまで十分カバーできそうです。

というわけで、今回はM5Stackの基本的な使い方がわかったので、もう少しモクモクしてからCoderDojoでも紹介してみたいと思います!


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください