当前位置:   article > 正文

BLE4.0 连接参数说明和使用_ble4.0 连接句柄

ble4.0 连接句柄

我们知道BLE最大的特点是低功耗,协议中是如何实现这一目标的呢?重点是减少工作时间,通过某种约定,让设备在大部分时间处于休眠状态从而达到较少功耗的目的。同时BLE中还采用了调频机制来确保数据的安全性,怎么跳,多长时间切换信道,看完本文后希望这些问题能得到解答。
Central和Peripheral通过Device Discovery发现彼此的存在,Central可以通过Connection.request来建立连接,实际就是约定了后面双方工作的步调,什么时候休眠,什么时候可以切换信道等等,在Connection.request中包含以下参数:
1 Connection Interval(连接间隔)
该参数规定了两个设备之间数据交换的时间间隔,同时也是信道切换的时间间隔,设备之间的用户数据只有在时间到了之后才可以传递,如果时间到了没有应用数据需要传递则交换link layer数据,以保证设备之间的连接。该值越大,设备功耗越低,同时数据传输速率越低。该值以1.25ms为一个时间单位(其他应用同此),取值范围6(7.5ms)-3200(4s)
2 Slave Latency 
为了增强Peripheral的灵活性,该值规定Peripheral设备可以忽略的连接间隔数目,即当连接时间到了,如果Peripheral没有数据需要传递,可以选择继续休眠,减少功耗。Salve latency 取值范围0-499,需要注意的是要确保effective connection interval(有效连接时间间隔)<16s ,其中Effective Connection Interval = (Connection Interval) * ( 1 + (Slave Latency) ) 。
3 Supervision Timeout 
该值规定了两个设备有效连接的最大时间间隔,这就要求 Supervision Timeout >Effective Connection Interval ,如果在Supervision Timeout 时间内没有发生数据交换则认为断开连接。Supervision Timeout 以10ms为单位,取值范围10(100ms)-3200(32s)。
以上都是Central给Peripheral设定的时间规则,有的时候这些参数可能无法满足Peripheral的应用需求,此时Peripheral可以通过Connection Parameter Update Request请求Central更新
参数配置,该请求中包括以下四个参数:
1 minimum connection interval 最小连接间隔
2 maximum connection interval 最大连接间隔 

3 slave latency 连接延迟

4 timeout.  断开连接时间
Central收到该请求后可以选择接受或者拒绝参数更新。

连接设备的双方随时都可以请求断开连接,被请求设备作出回应,并修改相应状态。

 

ios app连接时,apple公司有自己的规范,这三个参数的设置必须在其规范内才可生效:

    ● Interval Max * (Slave Latency + 1) ≤ 2 seconds
    ● Interval Min ≥ 20 ms
    ● Interval Min + 20 ms ≤ Interval Max Slave Latency ≤ 4
    ● connSupervisionTimeout ≤ 6 seconds
    ● Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/192436
推荐阅读
相关标签
  

闽ICP备14008679号