[英]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.