首页 > 其他分享 >LE Controller commands(低功耗控制器命令)速览

LE Controller commands(低功耗控制器命令)速览

时间:2024-11-01 13:45:08浏览次数:6  
标签:commands LE 低功耗 广播 Set BLE 数据 设备

目录

一、基础设置与管理命令(15个)

1.1. 事件控制与状态查询

1.2. 设备配置与特性查询

1.3. 性能优化与资源管理

1.4. 安全与隐私设置

1.5. 信道与特性

1.6. 数据长度相关

二、广播与扫描(36个)

2.1. 广播参数设置

2.2. 广播数据设置

2.3. 扫描响应数据设置

2.4. 设置随机地址

2.5. 广播启用/禁用

2.6. 周期性广播同步管理

2.7. 周期性广播列表管理

2.8. 周期性广播接收和同步传输

2.9. 广播物理信道发射功率相关命令

2.10. 广播数据长度相关命令

2.11. 广播集管理相关命令

2.12. 扫描参数设置

2.13. 扫描启用/禁用

三、连接管理(6个)

3.1. 创建连接与取消

3.2. 连接更新

3.3. 远程连接参数请求处理

四、设备地址与过滤管理(11个)

4.1. 过滤列表管理

4.2. 设备解析列表管理

4.3. 地址解析相关

五、安全与加密(7个)

5.1. 加密相关

5.2. 密钥生成与读取

六、物理层与射频设置(6个)

6.1. 读取物理层信息

6.2. 设置物理层参数

6.3. 射频设置

七、测试模式(7个)

7.1. 收发器测试

7.2. ISO 测试

7.3. 测试结束

八、CTE(Constant Tone Extension)相关(7个)

九、天线信息与时钟精度相关(2个)

十、ISO(Isochronous)相关(16个)

10.1. 同步连接组(CIG)管理

10.2. 同步连接流(CIS)管理

10.3. 广播同步组(BIG)管理

10.4. 同步传输同步与数据路径管理

10.5. 安全与管理

十一、功率级别与报告相关(5个)

11.1. 发射功率级别读取

11.2. 路径损耗报告配置

11.3. 发射功率报告配置

十二、地址更改与子速率相关(3个)

12.1. 地址更改管理

12.2. 子速率配置


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

1.2. 设备配置与特性查询

1.3. 性能优化与资源管理

  • LE Read Buffer Size command
  • 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

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)。这些数据将被包含在扫描响应包中发送给扫描设备。

    • 【0x0009】HCI_LE_Set_Scan_Response_Data命令全面解析-CSDN博客

  • 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博客

标签:commands,LE,低功耗,广播,Set,BLE,数据,设备
From: https://blog.csdn.net/weixin_37800531/article/details/143329587

相关文章

  • 【Kettle的安装与使用】使用Kettle实现mysql和hive的数据传输(使用Kettle将mysql数据导
    文章目录一、安装1、解压2、修改字符集3、启动二、实战1、将hive数据导入mysql2、将mysql数据导入到hive一、安装Kettle的安装包在文章结尾1、解压在windows中解压到一个非中文路径下2、修改字符集修改spoon.bat文件"-Dfile.encoding=UTF-8"3、启动以......
  • Asp.net 使用FluentScheduler
     1.安装包:Install-PackageFluentScheduler2.  Global.asax添加JobManager.Initialize(newMyRegister());3.添加类 publicclassMyRegister:Registry{publicMyRegister(){//ScheduleanIJobtorunataninte......
  • Gemini API 和 Google AI Studio 升级,提升搜索准确性和响应能力
    从今天开始,使用Google的GeminiAPI和 GoogleAIStudio 构建AI服务和机器人开发者,将能够通过Google搜索的数据来增强其提示结果,这将使得基于更新数据的响应更加准确。开发者可以在AIStudio中免费尝试这一功能,AIStudio是Google为开发者提供的测试和优化提示......
  • 了解SQLExpress数据库
            SQLExpress(MicrosoftSQLServerExpress)是由微软公司开发的一款免费且轻量级的数据库管理系统。以下是关于SQLExpress的详细解释:一、定义与特点定义:SQLExpress是MicrosoftSQLServer的一个缩减版或基础版,旨在满足小型企业、开发人员和个人用户的需求。......
  • 15. NSView 视图与 NSViewController 视图控制器
    NSView视图对象视图与窗口NSViewController视图控制器负责管理NSView的生命周期,同时也会管理所有子视图控制器,以便实现不同视图的切换,同时需要区分下NSWindow和NSView的区别,视图这东西比较复杂。NSViewController不能独立显示,必须做为NSWindow(view)的子视图或NSWindowCont......
  • 【SpringBoot】Jedis和Lettuce的区别
    Springboot整合Lettucespringboot2.0版本后,spring-boot-starter-data-redis提供了Lettuce代替Jedis。<!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId......
  • ORB-SLAM2源码学习:ORBextractor.cc:IC_Angle 利用灰度质心法求解关键点方向角
    ORB特征点:特征点是由关键点和描述子两部分组成,关键点是指特征点在图像中的位置,描述子是用来描述关键点周围的像素信息。ORB关键点是在FAST关键点的基础上进行改进给像素增加了一个主方向,称为OrientedFAST。描述子在BRIEF的基础上加入了上述的方向信息,称为SteeredBRIEF。FAS......
  • Stable Diffusion Web UI 1.9.4 Docker 基础镜像
    镜像的构建会需要科学上网,不会的人,最好的方式就是花钱购买境外服务器。本文使用:Windwos11+WSL(Ubuntu22.04)进行镜像构建,使用 Clash代理。读者相同环境,实现代理需要两项配置-配置一:WSL开启镜像模式-配置二:Clash开启局域网访问模式+TUN模式即可让WSL中的......
  • Oracle与GreatSQL差异:更改唯一索引列
    Oracle与GreatSQL差异:更改唯一索引列1.问题来源在从Oracle迁移到GreatSQL的应用系统中,一条普通的update语句在GreatSQL中却报错,需要进行SQL语句的改写。把实际问题简化为下面简单情况进行说明。在Oracle下,可以正常执行的update语句。--建表CREATETABLEtest.test1(id......
  • recycleview 滑动辅助
    importandroid.content.Contextimportandroid.graphics.Rectimportandroid.util.DisplayMetricsimportandroid.util.Logimportandroid.view.Viewimportandroidx.recyclerview.widget.GridLayoutManagerimportandroidx.recyclerview.widget.LinearLayoutManageri......