冷知识:一个蓝牙可同时连接多个蓝牙设备

发布日期:2019.10.11     浏览次数:

    传统蓝牙主设备最多可与一个微微网(一个采用蓝牙技术的临时计算机网络)中的七个传统蓝牙设备通讯, 当然并不是所有设备都能够达到这一最大量。设备之间可通过协议转换角色,从设备也可转换为主设备(比如,一个头戴式耳机如果向手机发起连接请求,作为连接的发起者,自然就是主设备,但是随后也许会作为从设备运行。)


冷知识:一个蓝牙可同时连接多个蓝牙设备


    数据传输可随时在主设备和其他设备之间进行(应用极少的广播模式除外)。主设备可选择要访问的从设备;典型的情况是,可以在设备之间以轮替的方式快速转换。因为是主设备来选择要访问的从设备,理论上从设备就要在接收槽内待命,主设备的负担要比从设备少一些。主设备可以与七个从设备相连接,但是从设备却很难与一个以上的主设备相连。规格对于散射网中的行为要求是模糊的。


冷知识:一个蓝牙可同时连接多个蓝牙设备


    此外,准确的说这7个并不是主机(centeral/master/loal)连接设备(peripheral/device/remote),而是logical transport address(LT ADDR)也就是我们常说的ACL链路。ACL链路只有3bit正好就是7个设备。001-111(二进制)000被其他占用,因此,从这个角度将,蓝牙主机最多可以连接7个(同时工作/active)传统蓝牙设备。


冷知识:一个蓝牙可同时连接多个蓝牙设备


    为什么是传统,应为不是所有蓝牙设备都需要ACL链路,BLE本身允许更多的设备连接使用,但每个协议栈主机分配给协议栈的资源,以及官方测试过的稳定连接数量都是非常小的一个保守参数,目前没有统一的答案,只能这样表述:某个协议栈在某台手机商能大概同时连接几个耳机和BLE设备。注意大概这个词,即使你测试到可以连接立体声耳机A+4个BLE设备,也不能代表你就能连接立体声耳机B+4个BLE设备,因为每个蓝牙设备同时开启的通道数量source ID不一样,所占用的主机资源也不一样。

    如果客户需要增加大体的连接数量,只能慢慢调参数,慢慢测试。