M5Stack通信

M5Stack Core2を使って、通信を試してみました。以前M5Goで使ったUIFlowという開発環境で、簡単にできたらいいなあ、という期待から調べてみました。

M5Go

いろんな通信方法があるのですが、今回はよく使われるBluetooth LE(BLE)にしてみました。

ペリフェラルとしてのプログラムはとてもシンプルに作ることができ、問題なく通信できました。setupでアドバタイズして接続が成功すると背景をグレーにします。データを受信するとテキストエリアに表示、またボタンを押すとデータを送信します。
ただ通信というのは相手が必要です。ペリフェラルという接続を待つ側のブロックは用意されているのですが、接続を開始する側(セントラル)は残念ながらありませんでした。もう少し詳しく説明すると、通常通信ブログラムというのは、接続される側と接続する側では違うプログラムが使用されます。
そのため以下のようなBLE通信ができるiPhoneアプリ(LightBlue)を用意して確認しました。

M5Stackからは”ABC”という文字が送られて、その3文字分の文字コード0x41,0x42,0x43が表示されました。
iPhoneからは、0x61,0x62,0x63というコードが送られ、その文字”abc”がM5Stackで表示されることを確認しました。

BLE以外にもいろいろあるのですが、サーバが必要になるためこれが一番簡単に確認できます。
M5Stackを2つ使って相互に通信する場合は、サーバまたは中継となるPCを経由することになりますが、EspNowというものを使うと直接通信できそうなのがわかりました。

また次の機会にトライしてみようと思います。