使用Qt的一台设备上有多个Qt蓝牙低功耗服务器?

时间:2017-01-18 06:23:59

标签: qt bluetooth bluetooth-lowenergy

我想使用Qt(在Linux上)从一个设备公开多个BLE服务,但如果可能的话,我不知道该怎么做。

在我的具体情况下,我希望我的设备既是心率服务(HRS)又是循环电力服务(CPS)。

我的测试代码与Qt文档http://doc.qt.io/qt-5/qtbluetooth-heartrate-server-main-cpp.html中的心率服务器示例非常相似,我尝试了以下两种方法:

  1. 在一个应用程序中使用两个QLowEnergyControllers
  2. 使用一个QLowEnergyController,但使用bleController-> addService()添加两个不同的服务。
  3. 然而,似乎任何一个都没有正常工作,或者只是我用于测试的应用程序并没有真正正确地处理这个问题。我目前使用带有TrainerRoad的iPhone 6s进行测试,如果我只是暴露其中一项服务,它就可以正常运行。

    可以这样做,如果是,那么正确的方法是什么?

1 个答案:

答案 0 :(得分:0)

我重试了一段时间,可以使用一个设备成功提供多种服务。正确的方法是使用选项2,因此一个QLowEnergyController然后添加多个服务。

不幸的是,我没有将代码保留在第一次尝试中,所以我不能为我做错的事情提供一个很好的答案。但是它可以“按预期的方式工作”,不需要特殊的东西。