繁体   English   中英

如何在bluez中编写客户端特征配置描述符

[英]How to write a client characteristic configuration descriptor in bluez

我正在使用Linux板上bluez随附的example-gatt-server.py脚本。 我想向我的自定义特征之一添加通知。 为此,我需要定义客户端特征配置描述符并将其添加到我的自定义特征中。 这是我的做法-

类ClientCharacteristicConfigurationDescriptor(Descriptor):

CCCD_UUID = '2902'

def __init__(self, bus, index, characteristic):
    self.value = array.array('B')
    self.value = self.value.tolist()
    #self.value = []

    Descriptor.__init__(
            self, bus, index,
            self.CCCD_UUID,
            ['read', 'write'],
            characteristic)

def ReadValue(self):
    print("I am reading CCCD value")
    print(self.value)
    return self.value

def WriteValue(self, value):
    print("I am writing CCCD value")
    print type(value)
    #self.value = value
    print(value)

该代码的灵感来自example-gatt-server文件中已定义的CharacteristicUserDescriptionDescriptor类。 上面的代码在读取或写入时给我错误。 它甚至不打印“我正在读取CCCD值”语句。 我在这里想念什么?

谢谢!

Bluez处理客户端特征配置描述符(CCCD)。 您无需在代码中自己定义它。
如果您已为相应特征定义了标志“ notify”,则Bluez将透明地处理通知支持。

如您example-gatt-server定义了特征用户描述(CUD),而不是CCCD。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM