Я пытаюсь связаться с устройством по Bluetooth (низкое энергопотребление).У меня есть UUID, также я делаю все, что показывает автор этой библиотеки.(https://github.com/hbldh/bleak/issues/59), но независимо от того, что я печатаю в «data» в функции client.write_gatt_char, он показывает мне такой тип ошибки: «Не удалось записать значение« data »в характеристику». Я пробовал байты или bytearray », но все заканчивается той же ошибкой. Я решил прокомментировать эту функцию. К сожалению, функция обратного вызова никогда не вызывалась. Буду очень признателен за вашу помощь.
def callback(sender, data):
print(f"{sender}: {data}")
async def run(address, loop, debug=False):
log = logging.getLogger(__name__)
if debug:
import sys
loop.set_debug(True)
log.setLevel(logging.DEBUG)
h = logging.StreamHandler(sys.stdout)
h.setLevel(logging.DEBUG)
log.addHandler(h)
async with BleakClient(address, loop=loop) as client:
x = await client.is_connected()
log.info("Connected: {0}".format(x))
write_value = bytearray([0xa0])
rw_charac = uuid.UUID('49365E80-CF3A-11E1-9AB4-0002A5D5C51B')
await client.get_services()
await client.start_notify(rw_charac, callback)
#await client.write_gatt_char(rw_charac, write_value, response=True)
await asyncio.sleep(0.5, loop=loop)
await client.stop_notify(rw_charac)
if __name__ == "__main__":
address = "9D:1C:2D:D3:E6:85"
loop = asyncio.get_event_loop()
loop.run_until_complete(run(address, loop, True))