code.py
 1  # SPDX-FileCopyrightText: 2020 Dan Halbert for Adafruit Industries
 2  #
 3  # SPDX-License-Identifier: MIT
 4  
 5  # Provide an "eval()" service over BLE UART.
 6  
 7  from adafruit_ble import BLERadio
 8  from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
 9  from adafruit_ble.services.nordic import UARTService
10  
11  ble = BLERadio()
12  uart = UARTService()
13  advertisement = ProvideServicesAdvertisement(uart)
14  
15  while True:
16      ble.start_advertising(advertisement)
17      print("Waiting to connect")
18      while not ble.connected:
19          pass
20      print("Connected")
21      while ble.connected:
22          s = uart.readline()
23          if s:
24              try:
25                  result = str(eval(s))
26              except Exception as e:
27                  result = repr(e)
28              uart.write(result.encode("utf-8"))