有没有办法增加 BlueZ 中的 BLE 广告频率?

2024-11-14 08:29:00
admin
原创
138
摘要:问题描述:我有一台 Linux 计算机,使用以下命令广播 BLE 广告: sudo hciconfig hci0 up sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 ...

问题描述:

我有一台 Linux 计算机,使用以下命令广播 BLE 广告:

 sudo hciconfig hci0 up
 sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00
 sudo hciconfig hci0 leadv 3

这很有效,但计算机每秒只广播一次蓝牙广告。我想将此频率增加到每秒 10 次或更多。有没有办法增加 BlueZ 中的广告频率?或者每秒一次是标准且不可更改?如果无法使用命令行工具,我很乐意使用 C API 来执行此操作。


解决方案 1:

我想我已经明白了。

而不是:

sudo hciconfig hci0 up
sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00
sudo hciconfig hci0 leadv 3

这样做:

sudo hciconfig hci0 up
sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00
sudo hcitool -i hci0 cmd 0x08 0x0006 A0 00 A0 00 03 00 00 00 00 00 00 00 00 07 00
sudo hcitool -i hci0 cmd 0x08 0x000a 01

第二个 hcitool 命令 (0x08 0x0006) 是“LE 设置广告参数”。前两个字节 A0 00 是“最小间隔”。后两个字节 A0 00 是“最大间隔”。在此示例中,它将广告之间的时间设置为 100ms。此设置的粒度为 0.625ms,因此将间隔设置为 01 00 会将广告设置为每 0.625ms 播放一次。将其设置为 A0 00 会将广告设置为每 0xA00.625ms = 100ms 播放一次。将其设置为 40 06 会将广告设置为每 0x06400.625ms = 1000ms 播放一次。第五个字节 03 将广告模式设置为不可连接。对于不可连接广告,最快的播放时间为 100ms,而对于可连接广告 (0x00),您可以更快地播放广告。

第三个 hcitool 命令(0x08 0x000a)是“LE Set Advertise Enable”。需要使用 hcitool 而不是 hciconfig 发出此命令,因为“hciconfig hci0 leadv 3”会自动将广告速率设置为较慢的默认值 1280ms。

我通过在运行问题中发布的原始命令的同时运行 hcidump 来解决这个问题。这会向您显示一堆由 bluez 执行的原始 hcitool 命令(很好地注释了它们的作用)。我刚好从 hcidump 输出中注意到“hciconfig hci0 leadv 3”发出了一个较慢的设置广告间隔命令。

请注意,所有这些都基于 IOGear GBU521,因此可能不适用于其他蓝牙 LE 芯片组。

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1109  
  IPD(Integrated Product Development,集成产品开发)流程是一种广泛应用于高科技和制造业的产品开发方法论。它通过跨职能团队的紧密协作,将产品开发周期缩短,同时提高产品质量和市场成功率。在IPD流程中,CDCP(Concept Decision Checkpoint,概念决策检查点)是一个关...
IPD培训课程   73  
  研发IPD(集成产品开发)流程作为一种系统化的产品开发方法,已经在许多行业中得到广泛应用。它不仅能够提升产品开发的效率和质量,还能够通过优化流程和资源分配,显著提高客户满意度。客户满意度是企业长期成功的关键因素之一,而IPD流程通过其独特的结构和机制,能够确保产品从概念到市场交付的每个环节都围绕客户需求展开。本文将深入...
IPD流程   63  
  IPD(Integrated Product Development,集成产品开发)流程是一种以跨职能团队协作为核心的产品开发方法,旨在通过优化资源分配、提高沟通效率以及减少返工,从而缩短项目周期并提升产品质量。随着企业对产品上市速度的要求越来越高,IPD流程的应用价值愈发凸显。通过整合产品开发过程中的各个环节,IPD...
IPD项目管理咨询   71  
  跨部门沟通是企业运营中不可或缺的一环,尤其在复杂的产品开发过程中,不同部门之间的协作效率直接影响项目的成败。集成产品开发(IPD)作为一种系统化的项目管理方法,旨在通过优化流程和增强团队协作来提升产品开发的效率和质量。然而,跨部门沟通的复杂性往往成为IPD实施中的一大挑战。部门之间的目标差异、信息不对称以及沟通渠道不畅...
IPD是什么意思   66  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用