58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
import asyncio
|
|
from bleak import discover
|
|
|
|
from pprint import pprint
|
|
|
|
|
|
async def run():
|
|
devices = await discover()
|
|
for d in devices:
|
|
print(d)
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(run())
|
|
|
|
import asyncio
|
|
from bleak import BleakClient
|
|
|
|
address = "e3:ae:cd:af:28:e2"
|
|
MODEL_NBR_UUID = "64a7000f-f691-4b93-a6f4-0968f5b648f8"
|
|
|
|
async def run(address, loop):
|
|
async with BleakClient(address, loop=loop) as client:
|
|
# await client.connect()
|
|
print(await client.is_connected())
|
|
print(await client.get_services())
|
|
services = await client.get_services()
|
|
pprint(services.descriptors)
|
|
pprint(services.characteristics)
|
|
pprint(services.services)
|
|
# print(services.descriptors)
|
|
# for key, val in services.descriptors.items():
|
|
# print(f"{key} + {val}")
|
|
#
|
|
# print(services.characteristics)
|
|
# for key, val in services.characteristics.items():
|
|
# print(f"{key} + {val}")
|
|
|
|
print(services)
|
|
for x in services:
|
|
print(x)
|
|
for characteristic in x.characteristics:
|
|
print("")
|
|
print(characteristic)
|
|
print(characteristic.properties)
|
|
for descriptor in characteristic.descriptors:
|
|
print(descriptor)
|
|
print(x.description)
|
|
# for i in range(10):
|
|
# x = await client.read_gatt_descriptor(i)
|
|
# print(x)
|
|
|
|
model_number = await client.read_gatt_char()
|
|
print(model_number)
|
|
print("Model Number: {0}".format("".join(map(chr, model_number))))
|
|
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(run(address, loop)) |