adding BLE airlift example for template page
This commit is contained in:
parent
b5f808678c
commit
fbb1cdd58d
1 changed files with 74 additions and 0 deletions
74
CircuitPython_Templates/airlift_ble_example/code.py
Normal file
74
CircuitPython_Templates/airlift_ble_example/code.py
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# SPDX-FileCopyrightText: 2020 Dan Halbert, written for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
|
||||
# pylint: disable=unused-import
|
||||
import board
|
||||
import busio
|
||||
from digitalio import DigitalInOut
|
||||
from adafruit_ble import BLERadio
|
||||
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
|
||||
from adafruit_ble.services.nordic import UARTService
|
||||
from adafruit_esp32spi import adafruit_esp32spi
|
||||
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.
|
||||
# If you are using a board with pre-defined ESP32 Pins:
|
||||
esp32 = ESP32()
|
||||
|
||||
# If you are using a Metro M7 **OR**
|
||||
# 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)
|
||||
print("waiting to connect")
|
||||
while not ble.connected:
|
||||
pass
|
||||
print("connected: trying to read input")
|
||||
while ble.connected:
|
||||
# Returns b'' if nothing was read.
|
||||
one_byte = uart.read(1)
|
||||
if one_byte:
|
||||
print(one_byte)
|
||||
uart.write(one_byte)
|
||||
Loading…
Reference in a new issue