是否可以将多个GATT客户端连接到一个GATT服务器?
例如,传感器可以是GATT服务器。我想让多个智能手机同时连接,以便访问存储在传感器上的不同服务。
我查看了蓝牙的核心规范,但无法找到任何有用的信息。
提前致谢!
答案 0 :(得分:3)
关贸总协定是对称的。中央有一个GATT DB,外围有一个GATT DB。
由于GATT数据库也存在于中央(主),即您的手机上。它应该同时响应多个客户端(连接到它的外围设备)。但大多数时候,外围设备不会与他们的中央GATT数据库进行交互。
现在,外围设备接受来自多个中心的连接。
在LE Link-layer级别,请参阅Core 4.2,6.B.1.1.1:
链路层可以选择支持多个状态机。如果它 确实支持多个状态机,然后:
- [...]
- 在从属角色中运行的连接状态中的链路层可能有多个连接。
- [...]
- 也可能支持状态和角色的所有其他组合。
因此,您可以实现从不同主服务器同时处理多个并发连接的从服务器。它没有说明这些不同的连接是否连接到一个独特的GATT数据库,或者它们是否在不相交的数据库上运行。
从协议角度来看,没有什么可以避免支持到同一GATT DB的多个客户端连接。这完全取决于您的BLE Stack供应商的实现。