0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

M5StickCをWebSocketで操作するBLEセントラルデバイスにする

Last updated at Posted at 2021-07-25

M5StickCを、BLEデバイスに任意の操作が可能なBLEセントラルデバイスにし、WebSocketサーバとして、ブラウザのJavascriptやNode.jsからつなげられるようにします。

本投稿は、以下の目的で整理したものです。
・ESP32でのBLEセントラルのひな型にする。
・ESP32でのWebSocketサーバのひな型にする。
・ESP32でのBLEデバイスのひな型にする。
・ブラウザからM5StickCに接続してBLEデバイスに任意の操作をする。

ひな型として、ソースコードを以下に上げておいたので、詳細はそちらを参照してください。

poruruba/ESP32_WebBLE

以下の3つからなります。
・BLEセントラルのM5StickC(WebBLE_Centralフォルダ)
・BLEセントラルのM5StickCにWebSocketで接続するWebページ(htmlフォルダ)
・BLEセントラルから接続されるサンプルのM5StickC(BLE_TestDeviceフォルダ)

Webページは以下からもアクセスできます。

WebSocketサーバへのリクエストパラメータ

type パラメータ 説明
scan 周辺のBLEデバイスを探索します
duration 探索期間(秒)
serviceuuid サービスUUID(任意)
scanresult 発見されたBLEデバイスの情報を取得します。
address デバイスBLEアドレス
connect BLEデバイスに接続します。
address デバイスBLEアドレス
addresstype アドレスタイプ(任意)
primary BLEデバイスのすべてのプライマリサービスを取得します。
service BLEデバイスの指定のサービスUUIDのプライマリサービスを取得します。
serviceuuid サービスUUID
chars BLEデバイスの指定したサービスUUIDのすべてのキャラクタリスティックを取得します。
serviceuuid サービスUUID
char BLEデバイスの指定したサービスUUIDとキャラクタリスティックを取得します。
serviceuuid サービスUUID
uuid キャラクタリスティックUUID
read BLEデバイスの指定したキャラクタリスティックから値を読み出します。
uuid キャラクタリスティックUUID
write BLEデバイスの指定したキャラクタリスティックに値を書き込みます。
uuid キャラクタリスティックUUID
value 値(16進数文字列)
withresponse Write with Responseかどうか
startnotify BLEデバイスの指定したキャラクタリスティックのNotification/Indicateを有効化します。
uuid キャラクタリスティックUUID
stopnotify BLEデバイスの指定したキャラクタリスティックのNotification/Indicateを無効化します。
uuid キャラクタリスティックUUID

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?