[WIP] Basic scanner output test

This commit is contained in:
jpk 2023-05-13 14:32:15 +02:00
parent f4be2c9ff4
commit 8bd65f2015
2 changed files with 23 additions and 2 deletions

View File

@ -2,11 +2,12 @@
import click
from ..tools.ble import scanner
@click.command()
def scan():
pass
scanner.run()
@click.group()

View File

@ -1,4 +1,24 @@
import asyncio
from bleak import BleakScanner
from bleak.backends.device import BLEDevice
from bleak.backends.scanner import AdvertisementData
import bleak.exc
def scanner():
def discover_callback(device: BLEDevice, advertising_data: AdvertisementData):
print(f"[{advertising_data.rssi:-4d}] {device.address} - {device.name} with {len(advertising_data.service_uuids)} services")
async def discover_devices():
stop_event = asyncio.Event()
async with BleakScanner(discover_callback):
await stop_event.wait()
def run():
print("scanner called")
try:
asyncio.run(discover_devices())
except bleak.exc.BleakDBusError as exc:
print(f"ERROR: {exc}")