Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@koinori

【2021年4月版】『M5Stack Core2 for AWS - ESP32 IoT開発キット』 入門 前編 〜開封の儀〜

Zennにも投稿してます→『M5Stack Core2 for AWS - ESP32 IoT開発キット』入門 前編 〜開封の儀〜

M5Stack Core2 for AWS が到着いたしました。

「M5Stack Core2 for AWS」がやっと?入手できましたので環境準備と言いますか、Getting Start を動かしてどんな風に動いているのか、確かめてみたレポートをお届けしたいと思います。

まずは パッケージ、ですがスイッチサイエンスのサイトでは8000円以上で送料無料なので本体以外にも追いセンサしてしまい。。。

IMG_0449.png
どーーーん!!

・・・はい、M5Stack初心者ですがどっさり購入してしまいました。

しかし改めて感じるのは非常に小さい、ということですね。カタログのスペック考えたら色々てんこ盛りなのにこのコンパクトさ。
分かりにくいですが、以下のようなサイズ感です。

P_20210429_220321_1.jpg

下に敷いてあるPCはMacBookの13インチ、右側のiPhoneはSEなので小さいやつです。
で、M5Stack Core2と追いセンサ達です。
非常にコンパクトでパワフル、といった感じでございます。

これらのスペックというかセンサーは以下のようなものでございます。

  1. M5Stack Core2 for AWS

  • ESP32-D0WDQ6-V3。最大240 MHzのXtensa32ビットLX6デュアルコア
  • 2.4 GHz Wi-Fi
  • Bluetooth 4.2 BR/EDR、BLE
  • 16 MB フラッシュ、8 MB PSRAM
  • ATECC608Aハードウェア暗号化チップ内蔵
  • 2.0インチの静電容量性タッチスクリーン
  • SPM1423デジタルマイク
  • 内蔵スピーカー
  • プログラム可能な10個のSK6812 RGB LED
  • 6軸IMU(慣性計測ユニット)兼温度センサ
  • 振動モーター
  • microSDカードスロット(最大16GB対応)
  • 500 mAhリチウムバッテリ
  • 電源ボタン、RSTボタン
  • 画面前面にはプログラム可能な仮想タッチボタン3個
  • USB Type-C x 1
  • GROVE PORT-A, HY2.0-4P PORT-B,C
  • 底面の充電用POGO PINでI2C可能

2.環境センサユニット ver.2(ENV II)

  • SHT30 高精度デジタル温湿度センサ
  • BMP280 絶対大気圧センサ

3.赤外線送受信ユニット

  • 赤外線発信器
  • 赤外線受信器

4.PIRセンサユニット

  • パッシブ型赤外線センサ

5.回転角ユニット

  • 10kΩポテンショメーター搭載つまみ

・・・です。
特に Core2 の全部盛り感がハンパないです。てんこ盛りです。
また追いセンサについてもぼちぼちご紹介できればと思います。

環境構築

手元の環境は以下の通りです。

  • macOS Big Sur 11.3
  • Core i5 1.4GHz
  • 8G DDR3
  • VS Code

で、Androidに ESP RainMakerアプリを入れています。

Macでの始め方は AWS サイトの公式ガイドに従えばそのままちゃんと動きました。

さらっと流れをご紹介いたしますと、

  1. macOS 用のSilicon Labs CP210x driverをこちらダウンロードしてインストール。
  2. セキュリティの警告&確認でますが、許可
  3. PC再起動(しなくても認識してたけど念の為)
  4. VSCode のExtensionsから 'PlatformIO'を検索してインストール
  5. VSCode 再起動
  6. https://github.com/m5stack/Core2-for-AWS-IoT-EduKit.git をクローン
  7. USB-C ケーブルでCore2とMacを接続
  8. PlatformIOの'Devices'リストからCore2が接続されているUSBポートのIDをメモっておく
  9. スマホでアプリストアから 'ESP RainMaker' を検索してインストール
  10. ESP RainMaker でアカウント作るかGithubアカウントなどでログインして、使えるようにしておく

でOKです。
Core2に付属のケーブルはType-C=Type-A変換ケーブルでMacには刺さらないので、Macに付属のType-Cだけのケーブルで接続しています。
良好です。

いや、準備も簡単ですね〜。。。

Getting Start を動かしてみる。

さて、準備が整ったところで早速、"Getting Start"プロジェクトを動かしてみましょう。

  1. クローンしたリポジトリのGetting-Startedプロジェクトを開く
  2. PlatformIOからターミナルを開きpio run --environment core2forawsを叩く
  3. pio run --environment core2foraws --target uploadを叩く
  4. pio run --environment core2foraws --target monitor を叩く
  5. 先ほどメモったUSBポートのIDを入力

でしばらく待ちます。
ただし、uploadしてからCore2の画面に灯が灯る前にmonitorしないとQRコードのログが流れてしまうので要注意です。uploadしたらさっさとmonitorしておきましょう。

スクリーンショット 2021-04-29 22.30.14.png

後はスマホでBluetoothとWiFiをオンにし、ESP RainMakerアプリから "Add Device" でQRコードを読ませると Core2 と通信してゴニョゴニョとセットアップをやってくれます。

通信時のログでは AWSのMQTTに接続していることが読み取れます。

[0;32mI (178777) app_wifi: Provisioning successful␛[0m
␛[0;32mI (178807) esp_rmaker_mqtt: Initialising MQTT␛[0m
␛[0;32mI (178807) esp_rmaker_mqtt: Connecting to xxxxxxxxxxxxx-ats.iot.us-east-1.amazonaws.com␛[0m
␛[0;32mI (178807) esp_rmaker_mqtt: Waiting for MQTT connection. This may take time.␛[0m
␛[0;32mI (181317) esp_rmaker_mqtt: MQTT Connected␛[0m

なるほど、Core2からAWS IoT Core の MQTT経由している、ということが確認できました。
MQTTについては以下の公式ドキュメントも後で読んでおこう・・・

というか今更ですがこれ、WiFi 環境必須ですね。まぁ、無ければPCにUSBのWiFi挿してそっちを親機にする、とかでなんとかなりますか。

さて、しばらくするとCore2側で以下のような画面に変わります。

IMG_0451.png

そして、スマホのRainMakerアプリでは、

Screenshot_20210429-223203762.jpg

のように3つの"機器"が追加されました。
どうやらこの3つの"機器"をスマホからリモートでコントロールできるようなイメージなんですね。なるほど!

これらの"機器"をタップすると詳細が表示されます。
まず、'Light'から見てみましょう。

Screenshot_20210429-223306337.jpg

機器の名称とオンオフ、そしてHSVでの調光が可能な模様です。

試しにLightをオンにしてゲージを以下のようにいじってみると

Display_House_Light_Control.png

画面に表示されているのお家の窓の色が変わります。Core2 本体に付いている LED の色も変わります。

Display_House_Light.png

芸が細かい!ただしLEDを直接カメラで撮ると白く飛んでしまうので反射光で感じてください。。。
多少のタイムラグは当然ありますが(MQTTでus-east-1まで飛んで帰ってきてるんで)、スマホの操作で機器がリモート操作、双方向通信できてるのが確認できます。

続いて Fan の機器を見てみましょう。

Screenshot_20210429-223322256.jpg

こちらは換気扇をエミュレート?しておりまして、PowerをONにすると振動モーターが回ります。
スピードも5段階調整できます。
ちなみにこれはCore2の前面のタッチパネルからも操作できます。
振動モーターが起動するとFanが回っているアニメーションに変わります。

Display_Fan_Roll.png

スピードに合わせてFanのアニメーションも回転速度が変わります。こちらも芸が細かい。
振動モーターがブリブリ回っているのをお伝えできないのが誠に残念です。。。

最後に Temperature Sensor です。

Screenshot_20210429-223315818.jpg

これはそのまま温度計、ですね。ただしCore2内部の温度ですので、画面では摂氏(C)表記ですが室温とはズレがあります。
画面の温度計も温度に連動してバーが上下しています。
Display_Thermometer.png
先程のLEDを点灯させている時の画像と比べると微妙に温度計の目盛りが変わっているのがわかると思います。細いのでわかりにくいですが・・・

Getting Started プロジェクトの動作確認は以上です。ざっくりですが、機器とスマホがそれぞれどのような動きをするかのイメージは掴んでいただけたかと思います。

それでは後編として、"Getting Started" プロジェクトの中身について探っていきたいと思います。

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What is going on with this article?