蓝牙 - BLE中的连接和扫描参数设定

连接参数 / Connection Parameters

连接参数由发起设备与连接请求一起发送,当连接建立后,任何一个设备都可以修改。这些参数如下:

连接间隔 / Connection Interval

在低功耗蓝牙连接中,使用了跳频方案。两台设备发送各自数据和接收对方数据,只在特定时间的特定信道上。两个设备在一段特定的时间后在一个新的信道上通信(蓝牙低功耗协议栈的链接层处理信道切换)。每次两个设备建立通讯,发送和接收数据,被称为连接事件。如果没有应用数据要发送或接收,两个设备交换链接层数据以维持连接。连接间隔是两个连接事件之间的时间量,以1.25ms为一个单位。连接间隔的范围可以从最小值6(7.5ms)到最大值3200(4.0s)。

不同的应用可能需要不同的连接时间间隔,并会影响设备的功耗。

从机延迟 / Slave Latency

该参数使从机(外围)设备可以选择跳过一些连接事件。这种能力给外围设备一些灵活性。如果外围设备没有任何数据要发送,它可以跳过连接事件,保持睡眠状态,并节省电力。外围设备在每个连接事件的基础上选择是否唤醒。外设可以跳过连接事件,但跳过的时间不能超过从机延迟参数所允许的时间,否则连接会失败。

从机延迟值指的是跳过的连接事件的个数,范围一般从0到500。

监督超时  / Supervision Time-out

这个超时是两个成功的连接事件之间的最大时间量。如果这个时间过去了,没有发生成功的连接事件,设备就会终止连接并返回到未连接状态。这个参数值以10毫秒为单位表示。监督超时值的范围可以从最小的10(100ms)到3200(32.0s)。超时必须大于有效连接间隔。

有效连接间隔 / Effective Connection Interva

有效连接间隔等于两个连接事件之间的时间,取决于从机设备在从机延迟允许的情况下跳过的连接事件数量(如果从机延迟设置为0,则有效连接间隔等于实际连接间隔)。

从机延迟值表示可以跳过的最大事件数。这个数字的范围可以从最小值0(意味着不能跳过任何连接事件)到最大值499。最大有效连接间隔的值不能大于16秒,间隔可以用以下公式计算:

有效连接间隔=(连接间隔)*(1+从机延时)

Effective Connection Interval = (Connection Interval) * (1 + [Slave Latency])

考虑下面例子:

- 连接间隔:80 (100 ms)

- 从机延迟:4

- 有效连接间隔:(100ms)*(1+4)=500ms

当从属设备没有需要向主设备发送的数据时,连接中的从属设备在连接事件中发送数据的间隔是500毫秒。

连接参数设置的影响 / Connection Parameter Considerations

在大多数应用场景中,从属设备跳过最大数量的连接事件。在选择或申请连接参数时就要考虑有效的连接间隔。选择正确的配套连接参数,在蓝牙低功耗设备使用中,对功率优化起着重要作用。下面的列表概述了连接参数设置的影响:

缩短连接间隔的影响如下:

- 增加两个设备的耗电量

- 增加两个方向的吞吐量

- 减少任何一个方向上的数据发送时间

延长连接间隔的影响如下:

- 减少两个设备的耗电量

- 减少两个方向的吞吐量

- 增加任何一个方向上的数据发送时间

减少从机延迟(或将其设置为零)的作用如下:

- 增加外围设备的功率消耗

- 减少外围设备接收来自中央设备的数据的时间。

增加从属延迟的作用如下:

- 在外设没有数据要发送给中央设备的期间,减少外设的耗电量

- 增加外围设备接收从中央设备发送的数据的时间

连接参数更新/ Connection Parameter Update

在某些情况下,中央设备请求与外围设备的连接,但其发出的连接参数对外围设备并不友好。而在其他一些情况下,在已经连接的情况下,外围设备可能会根据其应用情况而请求改变参数。外围设备可以通过发送连接参数更新请求来要求中央设备改变连接设置。对于支持蓝牙4.1和4.2的设备,该请求直接由链接层处理。对于蓝牙4.0设备,协议栈的L2CAP层处理该请求。蓝牙低功耗协议栈会自动选择更新方法。

该请求包含四个参数:最小连接间隔、最大连接间隔、从机延迟和超时。这些值代表外围设备需要的连接参数(连接间隔是以范围的形式给出)。当中心设备收到这个请求时,它可以选择接受或拒绝新的参数。

发送连接参数更新请求是可选的,不要求中央设备接受或应用所请求的参数。一些应用试图以较快的连接间隔建立连接,以允许更快的服务发现和初始设置。这些应用在这之后,会要求一个较长(较慢)的连接间隔,以维持最佳的工作功耗。

根据GAPRole,连接参数更新可以用GAPRole_SendUpdateParam()或GAPCentralRole_UpdateLink()命令异步发送。外围的GAPRole可以被配置为在建立连接后的一定时间内自动发送参数更新。例如,simple_peripheral应用程序使用以下预处理器定义的符号:

连接建立后6秒,GAP层会自动发送一个连接参数更新。

