如何将QLowEnergyDescriptor彼此区分开?

时间:2018-10-17 08:41:41

标签: c++ qt bluetooth-lowenergy qt5

QLowEnergyService发出

的信号
descriptorWritten(const QLowEnergyDescriptor &descriptor, const QByteArray &newValue)

在我的设备中,其自定义服务具有10多个特征和10个QBluetoothUuid :: ClientCharacteristicConfiguration描述符。

单独使用描述符时,它们看起来都是一样的。

2 个答案:

答案 0 :(得分:0)

插槽函数签名包含const QLowEnergyDescriptor &ccd,您可以调用它的uuid()函数来将uuid与uuid列表进行比较。

答案 1 :(得分:0)

我找到了方法。

每个特征或描述符在GATT表中都有一个唯一的句柄号。 QLowEnergyCharacteristic和QLowEnergyDescriptor类都具有handle()方法。设备的每个主要服务都拥有一定范围的句柄。因此,如果我知道GATT的这种结构,则可以使用其父服务和/或特征将descriptorWritten()的响应消息调度到正确的方法。

要在Linux中获取GATT表,我使用了两个工具hcitool和gatttool。

import { Injectable } from '@angular/core';

@Injectable()
export class LangToggler {
  lang:any='en';

  toggle(lang) {
   //Here I want to change my css file  **switch between `RTL` and `LTR`**
  }
}

如您所见,有18个不同的CCC描述符具有相同的UUID 00002902-0000-1000-8000-00805f9b34fb

相关问题