M5Stack

M5Stackとセンサで快適なリモート環境を整備しよう!【第1回】

M5Stackでのリモートワーク・デバイス作りに必要なもの

 

こんにちは、ヨシケンです!

日頃からArduino互換モジュールのM5Stackシリーズを使って、さまざまな電子工作をしていますが、今回はM5Stackを使ってリモートでの勉強や仕事を便利にするデバイスを作りたいと思います。

 

M5StackシリーズにはBluetoothが付いているので、パソコンにBLE接続して、Web会議システムでおこなうリモート会議をM5Stackから操作できるようにします。また、センサを付けて、勉強や仕事環境の状況を測定し、それに合わせて電気や加湿器などを操作して、快適なリモートワーク環境にしようと思います。

[M5Stackでリモートワークを便利に!]

今回の記事の流れ

  1. 今回使用するM5Stackシリーズについて
  2. このデバイスを作るのに必要なもの
  3. このデバイスの機能と学べる事
  4. M5Stackの開発とパソコンへの接続
  5. まとめ

 

1. 今回使用するM5Stackシリーズについて

M5Stackは深センのM5Stack社が提供する、ESP32を使ったArduino互換開発モジュールです。Wi-FiとBLEが内蔵されたEspressif社のESP32基盤を使っているので、Arduinoと同様に開発が手軽にできるようになっています。M5Stackシリーズのほとんどのものは始めからBluetoothがついているので、ここからパソコンなどに接続することが可能です。

 

今回は、M5Stack Basicと一番小さいM5Atomを使って、家でのリモートワークに便利に使えるデバイスを作っていきたいと思います。仕事の会議だけでなく、学生のリモートでの参加にも使えるようなものにしようと思います。

[ 左からM5Stack BasicM5StickC PlusM5Atom Matrix ]

 

シリーズ M5Stack Basic M5StickC Plus M5Atom Matrix
外観
チップ ESP32-D0WDQ6 ESP32-D0WDQ6 ESP32 Pico
メモリ 520KB RAM 16MB Flash 520KB RAM 4MB Flash 520KB RAM 4MB Flash
無線接続 Wi-Fi/Bluetooth Wi-Fi/Bluetooth Wi-Fi/Bluetooth
大きさ 5.4 x 5.4 x 1.7 cm 4.8 x 2.5 x 1.3 cm 2.5 x 2.5 x 1.4 cm
ディスプレイ 320 × 240 カラーTFT (2 inch) 135 × 240 カラーTFT (1.14 inch) 5 x 5 RGBマトリクスLED
センサ類 MPU6886 (加速度センサ)
BMM150(地磁気センサ)
マイク無
スピーカ有
microSD slot
MPU6886 (加速度センサ)
マイク有
スピーカ無
マイク無
スピーカ無
バッテリ 150mAh @3.7V 120mAh @3.7V 無し
参考価格 5,800円程度 3,500円程度 2,500円程度

 

2. このデバイスを作るのに必要なもの

M5Stackを使ったデバイスを作るために、必要な部品は以下です。

リモード会議便利デバイスの部品群:

名前、説明 デバイス
M5Stack Basic
ESP32を搭載し、ディスプレイ、センサなども入ったArduino互換機
M5Atom
M5Atomのうち5×5のマトリックスLEDが付いたもの
M5Atom Battery
M5Atomに190 mAhバッテリを追加するモジュール
ローム照度・近接センサ
(RPR-0521RS) 赤外線を発しその反射光を測定して、光の強度や近接度を計測します。
人感センサ
赤外線により人を検知することができるセンサです。
M5Stackを接続するためのケーブル、外装部品など 適宜必要に応じて

これらの部品をそろえて、リモートワーク便利デバイスを作っていきます。

 

3. このデバイスの機能と学べること

今回のリモートワーク・デバイスでできることは以下のようなものがあります。また、これを作る過程で学べることも列挙してみます。

 

リモートワーク便利機能

機能
1 M5Stackからリモートで、Web会議システムのミュートON/OFFやビデオON/OFFなどの操作ができるようになる
2 Web会議が始まったら部屋の外の電球を光らせて、会議中をアピールし、家の人の不意な入室を避ける
3 仕事、勉強を始める時、デスク前に座ったら自動で環境(明るさ、空気清浄度など)をチェック
4 明るさ、環境の状況などにより、ライトやカーテン開け、清浄器などをオン

作る過程で学べること

