M5Stackでのリモートワーク・デバイス作りに必要なもの
こんにちは、ヨシケンです!
日頃からArduino互換モジュールのM5Stackシリーズを使って、さまざまな電子工作をしていますが、今回はM5Stackを使ってリモートでの勉強や仕事を便利にするデバイスを作りたいと思います。
M5StackシリーズにはBluetoothが付いているので、パソコンにBLE接続して、Web会議システムでおこなうリモート会議をM5Stackから操作できるようにします。また、センサを付けて、勉強や仕事環境の状況を測定し、それに合わせて電気や加湿器などを操作して、快適なリモートワーク環境にしようと思います。
今回の記事の流れ
1. 今回使用するM5Stackシリーズについて
M5Stackは深センのM5Stack社が提供する、ESP32を使ったArduino互換開発モジュールです。Wi-FiとBLEが内蔵されたEspressif社のESP32基盤を使っているので、Arduinoと同様に開発が手軽にできるようになっています。M5Stackシリーズのほとんどのものは始めからBluetoothがついているので、ここからパソコンなどに接続することが可能です。
今回は、M5Stack Basicと一番小さいM5Atomを使って、家でのリモートワークに便利に使えるデバイスを作っていきたいと思います。仕事の会議だけでなく、学生のリモートでの参加にも使えるようなものにしようと思います。
[ 左からM5Stack Basic、 M5StickC Plus、M5Atom 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.h>
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回:全てを組み合わせてリモートワーク・デバイスを作り上げる