from bleak import BleakScanner, BleakClient import asyncio async def get_services(mac_address: str): async with BleakClient(mac_address) as client: svcs = client.services return svcs async def find_and_get_services(device_name: str): # 发现所有设备 devices = await BleakScanner.discover() # 遍历设备列表,查找目标设备 for device in devices: if device.name == device_name: print(f"Found device: {device.name}, MAC Address: {device.address}") # 获取服务 services = await get_services(device.address) if services: last_service = services.services[40] return { "device_name": device.name, "mac_address": device.address, "last_service_uuid": last_service.uuid, } else: print("No services found for the device.") return None # 如果没有找到设备 print(f"Device with name '{device_name}' not found.") return None # 设备名称 device_name = "scent08d1f90efa9a" # 调用函数并获取返回值 result = asyncio.run(find_and_get_services(device_name)) print(result)