终止连接 / Connection Termination

主机(master)或从机(slave)都可以因任何原因终止连接。一方发起终止,另一方必须在两个设备退出连接状态之前作出回应。

注:如果一个central设备连接到多个peripheral设备,这种多连接的情况下,对于连接参数设定,会有额外的要求。

参考:

https://software-dl.ti.com/lprf/simplelink_cc2640r2_latest/docs/blestack/ble_user_guide/html/ble-stack-3.x/gap.html#:~:text=The%20connection%20interval%20is%20the,of%203200%20(4.0%20s).

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Ble hogp是一种蓝牙低功耗技术,主要用于手机与外设之间的通信。下面分别介绍ble hogp的广播、扫描连接和数据读写源的特点。 1. 广播:广播是指外设将自身的信息以广播的方式发送出去,让手机能够主动发现并连接到该外设。Ble hogp的广播具有低功耗、简单快速的特点。外设只需要定期发送广播包,手机接收到广播包后可以通过解析其的信息来决定是否连接到该外设。 2. 扫描:手机通过扫描的方式来主动寻找广播的外设。扫描可以设置不同的模式,例如高功耗模式和低功耗模式。在低功耗模式下,手机会定期地对周围蓝牙设备进行扫描,以获取设备的信息,但不会建立连接。这样可以降低功耗并提高扫描效率。 3. 连接:当手机扫描到外设后,可以发起连接请求。连接是建立在广播和扫描的基础上的,通过连接可以进行双向通信。Ble hogp的连接具有低延迟、高稳定性的特点。一旦连接建立成功,手机与外设可以通过读写特定的属性来进行数据交互。 4. 数据读写:通过连接建立后,手机和外设之间可以进行数据交换。外设可以提供一些特定的属性,例如传感器数据、设置参数等等。手机可以通过读取这些属性来获取数据,也可以通过写入这些属性来发送指令给外设。数据读写是ble hogp的核心功能之一。 总之,ble hogp通过广播、扫描连接和数据读写来实现手机与外设之间的低功耗通信。这种技术在物联网、智能家居等领域有着广泛的应用前景。 ### 回答2: BLE(Bluetooth Low Energy)是一种低功耗的蓝牙通信技术,具有广播、扫描连接和数据读写等四个主要功能。下面将对这四个功能进行详细解释。 首先是BLE的广播功能。BLE设备可以通过广播发出自己的存在和基本信息,使周围的其他设备可以发现并与之建立连接。广播可以包含设备的唯一标识符(如MAC地址)、设备名称以及其他自定义的数据。 其次是BLE扫描功能。扫描是指BLE设备搜索周围的其他设备并获取它们的广播信息。通过扫描,设备可以发现附近的BLE设备,并获取设备的基本信息,以便进行连接连接BLE的另一个重要功能。一旦设备发现了周围的BLE设备,并获取了设备的广播信息,就可以开始与目标设备之间建立连接连接可以是单向的(一主多从)或双向的(多主多从),连接的建立可以通过设备之间的握手过程完成。 最后是BLE的数据读写功能。一旦连接建立成功,设备之间可以进行数据的传输。一个设备可以向另一个设备写入数据,另一个设备则可以读取这些数据。数据的读写可以通过BLE的特征(Characteristics)和服务(Services)来实现,特征和服务通常通过UUID(Universally Unique Identifier)来标识。 总之,BLE的广播、扫描连接和数据读写是其四个主要功能。通过这些功能,BLE设备可以实现低功耗的蓝牙通信,并与其他设备进行数据交换。 ### 回答3: BLE(Bluetooth Low Energy)是一种低功耗蓝牙技术,常用于物联网设备之间的通信。BLE设备的工作流程通常包括广播、扫描连接和数据读写。 首先是广播(Advertising),BLE设备可以周期性地发送广播包,携带自己的标识和一些附加信息,以便其他设备能够检测到它们的存在。广播的目的是宣告自己的存在,以及提供连接的可能性。这些广播包可以被其他设备扫描到。 接下来是扫描(Scanning),BLE设备可以主动扫描周围的广播包,以检测到附近的其他设备,并获得它们的标识和附加信息。扫描有两种模式,一种是主动扫描模式,设备主动发送请求,另一种是被动扫描模式,设备只接收广播包而不发送请求。 当一个设备检测到其他设备的广播包并确定要与其建立连接时,就可以进行连接(Connection)。连接由两个设备之间的主设备和从设备建立,主设备负责管理连接和数据传输。连接状态下,设备之间可以进行数据传输、发送命令、获取传感器数据等操作。 最后是数据读写(Data Reading/Writing),在连接状态下,设备之间可以进行数据的读写操作。一个设备可以将数据写入其他设备的特征值,而另一个设备可以读取这些特征值的数据。通过这种方式,设备之间可以进行信息交换和数据传输。 总结来说,BLE设备的工作流程包括广播、扫描连接和数据读写。广播用于宣告设备的存在,扫描用于检测其他设备,连接用于建立设备之间的通信连接,数据读写用于在连接状态下进行数据交换和传输。这些环节共同构成了BLE设备之间的通信过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值