概要
Bluetooth SIG 的 Bluetooth® v5.4 核心规范为支持 Bluetooth 的物联网设备带来了多项优势,重点是增强了通信能力、安全性和效率。这些改进尤其适用于涉及大量设备的应用,如零售、资产跟踪和智慧家居环境。
主要优势包括: 与数千个终端节点进行双向通信 带响应的周期性广播 (PAwR) 加密广播数据 (EAD) 范围更广,能效更高 提高资产跟踪的准确性和精确度
蓝牙 v5.4 的两项主要改进是带响应的周期性广播(PAwR)和加密广播数据。它们共同实现了在星型拓扑结构中与数千个功耗极低的终端节点进行无连接、双向、安全通信。 PAwR 和加密广播数据适用于涉及众多设备传输少量数据的应用。这些应用可以接受更长的延迟,以换取更长的电池寿命。例如,不需要立即响应或监控非动态系统的大规模传感器网络可以从 PAWR 和加密广播数据中受益。 PAwR 和加密广播数据的第一个标准化用例是电子货架标签 (ESL) 配置文件。该配置文件的出台将为 ESL 用例提供一个标准,因此我们预计基于蓝牙的应用和生态系统将在不久的将来迅速出现。
蓝牙 v5.4 中带响应的 周期性广播(PAwR) 迄今为止,蓝牙 LE 一直无法在无连接模式下实现应用数据的双向通信,而 PAwR 实现了这一点。这是该功能的主要优势。 为了解释其工作原理,我们将使用广播者和观察者的命名规则。广播并不新鲜,数据由广播者发送,观察者扫描接收。PAwR 的新颖之处在于,广播数据是在确定的时间段内以小数据包的形式组织起来的,观察者可以精确地与之同步并作出响应。数据在 PAwR 事件中发送,而 PAwR 事件由 PAwR 子事件组成。每个观察者可与一个或多个子事件同步,在同步后,观察者只在这些特定的时间段内主动接收数据。
双向通信在子事件中实现。广播者在子事件开始时传输数据,然后经过响应时隙延迟后,观察者可以发送响应。响应的协调工作在应用层面上进行。 这种解决方案之所以高效,是因为观察者能够只扫描特定的子事件。因此,终端节点(观察者)只在极小的特定时间段内进行扫描。这就是该解决方案在功耗方面如此高效的原因。 PAwR 的另一项功能是建立 ACL 连接,因为子事件可能包含连接请求。有了这项功能,设备就不必遵循传统的连接方案,进行额外的扫描和广播。事实上,这样做毫无意义,因为设备已经同步。在某些情况下可能需要连接,因为 PAwR 只能传输少量数据。要传输更多数据,设备可以建立 ACL 连接。
支持加密的广播数据(EAD) PAwR 在满足可扩展性和超低功耗要求的同时,还必须满足所有现代物联网系统的一个关键要求,即安全性。ESL 接入点和设备之间的数据交换必须加密,以保持机密性、避免篡改并确保网络安全。 在蓝牙 v5.4 之前,没有对广播数据进行加密的标准化方法。这种定义只存在于面向连接的通信中。由于 ESL 应用程序的大部分数据交换都是通过 PAwR 进行的,因此有必要增加加密广播数据功能。这就为广播数据加密以及共享密钥材料(数据加密所需的密钥材料)引入了一种标准化方法。值得注意的是,加密广播数据不仅可以通过 PAwR 进行,还可以使用其他广播传输方式。 该功能通过添加一种名为加密广播数据(类型 0x31)的新 AD 类型,封装了所有要加密的 AD 字段,从而允许对给定广播数据包的全部或部分有效载荷进行加密。这意味着广播数据包有效载荷的概念如下所示。
广播数据 0 封装 AD 1-3,这些数据是加密的。随后是 AD 4 和 AD 5,它们是未加密的。这样就可以灵活地保留一些非关键的广播数据,供任何观察者解读,例如 AD 类型 0x01(标志)或 0x09(完整本地名称)。 要在两台设备之间共享加密数据,需要它们有一个用于加密和解密数据的共享密钥。为实现这一目标,可选择将名为 "加密数据密钥材料 "的新 GATT 特性作为 GAP(通用访问配置文件)服务的一部分。已连接的 GATT 客户端可通过加密和验证链接读取该特性,然后通过广播交换加密数据。 电子货架标签配置文件 电子货架标签(ESL)是一种显示零售店货架上产品价格信息的设备。其目的是远程管理所显示的产品信息,包括产品名称、条形码、价格等。ESL 还可配备传感器,如电池电压监控或环境光感应。这类系统需要多功能性,而且对成本敏感,因此数字标签通常由电池驱动。在这种情况下,耗电量是关键要求,因为频繁充电或更换电池是不可取的。
蓝牙 5.4 版中的 ESL 配置文件为这种特定的使用情况提供了手段,通过使用 PAwR,新的加密广播提供了尽可能低的功耗和安全性。面向连接的通信用于配置、交换加密广播数据的密钥材料以及发送大块信息(如图像)。然后,基于 PAwR 的无连接通信用于常规命令和响应。 ESL 配置文件中的角色定义为接入点 (AP) 和电子货架标签 (ESL)。AP 相当于 PAwR 环境中的广播者,ESL 相当于观察者。为了管理网络,引入了一个简单的寻址方案。每个 ESL 都有一个 8 位 ESL ID。设备用 7 位组 ID 分组。接入点最多可管理 32 640 台设备。 对于从 AP 到 ESL 的通信,PAwR 的子事件与 ESL 的组直接相关。分配到 0 号组的设备同步接收 0 号子事件,以此类推。传输到每个组的数据包包含针对后续 ESL ID 的命令序列。 如前所述,响应协调是在应用层面进行管理的。在 ESL 配置文件中,响应是动态管理的。每个 ESL 都会接收指向其组的所有命令。设备必须忽略发给其他设备的所有命令,但必须使用与接收到的命令顺序相对应的响应槽。例如,ESL ID #1 收到以下信息:[ESL ID #0,cmd],[ESL ID #1,cmd],[ESL ID #3,cmd]。它将在响应槽 #1 中做出响应。 蓝牙 v5.4 中引入的加密广播数据为 ESL 提供了安全性。ESL 设备通常需要与接入点进行初始连接以进行调试,此时也可读取和分配密钥材料,以便随后交换受 LE 安全连接保护的加密广播数据。 ESL 配置文件提供了对角色、状态和消息序列的完整描述,以及描述加密广播数据如何用于通信的安全要求。如需深入了解,我们建议您阅读规范或 5.4 版本的技术指南(请参阅页面底部的链接)。 随着蓝牙 5.4 版的增强,引入了超低功耗、双向、无连接通信,许多新的应用案例成为可能,ESL 就是其中之一。
蓝牙 v5.4
核心规范中的其他功能 新的核心规范还提供了另外两项功能。 LE GATT 安全等级特征 (SLC) 其目的是限制因安全条件而造成的用户体验流程中断,因为安全条件可能会延迟对属性的访问。通过 SLC,客户端可以预先确定足够的安全模式和级别,以访问所有需要的 GATT 属性。如有必要,可在尝试访问 GATT 属性之前升级链接安全性,以满足访问要求。 广播编码选择 S 参数定义前向纠错(FEC),有两种取值:S=2 或 S=8。它控制着纠错数据的生成量以及通信范围的扩大程度。有了广播编码选择功能,主机就能确定性地选择控制器在传输广播 PDU 时应使用的编码方案。例如,设备可以接收 S8 编码的 PDU,但会以 S2 编码做出响应,因此对等设备可能无法接收这些 PDU。在这种情况下,主机可以指示控制器也使用 S8 发送。
总结 蓝牙 5.4 版带来了一些新的有趣功能,这些功能必将扩大蓝牙应用的范围,并有助于实现更多市场的标准化。我们期待看到生态系统的发展和您新想法的实现。我们的技术支持团队将为您的项目提供评估和支持。请关注 Nordic 产品新闻,了解 nRF Connect SDK 中这些功能的可用性更新。
Q:同步方法看起来非常有趣,是否也可以用这种方法同步应用层中的多个节点?
A:是的,应该可以。PAwR 的配置和响应都是在应用层面上进行的,因此可以用于各种应用。
Q:我想知道同步设备能否在每个子事件的一个或多个响应槽中传输一个或多个响应数据包? A:响应方案的实施是在应用层面,开发人员可以自由选择实施方式。同步设备可以在两个或多个响应槽中发送响应。
Q:这种 ACL 是如何工作的,是否会在某个时刻自动终止?还是会成为一个完全的 BLE ACL 连接,以老式方式(服务、特征)交换数据? A:是的,它将成为完整的低功耗蓝牙 ACL 连接。数据交换和连接终止以传统方式进行。
Q:如何在 Zephyr 中使用
PDU_ADV_TYPE_AUX_CONNECT_REQ? 如何为单个子事件设置
PDU_ADV_TYPE_AUX_CONTECT_REQ? A:看看这对样本: periodic_adv_conn
https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/samples/bluetooth/periodic_adv_conn/README.html
periodic_sync_conn
https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/samples/bluetooth/periodic_sync_conn/README.html
它展示了如何在子事件包中发送 AUX_CONNECT_REQ。
|