BLE技术参数(广播 连接 UUID 功耗)简介

1 技术背景

        BLE技术是蓝牙技术联盟(Bluetooth Special Interest Group,简称Bluetooth SIG)制定的通信协议,在协议被做成具体的代码之前,都只存在协议文档中,TI、Nordic、Silicon Labs等厂商,根据SIG发布的BLE技术协议,配合自身的芯片开发了一整套源码,并且这套源码通过了SIG的测试,也被叫做协议栈,协议栈是协议的实现。不同芯片厂商都有各自的协议栈,而这不同的协议栈,SIG是不允许厂商开源的,所以厂商们的BLE芯片资料中协议栈都是做成库的形式提供,只开放部分的API层,但实际对我们开发终端产品来说足够了。

        本次不介绍BLE技术的开发,主要涉及应用基础知识,在BLE实际应用中,即使没有蓝牙开发经验,但有必要掌握其关键参数,才能更好地把握其应用。我们需要掌握的参数有:广播间隔、连接间隔、连接过程、UUID和功耗等。下面将依次介绍,文档会根据实际情况不定期更新,也欢迎指正与分享补充!

2 蓝牙协议栈结构

2 广播(Advertising)

2.1 广播间隔(Advertising interval)

蓝牙协议栈规定蓝牙广播间隔在20ms~10.24ms之间,且是"0.625ms"的整数倍,是两次广播事件之间的最小时间间隔。

可以知道,广播间隔越小,广播时间发生越密,功耗越大。

2.2 广播事件(advertising event)

在一个广播事件中,广播包会分别在三个广播信道(37,38,39)中被发送一次。蓝牙芯片只有在广播事件期间才打开射频模块,这个时候功耗相对较高,其余事件蓝牙芯片处于休眠状态,因此平均功耗也非常低,不同厂商能做到的低功耗范围不同。

3 BLE连接通信

在BLE通信中,数据的接收和发送都发生在连接事件中,如下图,连接事件是周期性发生的,这个周期由连接参数决定。连接参数是由主机决定的,从机可以向主机发起更新连接参数请求,但是最终使用的参数是由主机决定的,主机可以接受也可以拒绝。

可以知道,连接间隔越小,连接事件的发生越密,功耗越大。

3.1 连接间隔(Connection interval)

连接间隔决定了主从设备间的交互间隔,指两个相邻的连接事件之间的间隔,参数范围在7.5ms--4s,且必须是1.25的整数倍。

3.2 连接事件(Connection Events)

主从设备之间的通信都是发生在连接事件中的,换句话说,在连接事件之外,主从设备之间不发送任何数据包,在BLE设备建立连接后,所有的通信事件都是通过连接事件进行。

连接成功后,主从机在每一个连接间隔开始的时候,都必须交互一次,即主机给从机发一个包,从机再给主机发一个包,整个交互过程称为一个连接事件。蓝牙芯片只有在连接事件期间才把射频模块打开,此时功耗比较高,其余时间蓝牙芯片都处于休眠状态,因此蓝牙芯片平均功耗非常低。主机不可能时时刻刻都有数据发给从机,所以主机大部分时候都是发的空包(empty packet)给slave。同样从机也不是时时刻刻都有数据给主机,因此从机回复给主机的包大部分时候也是空包。在一个连接事件期间,主机也可以发多个包给从机,以提高吞吐率。

3.3 Slave latency

如前所述,在每一个connection interval开始的时候,主机和从机必须交互一次,哪怕两者之间交互的是空包,但是如果从机定义了slave latency,比如Slave latency=6,此时Slave可以每6个Connection interval才回复一次master,也就是说slave可以在前面5个Connection interval期间一直休眠,直到第6个Connection interval到来之后,才回复一个packet给master,这样将大大节省slave的功耗,提高电池续航时间。当然如果slave有数据需要上报给master,它也可以不等到第6个connection interval才上报,直接像正常情况传输即可,这样既节省了功耗,又提高了数据传输的实时性。

3.4连接过程

下面描述蓝牙从机设备从被发现到被连接的整个过程(包括数据交互):

首先要清楚的是,两个设备进入连接状态,发起方称为Master(主机),而广播方称为Slave(从机)。

在主从机建立连接之前,Advertiser需要先进行广播,如果Scanner不开启扫描窗口,就收不到Advertiser的广播,不仅Scanner要开启射频接收窗口,而且只有Scanner的射频接收窗口和广播发送的发射窗口匹配成功,才能收到从机的广播信号。由于这种匹配成功是个概率事件,因此Scanner扫到Advertiser也是一个概率事件,也就是说,Scanner有时候会很快扫到Advertiser,比如只需要一个广播事件,有时又会很慢才能扫到,比如可能需要3个广播事件甚至更多,一般来说3~4个广播间隔就能被扫到。

Advertiser广播,Scanner开着扫描模式(假设开的主动扫描),Scanner收到从机的广播包,就会发一个扫描请求,从机有扫描应答包的话回应答包,通过广播包和扫描应答包的属性判断可否连接,这时如果Scanner判断该从机可以被连接,则会发连接请求,此时Scanner转变为Initiator,然后从机发连接响应,约定时隙、连接间隔等连接参数,发起连接的为Master,被连接的为Slave。

3.5 角色总结

advertiser 发出广播的设备

observer或者Scanner  可以扫描广播的设备

initiator 能发起连接的设备

master或者central 连接成功后的主设备,即主动发起packet的设备

slave或peripheral 连接成功后的从设备,即被动回传packet的设备

4 UUID

蓝牙技术联盟制定了两种不同的UUID,一种是基本的UUID,一种是代替基本UUID的16位UUID。

所有的蓝牙技术联盟定义UUID共用了一个基本的UUID:0000xxxx-0000-1000-8000-00805F9B34FB

“xxxx”就是被用来歹意的部分。

蓝牙技术联盟所用的基本UUID不能用于任何定制的属性、服务和特性。对于定制的属性,必须使用另外完整的128位UUID。

5 参考文献

BLE简介及连接过程_谁de如花的博客-CSDN博客_ble连接过程

从空中截获BLE数据包看蓝牙5协议流程【第四部分:Ellisys蓝牙5连接分析】_BLECODER的博客-CSDN博客_蓝牙空中包分析

  • 4
    点赞
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值