美文网首页
BLE系列-GAP

BLE系列-GAP

作者: Jaesoon | 来源:发表于2017-12-11 23:58 被阅读367次

    书接上文,我们知道,低功耗蓝牙开发,基本就是在与GAP和GATT这两层打交道。 本文,讲一讲GAP。

    通用访问配置文件(GAP)

    BLE协议栈中的GAP层负责处理设备访问模式,包括:被发现、建立连接、终止连接、初始化安全管理和设备配置。
    GAP层可以扮演四种角色之一:

    • Broadcaster 广播者----不可以连接,一直发送广播
    • Observer 观察者----可以扫描广播,但是不能发起建立连接的设备
    • Peripheral 外设----可以被连接,在单个链路层连接中作为Server
    • Central 中央设备----可以扫描广播并发起连接,在单个或多个链路层中作为Client

    在典型的BLE系统中,外设发送广播数据,中央设备扫描广播,确认可以连接的目标设备,广播中可以包括设备地址以及一些额外数据,如:设备名称、服务列表等。中央设备接收到广播数据后,会向外设发送扫描请求Scan Request,然后外设将特定的数据回应给中央设备,这个过程称之为Scan Response。中央设备收到扫描回应之后,便知道这是一个可以建立连接的外部设备。以上是设备发现的全过程。然后,中央设备可以向外设发起建立连接的请求。连接请求包括下面一些参数:

    • 连接间隔 ----在两个BLE设备的连接中使用调频机制,两个设备使用特定的信道收发数据,然后过一段时间后再使用新的信道收发数据。这些信道切换是由链路层来处理的。两个设备在信道切换后收发数据称之为连接事件,即使没有应用数据的收发,两个设备依然会通过交换链路层数据来维持连接,连接间隔就是两个连接时间之间的时间间隔,连接间隔以1.25ms为单位,连接间隔的值为6(7.5ms)~3200(4s)。
      这个参数的实际意义是:长的时间间隔能够显著的节省功耗(设备可以休眠),但是同时意味着数据传输波特率低;短的时间间隔能够更快的收发数据,同时,功耗也高(因为被频繁的唤醒,没有更多的时间来休眠)。
    • 从机延时----这个参数的设置可以使外设跳过若干连接时间。这使外设有更多的灵活度,如果它没有数据要发送时,可以选择跳过连接事件继续休眠,降低功耗。
    • 管理超时----这个是成功连接事件之间的最大允许的间隔,如果超过了这个时间而没有成功的连接,设备被认为丢失连接,返回到未连接状态,这个值的单位是10ms,管理超时的范围是10(100ms)~3200(32s),另外,超时值必须大于有效的连接间隔[有效的连接间隔=连接间隔*(1+外设延时)]

    相关文章

      网友评论

          本文标题:BLE系列-GAP

          本文链接:https://www.haomeiwen.com/subject/znowixtx.html