Я работаю со сценарием example-gatt-server.py, который поставляется с bluez на моей плате Linux. Я хочу добавить уведомление к одной из моих пользовательских характеристик. Для этого мне нужно определить дескриптор конфигурации характеристик клиента и добавить его в мою пользовательскую характеристику. Вот как я это делаю -
класс ClientCharacteristicConfigurationDescriptor (дескриптор):
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)
Этот код был вдохновлен классом CharacteristicUserDescriptionDescriptor, который уже определен в файле example-gatt-server. Приведенный выше код дает мне ошибки при чтении или записи. Он даже не печатает заявление «Я читаю значение CCCD». Что мне здесь не хватает?
Спасибо!