gkl*_*lka 4 ios core-bluetooth bluetooth-lowenergy ios16
我们正在开发一种设备,它通过蓝牙 LE 与我们的 iOS/watchOS 应用程序进行通信,并且必须在较长的时间段(数小时)内传输大量传感器数据。在 iOS 15.x 下一切正常,但我们发现 iOS 16 beta(和 RC)在协商过程中改变了一些内容:之前我们使用 15 毫秒的连接间隔,但 iOS 16(和 watchOS 8)最常使用协商的时间为 24 毫秒,这对于我们的带宽来说太宽了。长连接间隔会导致数据包丢失 (9-33%),并且在 3 次失败重试(3x30 秒)后,我们的硬件会断开连接。
我已经检查了所有可用的论坛和文档,但没有发现任何迹象表明某些内容发生了变化。我们可以研究任何新参数来解决这个问题吗?
编辑:将 30 毫秒更改为 24
您可能已将最小间隔和最大间隔设置为 15 毫秒。Apple 明确表示这可能会导致设备协商到 30ms(请参阅第41.6 节“连接参数”):
如果配件请求 15 毫秒的最小间隔和最大间隔,则某些设备会将间隔调整为 30 毫秒,以平衡功耗和性能限制。
基本上,要求“尽可能快,没有余量”转化为“是的,每个人都要求这样做,适度快怎么样?”
但是,如果包含 HID,您可能会要求更快的 CI:
如果低功耗蓝牙 HID 是配件的连接服务之一,则设备可以接受低至 11.25 毫秒的连接间隔。
尽管我相信 iOS 16 所做的完全符合 Apple 的规范(他们总是说 15 毫秒可以协商到 30 毫秒),但您仍然应该打开反馈 + DTS 来讨论对您的产品和用例的影响。有时这些事情是偶然发生的,有时它们是实验结果被推翻的结果。
| 归档时间: |
|
| 查看次数: |
1893 次 |
| 最近记录: |