我正在尝试通过蓝牙(低能耗)与设备通信。我有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))