一款可穿戴设备如何同时与多部智能手机或平板电脑建立连接

如需要了解更多蓝牙相关知识,请点击下方连接

https://blog.csdn.net/weixin_47456647/article/details/155188246?spm=1011.2415.3001.5331

在蓝牙 ® 低功耗(BLE)的面向连接类应用中,通常由一台中心设备发起并维持与多台外设的连接。如图 1 所示,您可以看到:一台中心设备(如智能手机)可连接多台外设(如锁具、灯具、温控设备、开关等)。一台中心设备能支持的连接数量,取决于该设备自身的配置。

最近有人问我:像智能手表这样的外设,是否可以同时维持与多台中心设备(如智能手机、笔记本电脑)的连接?这在蓝牙规范中是否被允许?

图 2 展示了 "智能手表作为外设" 的场景:它可同时维持与 3 台智能手机、3 台笔记本电脑的连接 ------ 即便这些连接都是由这些中心设备发起的。

规范层面

是的,这是被允许的。下方截图(图 3)来自《蓝牙 ® 核心规范 5.1》第 6 卷 B 部分 11.1 节 "允许的状态与角色组合"(第 2684 页)。

Figure 3 -- Screenshot from Bluetooth® Core 5.1

从图 3 的红框部分可以看到,作为外设的设备具备以下能力:

  • 维持连接的同时,也可以处于广播状态
  • 可以与多台中心设备建立多个连接

时序重叠

下图 4 展示了两台中心设备(中心 1 和中心 2)的场景:它们都与同一台外设连接,且处于同一时间轴上。

  • 蓝色部分代表中心 1 与外设建立连接,连接间隔由中心 1 分配给外设
    • "M1→S" 表示中心 1 向外设发送数据包
    • "S→M1" 表示外设向中心 1 回复
  • 绿色部分代表中心 2 与外设建立连接,连接间隔由中心 2 分配给外设
    • "M2→S" 表示中心 2 向外设发送数据包
    • "S→M2" 表示外设向中心 2 回复

外设只有一个收发器,且该收发器工作在半双工模式下。因此,同一时间仅能与特定的中心设备通信。在图 4 中可以看到,中心 1 和中心 2 是交替与外设进行通信的。

图 5 的情况有所不同:在这个场景中,中心 2 调整了与外设的连接间隔,导致出现了两个重叠的时隙(红色部分)。

  • 重叠 1:外设正在向中心 1 发送数据包,同时中心 2 向外设发送数据包
  • 重叠 2:中心 1 和中心 2 同时向外设发送数据包

应对措施

虽然时序重叠是可能发生的,但有三种应对措施可以处理这种情况。以下措施并未在蓝牙核心规范中定义,但或许对您有帮助:

连接优先级排序:开发者在外设的固件设计中,可定义一个连接优先级表(按从高到低排序)。部分蓝牙 BLE SDK(软件开发工具包)也内置了优先级表。开发者需确认应用是否需要单个外设同时连接多台中心设备。

更新连接参数:若已对连接进行优先级排序,当出现重叠时,外设可更新连接间隔、外设延迟、监督超时等连接参数。根据连接优先级,外设可调整这些参数以避免重叠冲突。关于 "连接参数请求" 的更多细节,请参考《蓝牙 ® 核心规范 5.1》第 6 卷 D 部分 6.12 节 "连接参数请求"。

断开连接:外设发起的连接参数更新可能不被中心设备接受(因为中心设备有权决定是否接受)。若中心设备拒绝了更新的连接参数,外设唯一的选择是断开连接。断开哪条连接取决于连接的优先级:低优先级的连接会被优先断开,高优先级的连接则会保留。

无论选择哪种方式,没有对错之分,只看是否适合您的应用或系统设计。希望这些内容对您有帮助!

相关推荐
TDengine (老段)2 小时前
TDengine 在新能源领域的最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
专业开发者2 小时前
传统蓝牙市场的新趋势
物联网
专业开发者2 小时前
四大热度攀升的蓝牙解决方案领域
物联网
专业开发者3 小时前
为 UPF 互操作性测试做好准备
物联网
专业开发者3 小时前
蓝牙 ® 网状网络互操作性验证开发者指南
网络·物联网
专业开发者3 小时前
Quuppa 如何引领蓝牙 ® 定位服务的全新发展方向
物联网
QQ12958455044 小时前
ThingsBoard-修改Android APP应用程序名和描述
android·物联网·iot
wanhengidc5 小时前
巨 椰 云手机 性能稳定
运维·服务器·arm开发·智能手机·云计算
造火箭5 小时前
普通手机使用Open-AutoGLM 感受豆包AI 手机的体验
人工智能·智能手机