M5Stackで取得したデータを、Arduino IDEの「シリアルプロッタ」でグラフ表示するケースがあります。
USBケーブルでM5Stackとパソコンをつないだ状態で、Arduino IDEの「シリアルプロッタ」を開き、M5Stackから「Serial.println」などで数値データを書き出すと、その数値データが「シリアルプロッタ」上でグラフ表示されるというものです。
さて、このような使い方をする際には、用途によってはM5Stackをパソコンから少し離れた場所に置いておきたいことがあります。
M5StackとパソコンをUSBケーブルでつないでいると、M5Stackの設置場所に制約が生じてしまうため、Bluetoothを使ってM5Stackから数値データを書き出し、それを「シリアルプロッタ」でグラフ表示してみたいと思います。
「Bluetooth Serial」というライブラリを使います。
スケッチは以下のとおりです。
#include <M5Stack.h>
#include "BluetoothSerial.h"
BluetoothSerial bts;
void setup() {
M5.begin();
bts.begin("MSR IoT Device");
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(1);
M5.Lcd.setTextDatum(4);
}
void loop() {
int value = random(0, 1000);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.drawNumber(value, 160, 120, 8);
bts.println(value);
delay(1000);
}
1秒毎にランダムな数値(0〜999)を取得し、その数値を「Bluetooth Serial」を使って書き出しているだけのものです。
このスケッチをM5Stackに書き込みます。
パソコン(今回はMacを使っています)の「システム設定」>「Bluetooth」で「Bluetooth」を「ON」にし、検出されたBluetoothデバイスのうち「MSR IoT Device」の「接続」をクリックします。
「MSR IoT Device」の接続状況が「接続済み」となったら接続できています。
Arduino IDEの「ツール」>「シリアルポート」で「/dev/cu.MSRIoTDevice」を選択します。
Arduino IDEの「ツール」>「シリアルプロッタ」をクリックし、「シリアルプロッタ」を開くと、M5Stackから書き出された数値データがグラフ表示されます。
Windows PC(Windows 11)の場合は、「設定」>「Bluetoothとデバイス」>「デバイスの追加」>「Bluetooth」で「MSR IoT Device」をクリックして接続した後、Arduino IDEの「ツール」>「シリアルポート」で「COM*」を選択すれば、同様にグラフ表示できます。
M5Stackをパソコンにつないでいなくても、M5Stackの状況をパソコンから確認できるので、いろいろと便利な使い方ができそうです。
なお、私がM5Stack、M5StickCの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。
ごく基本的なところから、かなり複雑なスケッチや、ネットワーク接続など、比較的高度なものまで、つまづかずに読み進めていけるような構成になっており、大変わかりやすい本です。