Я пытаюсь подписаться на характеристики GATT c.
Я установил атрибуты "Indicate", "Notify" и "Read" для характеристик GATT c в моем устройстве BLE.
Я могу подключиться к своему BLE-устройству и читать / записывать другие характеристики.
Однако я не могу выполнить функцию device.subscribe () для этой конкретной характеристики c .
Когда я использую
device.subscribe("845ce63c-d003-423c-8922-818676d34255", callback=handle_data)
, я получаю ошибку
pygatt.backends.bgapi.exceptions.ExpectedResponseTimeout: Тайм-аут после 10.000000, ожидая [ ]
В ссылке https://github.com/peplin/pygatt/blob/master/pygatt/device.py функция подписки имеет параметр "wait_for_response"
В моем коде, если я использую
device.subscribe("845ce63c-d003-423c-8922-818676d34255", callback=handle_data, wait_for_response=True)
показывает ошибку
TypeError: subscribe () получил неожиданный аргумент ключевого слова 'wait_for_response'
Как мне устранить эти ошибки и подписаться на характеристику c?
РЕДАКТИРОВАТЬ:
Я добавил свойства Читать nd Записать в характеристику c вместе с Уведомить и указать
Я могу прочитать и записать в характеристику c, используя следующий код: -
import pygatt
adapter = pygatt.BGAPIBackend()
try:
adapter.start()
device = adapter.connect('xx:xx:xx:xx:xx:xx')
print("Connected")
#value = device.char_write_handle(55, bytearray([0x00,0x01]), wait_for_response=True)
value = device.char_read_handle(55)
print(value)
finally:
adapter.stop()
Однако это просто я не могу подписаться на него.
Я действительно застрял здесь.
Любая помощь очень ценится!