loadcell/btproxy/print_uart.py
2024-05-08 14:31:38 -06:00

27 lines
905 B
Python

from adafruit_ble import BLERadio
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
from adafruit_ble.services.nordic import UARTService
ble = BLERadio()
while True:
while ble.connected and any(
UARTService in connection for connection in ble.connections
):
for connection in ble.connections:
if UARTService not in connection:
continue
uart = connection[UARTService]
while ble.connected:
one_byte = uart.readline()
if one_byte:
print(one_byte.decode().strip())
print("disconnected, scanning")
for advertisement in ble.start_scan(ProvideServicesAdvertisement, timeout=1):
if UARTService not in advertisement.services:
continue
ble.connect(advertisement)
print("connected")
break
ble.stop_scan()