複数のGATTクライアントを1つのGATTサーバに接続することは可能ですか?1つのGATT-Serverに複数のBLE接続を確立することは可能ですか?
たとえば、センサをGATTサーバにすることができます。また、センサーに保存されているさまざまなサービスにアクセスするために、複数のスマートフォンを同時に接続したいと思っています。
私はBluetoothのコア仕様をチェックしましたが、有用な情報は見つかりませんでした。
ありがとうございます!
複数のGATTクライアントを1つのGATTサーバに接続することは可能ですか?1つのGATT-Serverに複数のBLE接続を確立することは可能ですか?
たとえば、センサをGATTサーバにすることができます。また、センサーに保存されているさまざまなサービスにアクセスするために、複数のスマートフォンを同時に接続したいと思っています。
私はBluetoothのコア仕様をチェックしましたが、有用な情報は見つかりませんでした。
ありがとうございます!
GATTは対称です。中央にはGATT DBがあり、周辺にはGATT DBがあります。
GATTデータベースは中央(マスター)、つまり携帯電話にも存在します。同時に複数のクライアント(それに接続された周辺機器)に応答する必要があります。ほとんどの場合、周辺機器は中央のGATTデータベースと対話しません。
ここで、複数の中央からの接続を受け入れる周辺機器の場合。 LEリンク層レベルで
、コア4.2、6.B.1.1.1参照:
リンク層は、必要に応じて複数のステートマシンをサポートすることができます。それは は、その後、複数のステートマシンをサポートしていない場合:
- [...]
- をスレーブの役割で動作し接続状態のリンク層は、複数の接続を有することができます。
- [...]
- 他のすべての州と役割の組み合わせもサポートされています。
だから、別のマスターから同時に複数の同時接続を処理するスレーブを実装してもよいです。それらの異なる接続が一意のGATT DBに接続するかどうか、またはそれらが別々のDBで動作するかどうかはわかりません。
何も、プロトコルの観点から同じGATT DBに複数のクライアント接続をサポートすることを控えるものはありません。それはすべてあなたのBLEスタックベンダーの実装に依存します。
私が知る限り、それは不可能です。 – DigitalNinja