31 lines
1,001 B
Python
31 lines
1,001 B
Python
# SPDX-FileCopyrightText: 2020 Dan Halbert for Adafruit Industries
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
# Connect to an "eval()" service over BLE UART.
|
|
|
|
from adafruit_ble import BLERadio
|
|
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
|
|
from adafruit_ble.services.nordic import UARTService
|
|
|
|
ble = BLERadio()
|
|
|
|
uart_connection = None
|
|
|
|
while True:
|
|
if not uart_connection:
|
|
print("Trying to connect...")
|
|
for adv in ble.start_scan(ProvideServicesAdvertisement):
|
|
if UARTService in adv.services:
|
|
uart_connection = ble.connect(adv)
|
|
print("Connected")
|
|
break
|
|
ble.stop_scan()
|
|
|
|
if uart_connection and uart_connection.connected:
|
|
uart_service = uart_connection[UARTService]
|
|
while uart_connection.connected:
|
|
s = input("Eval: ")
|
|
uart_service.write(s.encode("utf-8"))
|
|
uart_service.write(b'\n')
|
|
print(uart_service.readline().decode("utf-8"))
|