BlueZ开发咨询:le_set_advertising_parameters_cp字段含义、文档及扩展广播设置
BlueZ相关问题解答
1. le_set_advertising_parameters_cp结构体字段含义
le_set_advertising_parameters_cp是BlueZ中配置BLE广播参数的核心命令参数结构体,定义在include/hci/hci.h中,各字段含义如下:
min_interval/max_interval:广播的最小、最大间隔,单位为0.625ms,取值范围对应20ms(数值32)到10.24s(数值16384),实际广播间隔会在两者间随机选取adv_type:广播类型,决定广播的连接性、定向性等核心属性own_bdaddr_type:自身蓝牙地址类型,0代表公开地址,1代表随机地址direct_bdaddr_type:仅定向广播场景生效,指定目标设备的地址类型,取值同own_bdaddr_typedirect_bdaddr:仅定向广播场景生效,存储目标设备的蓝牙地址channel_map:广播信道掩码,默认0x07表示使用BLE的37、38、39三个专用广播信道filter_policy:广播过滤策略,控制可扫描/连接当前设备的对象范围,比如0x00允许任意设备,0x01仅允许白名单设备
2. BlueZ官方参考资源
BlueZ自带的官方参考资料无需跳转外部网站,主要包括:
- 源码内置文档:BlueZ源码
doc目录下的mgmt-api.txt(管理层API规范)、hci-api.txt(HCI层命令细节) - 头文件注释:
include/hci/目录下的hci.h、hci_lib.h等文件中,包含结构体、常量的详细注释 - 系统手册页:通过
man命令查看工具与API手册,比如man hcitool、man hci_le_set_advertising_parameters - 示例代码:BlueZ源码
examples目录下有BLE广播、扫描、连接等场景的可运行代码实现
3. 扩展广播类型的参数值
要设置扩展广播类型,需将le_set_advertising_parameters_cp结构体的adv_type字段设为以下值之一:
0x06:非定向可连接扩展广播(Connectable Undirected Extended Advertising)0x07:非定向不可连接扩展广播(Non-Connectable Undirected Extended Advertising)
注意:使用扩展广播要求蓝牙适配器支持BLE 5.0及以上版本,同时可能需要配合配置更大的广播数据长度参数。
内容的提问来源于stack exchange,提问作者Soubhagya Sahoo
相关产品推荐
相关产品推荐

