Code: Select all
import board
import busio
import digitalio
from adafruit_bluefruitspi import BluefruitSPI
import time
spi_bus = busio.SPI(clock=board.GP2, MOSI=board.GP3, MISO=board.GP4)
cs = digitalio.DigitalInOut(board.GP5)
irq = digitalio.DigitalInOut(board.GP6)
rst = digitalio.DigitalInOut(board.GP1)
bluefruit = BluefruitSPI(spi_bus, cs, irq, rst, debug=False)
connected = None
print("Initializing Bluetooth module")
bluefruit.init()
bluefruit.command_check_OK(b"AT+FACTORYRESET", delay=1)
#Print Bluetooth Module Info
print(str(bluefruit.command_check_OK(b"ATI"), "utf-8"))
bluefruit.command_check_OK(b"AT+GAPDEVNAME=Glasses")
bluefruit.command_check_OK(b"AT+BLEPOWERLEVEL=0")
#Main Loop
while True:
try:
print("Waiting for a connection to Bluefruit LE Connect ...")
# Wait for a connection ...
dotcount = 0
while not bluefruit.connected:
print(".", end="")
dotcount = (dotcount + 1) % 80
if dotcount == 79:
print("")
time.sleep(0.5)
connected = bluefruit.connected
print("Connected to Glasses!")
connection_timestamp = time.monotonic()
while True:
# Check our connection status every 3 seconds
if time.monotonic() - connection_timestamp > 3:
connection_timestamp = time.monotonic()
if not bluefruit.connected:
break
bluefruit.command_check_OK(b"AT+BLEKEYBOARDEN=1")
bluefruit.command_check_OK(b"ATZ")
except RuntimeError as e:
print(e)
continue