функция обратного вызова никогда не вызывалась в мрачном lib - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь связаться с устройством по 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...