目录
八、CTE(Constant Tone Extension)相关(7个)
LE Controller commands(低功耗控制器命令)在BLE通信中扮演着至关重要的角色。这些命令用于控制BLE设备的各种功能,包括基础配置、状态管理、连接管理、数据传输、安全管理等。这些命令共同构成了BLE设备通信的核心驱动力,使得BLE设备能够实现高效、低功耗的无线通信。
需要注意的是,不同的设备和蓝牙版本可能支持不同的LE Controller commands,因此在实际应用中需要参考具体设备的文档和蓝牙规范。以下是对Bluetooth Core Specification Version 5.4中列出的LE Controller命令的汇总。总共121 个有效命令。这些命令主要分为几个大类:基础配置与管理、广播与扫描、连接管理、设备地址与过滤、安全与加密、物理层与射频设置、测试模式、CTE、以及ISO(Interoperable System Objects)相关和其它的功能。
一、基础设置与管理命令(15个)
1.1. 事件控制与状态查询
- LE Set Event Mask command
- 功能:设置事件掩码,用于控制哪些BLE事件会被报告给主机。
- 用途:通过配置事件掩码,主机可以过滤掉不感兴趣的事件,减少不必要的处理开销。同时,通过仅启用必要的事件,主机可以减少中断和数据处理的频率,从而优化低功耗蓝牙设备的性能和响应时间。
- 【0x0001】HCI_LE_Set_Event_Mask命令全面解析-CSDN博客
- LE Read Supported States command
- 功能:读取BLE控制器支持的状态。
- 用途:帮助主机了解BLE控制器的当前状态和能力,以便进行更精细的控制和管理。
- 【0x001C】HCI_LE_Read_Supported_States命令全面解析-CSDN博客
1.2. 设备配置与特性查询
- LE Read Local Supported Features command
- 功能:读取本地BLE设备支持的功能。
- 用途:了解设备的特性和能力,以便在连接和通信过程中充分利用这些特性。
- 【0x0003】HCI_LE_Read_Local_Supported_Features命令全面解析-CSDN博客
- LE Set Random Address command
- 功能:设置BLE设备的随机地址。
- 用途:在隐私模式下,通过更改设备的地址来增加通信的安全性。
- 【0x0005】HCI_LE_Set_Random_Address命令全面解析_hci 如何设置ble地址-CSDN博客
- LE Set Privacy Mode command
- 功能:设置BLE设备的隐私模式。
- 用途:控制设备是否使用随机地址进行通信,以保护用户隐私。
1.3. 性能优化与资源管理
- LE Read Buffer Size command
- 功能:读取BLE控制器的缓冲区大小。
- 用途:了解控制器的数据处理能力,以便进行数据传输策略的优化。
- 【0x0002/0x0060】HCI_LE_Read_Buffer_Size命令全面解析_hci模拟读取数据-CSDN博客
- LE Read Maximum Data Length command
- 功能:读取BLE连接中支持的最大数据长度。
- 用途:根据最大数据长度调整数据传输策略,以提高通信效率。
- LE Set Host Channel Classification command
- 功能:设置主机对BLE通道的分类。
- 用途:通过分类通道,主机可以更有效地管理资源,优化数据传输路径。
1.4. 安全与隐私设置
- LE Set Address Resolution Enable command
- 功能:启用或禁用BLE地址解析功能。
- 用途:控制设备是否使用地址解析来识别连接的设备,以提高通信的安全性。
- LE Set Host Feature command
- 功能:设置BLE主机功能。
- 用途:通过配置主机功能,可以启用或禁用特定的BLE特性,以满足特定的应用需求。
1.5. 信道与特性
在BLE技术中,信道与特性相关信息对于优化通信和确保设备间的互操作性至关重要。
-
LE Read Channel Map command(低功耗蓝牙读取信道映射命令)
- 功能:用于读取BLE设备当前使用的信道映射信息。信道映射定义了BLE设备在通信过程中可以使用的频率信道。通过读取信道映射,可以了解设备当前正在使用哪些信道,以及哪些信道是空闲的或被其他设备占用。
- 用途:
- 优化通信频率选择:了解信道使用情况有助于选择最佳的通信频率,从而避免干扰并提高通信质量。
- 频谱管理:在频谱资源有限的环境中,通过读取信道映射可以更有效地管理频谱资源,确保BLE设备能够与其他无线设备共存。
- 调试和故障排除:在调试和故障排除过程中,读取信道映射信息可以帮助识别潜在的通信问题,如信道冲突或干扰。
- LE Read Remote Features command(低功耗蓝牙读取远程设备特性命令)
- 功能:用于读取与BLE设备连接的远程设备的特性信息。特性信息描述了远程设备的功能、能力和支持的协议。
- 用途:
- 了解远程设备功能:通过读取远程设备的特性,主机可以了解远程设备支持哪些服务和特性,从而确定如何与之进行交互。
- 优化通信:了解远程设备的特性有助于优化通信过程,例如选择最合适的通信参数或协议。
- 确保互操作性:通过验证远程设备的特性,可以确保BLE设备之间的互操作性,从而避免由于功能不匹配而导致的通信问题。
1.6. 数据长度相关
在BLE技术中,数据长度的设置对于通信效率和资源利用至关重要。
-
LE Set Data Length command(BLE设置数据长度命令)
- 功能:用于设置BLE连接中的数据长度,即单个数据包中可以包含的最大有效载荷大小。数据长度的设置直接影响数据传输的效率和功耗。
- 用途:
- 优化通信效率:根据实际应用需求调整数据长度,可以减少数据传输的次数,从而提高通信效率。
- 资源利用:合理设置数据长度可以更有效地利用无线资源,减少不必要的开销。
- 功耗管理:通过调整数据长度,可以在保证通信质量的同时降低设备的功耗。
- LE Read Suggested Default Data Length command(BLE读取建议的默认数据长度命令)
- 功能:用于读取BLE控制器建议的默认数据长度。这个建议值是基于当前连接的状态、设备的能力和预期的通信模式等因素综合得出的。
- 用途:
- 提供参考值:为主机提供一个关于默认数据长度的参考值,帮助主机在设置数据长度时做出更合适的决策。
- 简化配置:通过读取建议的默认数据长度,主机可以快速配置一个合理的初始数据长度,而无需进行复杂的计算和测试。
- LE Write Suggested Default Data Length command(BLE写入建议的默认数据长度命令)
- 功能:允许主机写入一个建议的默认数据长度到BLE控制器中。这个建议值可以基于特定的应用场景或需求来定制。
- 用途:
- 定制默认设置:允许主机根据特定的应用场景或需求来定制默认的数据长度设置,以满足特定的通信要求。
- 优化性能:通过定制默认数据长度,可以进一步优化BLE设备的通信性能和资源利用率。
这些命令共同构成了BLE设备的基础设置与管理框架,通过合理配置这些命令,可以实现对BLE设备的精细控制和管理,提高设备的性能和安全性。
二、广播与扫描(36个)
2.1. 广播参数设置
-
LE Set Advertising Parameters command
- 功能:用于设置标准的BLE广播参数。
- 参数:可能包括广播间隔(决定了设备广播数据的频率)、广播类型(如通用广播、定向广播等)以及广播中包含的数据类型等。
- 使用场景:适用于大多数BLE设备的基本广播需求,如设备发现、连接建立等。
- 操作:通过BLE协议栈提供的API接口进行设置,确保设备按照预定的参数进行广播。
- 【0x0006】HCI_LE_Set_Advertising_Parameters命令全面解析-CSDN博客
-
LE Set Extended Advertising Parameters command
- 功能:用于设置扩展广播参数,提供比标准广播更多的灵活性和功能。
- 参数:可能包括更长的广播数据长度、更多的广播通道(如使用次广播信道)、广播间隔的更多选项等。
- 使用场景:适用于需要传输更多数据或提高广播灵活性的场景,如物联网设备的数据上报、广告推送等。
- 操作:同样通过BLE协议栈提供的API接口进行设置,但需要注意扩展广播参数的设置可能涉及更多的配置选项和限制条件。
- 【0x0036/0x007F】HCI_LE_Set_Extended_Advertising_Parameters命令全面解析_le set advertising parameters-CSDN博客
-
LE Set Periodic Advertising Parameters command
- 功能:用于设置周期性广播参数,允许设备以固定的时间间隔重复发送广播数据。
- 参数:包括周期性广播的间隔、数据内容等。
- 使用场景:适用于需要定期更新信息的场景,如传感器数据的实时上报、设备状态的定期更新等。
- 操作:通过BLE协议栈提供的API接口进行设置,确保设备能够按照预定的时间间隔和数据内容发送周期性广播。
- 【0x003E/0x86】HCI_LE_Set_Periodic_Advertising_Parameters 命令全面解析_read periodic advertiser lis size-CSDN博客
2.2. 广播数据设置
-
LE Set Advertising Data command
- 功能:用于设置标准广播数据。
- 数据内容:可能包括设备的名称、地址、服务UUID等信息。
- 使用场景:适用于设备发现、连接建立等基本通信需求。
- 操作:通过BLE协议栈提供的API接口设置广播数据,确保其他设备能够识别和连接该设备。
- 【0x0008】HCI_LE_Set_Advertising_Data命令全面解析-CSDN博客
-
LE Set Extended Advertising Data command
- 功能:用于设置扩展广播数据。
- 数据内容:与标准广播数据相比,扩展广播数据可以包含更多的信息,并且支持更复杂的数据格式,如制造商特定数据、更长的服务UUID列表等。
- 使用场景:适用于需要传输更多信息或提供更复杂数据格式的场景。
- 操作:同样通过BLE协议栈提供的API接口进行设置,但需要注意扩展广播数据的长度和格式限制。
- 【0x0037】HCI_LE_Set_Extended_Advertising_Data命令全面解析-CSDN博客
-
LE Set Periodic Advertising Data command
- 功能:用于设置周期性广播数据。
- 数据内容:通常用于传输定期更新的信息,如传感器读数、设备状态等。
- 使用场景:适用于需要定期更新信息的场景。
- 操作:通过BLE协议栈提供的API接口设置周期性广播数据,确保设备能够按照预定的时间间隔和数据内容发送广播。
- 【0x003F】HCI_LE_Set_Periodic_Advertising_Data命令全面解析-CSDN博客
- LE Set Periodic Advertising Subevent Data command
- 该命令BLE 5.2引入的一个重要功能,它允许在周期性广播中发送可变的数据。
-
功能:主要功能是设置周期性广播中的子事件数据。在BLE 5.2及更高版本中,周期性广播是一种节能的广播模式,它允许设备以固定的间隔重复发送广播数据。通过该命令,设备可以在周期性广播的每个子事件中发送不同的数据,从而满足特定应用的需求。
-
数据内容:该命令设置的数据内容主要包括子事件的数据包。这些数据包可以包含各种类型的信息,如传感器数据、设备状态、配置参数等。数据包的具体内容和格式取决于应用的需求和设备的实现。在发送子事件数据时,设备需要确保数据的完整性和准确性,以便接收设备能够正确解析和处理。
-
使用场景:适用于传感器数据广播、设备状态更新和配置参数分发等场景。
-
操作:设备需先准备好要发送的子事件数据,然后通过BLE协议栈发送该命令。BLE控制器接收并处理命令后,设备即可开始周期性广播,按预设间隔发送包含子事件数据的广播包。
-
2.3. 扫描响应数据设置
-
LE Set Scan Response Data command
-
功能:用于设置BLE设备在广播过程中的扫描响应数据。当设备被其他BLE设备扫描时,如果请求扫描响应数据,则接收到的将是这里设置的数据。
-
应用场景:适用于需要在广播过程中提供额外设备信息或动态内容的场景。例如,设备可以在扫描响应数据中包含设备名称、服务UUID等,以便进行后续的连接或数据交换。
-
操作:执行该命令后,BLE设备将更新其扫描响应数据。命令的格式通常遵循蓝牙核心规范中定义的HCI命令结构,包括OGF(Opcode Group Field)和OCF(Opcode Command Field)等字段。在设置扫描响应数据时,需要指定扫描响应数据的长度(Scan_Response_Data_Length)和实际的扫描响应数据(Scan_Response_Data)。这些数据将被包含在扫描响应包中发送给扫描设备。
-
-
LE Set Extended Scan Response Data command
-
功能:该命令是蓝牙5.0及更高版本中引入的,用于设置扩展扫描响应数据。与LE Set Scan Response Data command相比,它可以提供更丰富的响应信息。
-
应用场景:适用于需要发送更多扫描响应数据的场景。例如,当设备需要在广播过程中提供详细的设备信息、服务数据或制造商特定数据时,可以使用此命令。
-
操作:该命令的格式也遵循蓝牙协议栈中的HCI数据格式。在执行此命令时,需要指定广播句柄(Advertising_Handle)以标识要更新的广播集。同时,还需要指定扫描响应数据的长度和实际的扫描响应数据。这些数据将在后续的扩展广播事件中使用。如果广播集当前已启用广播,则芯片应在后续扩展广播事件中使用此新数据。如果广播集当前已禁用广播,则芯片将保存这些数据,并在为该集启用广播时使用它们。
-
【0x0038】HCI_LE_Set_Extended_Scan_Response_Data命令全面解析_le set extended scan parameters command-CSDN博客
-