【问题标题】:Bluetooth low energy connection interval on iPhoneiPhone 上的低功耗蓝牙连接间隔
【发布时间】:2012-08-08 06:59:54
【问题描述】:

Apple 蓝牙设计指南说应该在外围设备上设置连接间隔

Interval Min ≥ 20 ms
Interval Min + 20 ms ≤ Interval Max

当将最小值设置为 20 毫秒,最大值设置为 40 毫秒时,我希望得到 iPhone 的接受和最低的可用间隔,但 iPhone 总是设置 37.5 毫秒的连接间隔。尝试将最大值向下推会得到 iPhone 的拒绝状态,然后将连接间隔设置为 ~100 毫秒。

是否可以通过某种方式将此时间缩短到 20 毫秒(因为这是 Apple 指南中的最小值)?实际最小值是多少?根据我的观察,Interval min 可以设置为 30 毫秒,没有任何区别。

【问题讨论】:

    标签: iphone ios core-bluetooth bluetooth-lowenergy


    【解决方案1】:

    我最近一直在尝试这个。这不符合他们的指导方针,所以我不确定它为什么起作用,但使用以下连接设置,我能够从 iPad 获得 18.75 毫秒的间隔:

    • 分钟间隔 = 10 毫秒
    • 最大间隔 = 20 毫秒
    • 延迟 = 0
    • 超时 = 100 毫秒

    【讨论】:

    • 是的,这显然是一个应该在 iOS6 中“修复”的错误。没有人知道它为什么起作用:P
    • 你们如何改变 MIN 和 MAX 间隔?您可以发布执行此操作的代码吗?非常感谢。
    • 我也想知道,如何从 iOS 应用程序设置连接间隔。请让我知道。
    【解决方案2】:

    蓝牙 SIG 定义连接间隔最小和最大范围值 = 7.25 毫秒到 4000 毫秒。实现可以选择此范围内的任何值作为连接间隔最小值或最大值。但是,最小连接间隔不得大于最大连接间隔。 最小值取决于外设的电池考虑,最大连接间隔取决于外设上可用的缓冲区。 Iphone 将这些值设置为 37.5 毫秒给我们一个提示,即外围设备上可用的缓冲区是恒定的。您可以尝试更改此参数,看看现在您是否看到连接间隔有所不同。

    【讨论】:

    • 绝对不是。 iPhone 无法读取外围设备上的缓冲区状态,并且更改参数不起作用(除了我发现的一个错误)。 iOS 5 表面上只支持这个连接间隔(37.5),但根据他们的支持,iOS6 应该会好一些。我正在从头开始制作外围设备,因此我可以很好地控制它,并且更改连接参数根本无关紧要
    猜你喜欢
    • 2012-10-17
    • 2016-11-18
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    相关资源
    最近更新 更多