:一个蓝牙连接多个蓝牙设备方法 手机蓝牙可以同时连接几个设备

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

:一个蓝牙连接多个蓝牙设备方法 手机蓝牙可以同时连接几个设备

文章插图

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

文章插图

此外 , 准确的说这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不一样 , 所占用的主机资源也不一样 。