#!/usr/bin/env -S uv run --script # /// script # requires-python = ">=3.10" # dependencies = [ # "bleak", # ] # [tool.uv] # exclude-newer = "2025-07-03T00:00:00Z" # /// import asyncio import sys from bleak import BleakClient async def main(mac_address): def disconnected_callback(client): print("Disconnected callback called") async with BleakClient( mac_address, timeout=15, disconnected_callback=disconnected_callback ) as client: print(f"Connected to {mac_address}") print("Services and characteristics:") for service in client.services: print(f" Service: {service}") for char in service.characteristics: print( f" Characteristic: {char}, properties: {char.properties}" ) # Para poder lanzarlo manualmente if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} ") sys.exit(1) mac = sys.argv[1] asyncio.run(main(mac))