from
adafruit_airlift.esp32
import
ESP32
# If you are using a Metro M4 Airlift Lite, PyPortal,
# or MatrixPortal, you can use the default pin settings.
# Leave this DEFAULT line uncommented.
esp32
=
ESP32()
# DEFAULT
# If you are using CircuitPython 6.0.0 or earlier,
# on PyPortal and PyPortal Titano only, use the pin settings
# below. Comment out the DEFAULT line above and uncomment
# the line below. For CircuitPython 6.1.0, the pin names
# have changed for these boards, and the DEFAULT line
# above is correct.
# esp32 = ESP32(tx=board.TX, rx=board.RX)
# If you are using an AirLift FeatherWing or AirLift Bitsy Add-On,
# use the pin settings below. Comment out the DEFAULT line above
# and uncomment the lines below.
# If you are using an AirLift Breakout, check that these
# choices match the wiring to your microcontroller board,
# or change them as appropriate.
# esp32 = ESP32(
# reset=board.D12,
# gpio0=board.D10,
# busy=board.D11,
# chip_select=board.D13,
# tx=board.TX,
# rx=board.RX,
# )
# If you are using an AirLift Shield,
# use the pin settings below. Comment out the DEFAULT line above
# and uncomment the lines below.
# esp32 = ESP32(
# reset=board.D5,
# gpio0=board.D6,
# busy=board.D7,
# chip_select=board.D10,
# tx=board.TX,
# rx=board.RX,
# )
adapter
=
esp32.start_bluetooth()
ble
=
BLERadio(adapter)
uart
=
UARTService()
advertisement
=
ProvideServicesAdvertisement(uart)
while
True
:
ble.start_advertising(advertisement)
(
"waiting to connect"
)
while
not
ble.connected:
pass
(
"connected: trying to read input"
)
while
ble.connected:
# Returns b'' if nothing was read.
one_byte
=
uart.read(
1
)
if
one_byte:
(one_byte)
uart.write(one_byte)
©Adafruit Industries
Page 32 of 54