已解决
iOS 蓝牙连接 connectionSupervisionTimeout 是720ms 还是 2~6s
来自网友在路上 164864提问 提问时间:2023-09-25 11:06:29阅读次数: 64
最佳答案 问答题库648位专家为你答疑解惑
对比
- HCI可以看到iPhone作为主设连接外设时,可以看到:
connection Event Interval = 30ms;
connection Slave Latency = 0;
connection Supervision Timeout = 720ms; - 但苹果官方文档《 Accessory Design Guidelines for Apple Devices 》里41.6章里要求:
Supervision Timeout from 2 seconds to 6 seconds.
原因
这里720ms是iPhone作为主设connect时设定的connectionParameter,但是蓝牙协议允许外设来根据实际情况协商
connection Supervision Timeout以满足需求,故《 Accessory Design Guidelines for Apple Devices 》文档在此时约束了外设协商的 Supervision Timeout from 2 seconds to 6 seconds.
Supervision Timeout 的大小影响能耗及连接健壮性,需根据应用场景灵活设置此值来达到平衡,coreBluetooth API并未提供方法来修改connect的参数设置,故一般让机硬件来修改此Connection Parameter
参考
- coreBluetooth报错: Error Domain=CBErrorDomain Code=6 \“The connection has timed out unexpectedly.\“
- 《Accessory-Design-Guidelines》
- iOS蓝牙 Connection Parameters 关键参数说明
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"iOS 蓝牙连接 connectionSupervisionTimeout 是720ms 还是 2~6s":http://eshow365.cn/6-13415-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!