与多个外围蓝牙设备建立连接后,Bluezero / BlueZ 变慢

问题描述

我们有一个 Python 应用程序,它一次连接到 10 个 BLE 设备并执行制造测试。 以下是测试的工作流程:

  1. 连接到 10 台设备中的第一台。
  2. 读取和写入一些特征,其中之一会重启外围设备
  3. 重新连接到设备 1,启用 1 个特征的通知,并侦听约 170-200k 的数据
  4. 断开与设备 1 的连接,关闭设备 1,然后在下一台设备上重复第 1-3 步

随着我们通过这些设备,每个设备的数据传输逐渐变慢,第一个设备很快,第二个设备稍慢等等,即使我们在执行测试后与每个设备断开连接。我们假设可能有一些与我们的使用相关的东西导致了这种放缓,但是在审查了项目中相对较少的代码后,我们无法解释 Python 代码中可能导致速度下降的任何内容

我们尝试在测试时关闭每台设备以确保低干扰,从 Central 中移除缓存设备,并在两次测试之间重新启动蓝牙服务。在测试这些更改后,sudo 服务蓝牙重启是唯一可以缓解数据传输过程中延迟增长的解决方案。

我们正在寻找有关所描述情况的解决方案或调试技术的任何想法。 提前致谢!

使用的版本: Ubuntu 20.04、Bluezero 0.4.0、bluez 5.53"(已编辑)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)