BLE参数协商如何工作?

时间:2016-11-10 10:13:38

标签: bluetooth embedded bluetooth-lowenergy

我想知道当“中央”和“外围设备”设置了不同的参数时,参数协商如何工作。

我可能会弄错,但根据我的理解,外设在连接时会发出更新请求,以便为连接设置参数。然后中央决定是否批准它们。

我不明白的是如何确定这些参数是否获得批准。我还没有找到任何代码。

例如,如果我有以下设置(只是选择随机值):

Central:间隔10ms,从设备延迟0,supervisortimeout 500

外设:间隔50ms,从设备延迟10,supervisortimeout 3000

我如何确定我将使用我的外围设备参数或批准它们的标准是什么?

如果那里有人能给出一个很好的解释,我将非常感激。

1 个答案:

答案 0 :(得分:3)

中央按照自己的意愿行事,外围设备必须遵守参数,或断开连接。

外围人员可以请求其他参数,即中央所规定的参数,但没有任何说明必须经过批准。

来自中环的接受标准是各种限制因素:

  • 规范性(这些是不变的和全球的),
  • 具体实现,大部分时间,它们依赖于外围设备类型/实现的服务(例如Apple explicitly defines some)(见3.6)),
  • 动态(如果Central同时管理多个连接,它可能更喜欢以它们各自的间隔是公共基数的倍数的方式来安排它们。

在开发外围设备时,您无法判断是否会使用您喜欢的连接参数。你必须应付它。此外,一些中心将连接固定参数,在连接后立即发出连接参数更新,然后枚举服务并做出决定,因此当连接参数更新不符合您的需要时,您不能盲目断开连接。