在黑暗的lib中从未调用过函数回调

时间:2019-06-06 09:18:36

标签: python bluetooth-lowenergy

我正在尝试通过蓝牙(低能耗)与设备通信。我有UUID,我也在做这个库的作者所做的一切。 (https://github.com/hbldh/bleak/issues/59),但是无论我在client.write_gatt_char函数中向“数据”键入什么,它都会向我显示这种类型的错误: “无法将值'数据'写入特征” 我试过字节或字节数组,但一切都以相同的错误结尾。 我决定对此功能发表评论。不幸的是,从未调用过函数回调。 感谢您的帮助。

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))

0 个答案:

没有答案