linux - 有没有办法用BlueZ广告多个信标

标签 linux bluetooth-lowenergy bluez

我需要播发2组不同的数据,每组31个字节。当我查看核心规范v4.0时,似乎不太可能。

据我了解,进一步了解时,信标可以在3个不同的 channel 中进行广告发布:37、38、39。 LE设置广告参数命令使得可以一次选择所有特定 channel 。

7.8.5  LE Set Advertising Parameters Command

是否可以在不同的 channel 中发布不同的数据?

如果不可能,我剩下的唯一解决方案是使用 LE设置广告数据命令定期更改广告数据。

我很高兴看到有关性能,稳定性和功耗的一些见解。

最佳答案

是的,只要您定期更改广告有效负载,您的设备就可以充当多个BLE信标。您建议使用LE Set Advertising Data Command,这是我推荐的方法,因此您无需更改广告 channel 。

换句话说,您可以在设备上执行的操作是设置一个计时器,然后一旦计时器到期,您就可以切换到正在发布的另一组BLE数据,这将对设备的运行产生影响作为多个信标。

请查看以下链接,这些链接也可能对您的问题有所帮助:-

  • Can BLE devices act as beacons
  • advertise custom service uuid with bluez 5.4x
  • Linux BlueZ custom Manufacturing Scan Response Data
  • Bluez BLE peripheral advertise custom characteristic with ADV data

  • 我希望这有帮助。

    关于linux - 有没有办法用BlueZ广告多个信标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62341071/

    相关文章:

    ios - Objective C 中的蓝牙配对与连接

    linux - 如何通过 BlueZ C 库执行蓝牙低功耗扫描

    linux - 通过蓝牙与 bash 或其他东西自动绑定(bind) ePuck

    c - 如何使用 C 中的原始套接字发送接收到的数据包?

    xml - 如何使用正则表达式操作来自 SOAP XML 的数据

    java - C语言如何为特定任务编写像多线程一样的Java?它可以作为 objective-c 来完成吗?

    linux - 如何解决 bluez5 和 pybluez 之间的冲突

    linux - 如何访问新 Subversion 存储库的 trunk 目录?

    android - Genuino 101 - 通过 BLE 向 Android 发送 csv 字符串

    android - 无法连接到蓝牙/BlueZ 服务器 : Could not create RFCOMM socket