Initial commit
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# SPDX-FileCopyrightText: 2020 ladyada for Adafruit Industries
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
"""
|
||||
Used with ble_uart_echo_test.py. Transmits "echo" to the UARTService and receives it back.
|
||||
"""
|
||||
|
||||
import time
|
||||
|
||||
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
|
||||
print("echo")
|
||||
uart = connection[UARTService]
|
||||
uart.write(b"echo")
|
||||
# Returns b'' if nothing was read.
|
||||
one_byte = uart.read(4)
|
||||
if one_byte:
|
||||
print(one_byte)
|
||||
print()
|
||||
time.sleep(1)
|
||||
|
||||
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()
|
||||
Reference in New Issue
Block a user