是否可以与一个 GATT 服务器建立多个 BLE 连接?
Is it possible to establish multiple BLE connections to one GATT-Server?
是否可以让多个 GATT 客户端连接到一个 GATT 服务器?
例如,传感器可以是 GATT 服务器。我想同时连接多个智能手机,以便访问存储在传感器上的不同服务。
我查看了蓝牙的核心规范,但找不到任何有用的信息。
提前致谢!
关贸总协定是对称的。 central有一个GATT DB,peripheral有一个GATT DB。
作为 GATT 数据库也存在于中央(主)上,即您的 phone。它应该同时响应多个客户端(连接到它的外围设备)。不过,大多数时候,外围设备不会与其中心的 GATT 数据库交互。
现在一个外设接受来自多个中心的连接。
在 LE Link 层级,参见 Core 4.2,6.B.1.1.1:
The Link Layer may optionally support multiple state machines. If it
does support multiple state machines, then:
- [...]
- The Link Layer in the Connection State operating in the Slave Role may have multiple connections.
- [...]
- All other combinations of states and roles may also be supported.
因此您可以实现一个从属服务器同时处理来自不同主服务器的多个并发连接。它没有说明这些不同的连接是否连接到唯一的 GATT 数据库,或者它们是否在不相交的数据库上运行。
从协议的角度来看,没有什么可以避免支持多个客户端连接到同一个 GATT 数据库。这完全取决于您的 BLE Stack 供应商的实施。
是否可以让多个 GATT 客户端连接到一个 GATT 服务器?
例如,传感器可以是 GATT 服务器。我想同时连接多个智能手机,以便访问存储在传感器上的不同服务。
我查看了蓝牙的核心规范,但找不到任何有用的信息。
提前致谢!
关贸总协定是对称的。 central有一个GATT DB,peripheral有一个GATT DB。
作为 GATT 数据库也存在于中央(主)上,即您的 phone。它应该同时响应多个客户端(连接到它的外围设备)。不过,大多数时候,外围设备不会与其中心的 GATT 数据库交互。
现在一个外设接受来自多个中心的连接。
在 LE Link 层级,参见 Core 4.2,6.B.1.1.1:
The Link Layer may optionally support multiple state machines. If it does support multiple state machines, then:
- [...]
- The Link Layer in the Connection State operating in the Slave Role may have multiple connections.
- [...]
- All other combinations of states and roles may also be supported.
因此您可以实现一个从属服务器同时处理来自不同主服务器的多个并发连接。它没有说明这些不同的连接是否连接到唯一的 GATT 数据库,或者它们是否在不相交的数据库上运行。
从协议的角度来看,没有什么可以避免支持多个客户端连接到同一个 GATT 数据库。这完全取决于您的 BLE Stack 供应商的实施。