学べること
1 M5Stack/M5Stick/M5AtomなどのArduino IDEでの開発の仕方
2 M5StackのBLE接続、キーボード操作のやり方
3 M5Stackから外部機器(電球等)への接続、操作方法
4 M5Stackとセンサ(人感センサ、明るさセンサ等)検知、電気ON/OFF

 

4. M5Stackの開発とパソコンへの接続

今回使用するM5StackやM5Atomでの開発は、通常Arduino互換機で使用するArduino IDE統合開発環境を使います。こちらのDevice Plusの記事Arduino利用編を参照して、ソフトウェアのインストールをしてください。Arduino IDEのインストールが終わったら、M5Stackの開発環境のセットアップです。左側の写真のように、USB-CケーブルでパソコンとM5Stackをつなぎ、きちんと接続できていることを確認してください。

 

また、M5Atomも同様にライブラリをインストール、セットアップしておきます。

https://github.com/m5stack/M5Atom

 

ダウンロードしたM5Stackライブラリにサンプルがいくつか付いているので、それを使ってみます。ファイル > スケッチ例 > M5Atomからサンプル・スケッチを流し込んで、動作を確認しておきましょう。

 

さらに、M5Stackとパソコンのキーボードをつなぐために、BLE Keyboardというライブラリをインストールします。これによりBLE経由でM5Stackからパソコンのキーボードを操作できるようになります。

 

まずこちらのGithubに行って、ZIP形式のライブラリファイルをダウンロードしてください。

https://github.com/T-vK/ESP32-BLE-Keyboard

 

右側の”Code”部分から、”Download ZIP”を押して、ファイルをダウンロードします。

 

このファイルを、Arduino IDEから”ライブラリをインクルード”を選んで、M5Stackで使えるようにしていきます。

 

先ほどのファイルを選んで、インストールします。

 

これでM5StackにBLE Keyboardライブラリが追加されました。サンプル・スケッチを使って、試してみましょう。こちらを参照してください。

 

[ ESP32 BLE Keyboard > SendKeyStrokes.ino ]

#include
BleKeyboard bleKeyboard;
 
void setup() {
Serial.begin(115200);
Serial.println("Starting BLE work!");
bleKeyboard.begin();
}
 
void loop() {
if(bleKeyboard.isConnected()) {
Serial.println("Sending 'Hello world'...");
bleKeyboard.print("Hello world");
delay(1000);
Serial.println("Sending Enter key...");
bleKeyboard.write(KEY_RETURN);
delay(1000);
Serial.println("Sending Play/Pause media key...");
bleKeyboard.write(KEY_MEDIA_PLAY_PAUSE);
delay(1000);
}
Serial.println("Waiting 5 seconds...");
delay(5000);
}

 

では、これをM5Stackに流し込んで、パソコンと接続できるか確認します。パソコン側でBluetoothの検索をすると、”ESP32 Keyboard”と出てくるので、それと接続します。

パソコンに接続後、メモ帳などを開いて、前面に出しておきます。

そうすると、M5Stackからワイヤレスで、”Hello world”と打たれるのが分かります。

どうでしょうか?結構簡単にM5StackからBluetooothでパソコンに接続できるのがお分り頂けたのではないでしょうか?

 

5. まとめ

今回の連載では、M5Stackとセンサを使って、自宅でのリモートワークを快適にするデバイスの製作を紹介していきます。

 

社会人でも学生でも、リモートで会議や授業などは当たり前になっていますが、それを便利にするデバイスで、M5StackシリーズはBluetoothがついているので、パソコンなどと簡単に接続することが可能です。今後はその機能を使って、Web会議システムを操作できるようにします。

電球などともWi-Fiで接続することができるので、リモート会議の状況に合わせて、部屋の外の人にそれを知らせることができるようになりますよ。また、センサなども簡単につなげるので、部屋の環境を測定して、それを快適にする仕組みも作りたいと思います。

 

今回で準備が整いましたので、次回以降は、本格的にデバイスの製作に入っていきます。

お楽しみに!

 

 

今回の連載の流れ

第1回:M5Stackでリモートワーク作りに必要なもの(今回)
第2回:M5StackでWeb会議システムを操作する
第3回:M5Stackとセンサを接続して快適環境作り
第4回:全てを組み合わせてリモートワーク・デバイスを作り上げる

普通の会社に勤めるサラリーマンですが、モノ作りが好きな週末メイカーで、電子書籍MESHBOOKを出したり、ブログを書いたりしています!

http://blog.ktrips.net


Arduino互換機(M5Stick-C)とセンサを使った衝突回避機能付きリモコンカーをつくろう!