Add bluetooth module and pinout docs
parent
794869cfeb
commit
31d49b968f
Binary file not shown.
After Width: | Height: | Size: 314 KiB |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,67 @@
|
||||
"""
|
||||
This modul implements a simple serial connection to the ZS-040 and will echo out to the console
|
||||
any messages it receives. This board is a Bluetooth SPP (Serial Port Protocol) module.
|
||||
|
||||
When powered on the device will broadcast as BT-05 by default. Default passwords are usually 1234 or 0000.
|
||||
"""
|
||||
from select import select
|
||||
from machine import Pin, UART
|
||||
|
||||
|
||||
class ZS040:
|
||||
def __init__(
|
||||
self,
|
||||
uart_id,
|
||||
tx_pin,
|
||||
rx_pin,
|
||||
state_pin,
|
||||
baudrate=38400,
|
||||
bits=8,
|
||||
stop=1,
|
||||
parity=None,
|
||||
):
|
||||
self.uart = UART(
|
||||
uart_id,
|
||||
baudrate=baudrate,
|
||||
bits=bits,
|
||||
stop=stop,
|
||||
parity=parity,
|
||||
)
|
||||
self.state_pin = Pin(state_pin, Pin.IN)
|
||||
|
||||
def read(self, nbytes=None):
|
||||
return self.uart.read(nbytes)
|
||||
|
||||
def readline(self):
|
||||
return self.uart.readline()
|
||||
|
||||
def write(self, buf):
|
||||
self.uart.write(buf)
|
||||
|
||||
def any(self):
|
||||
return self.uart.any()
|
||||
|
||||
@property
|
||||
def state(self):
|
||||
return self.state_pin.value()
|
||||
|
||||
@classmethod
|
||||
def from_config(cls, pin_config):
|
||||
return cls(
|
||||
uart_id=pin_config["bluetooth"]["uart_id"],
|
||||
tx_pin=pin_config["bluetooth"]["tx_pin"],
|
||||
rx_pin=pin_config["bluetooth"]["rx_pin"],
|
||||
state_pin=pin_config["bluetooth"]["state_pin"],
|
||||
)
|
||||
|
||||
|
||||
# while True:
|
||||
# if BT_STATE_PIN.value():
|
||||
# if uart.any():
|
||||
# data = uart.read(1)
|
||||
# print(data.decode("utf8"))
|
||||
# else:
|
||||
# print("No data. Sleeping")
|
||||
# else:
|
||||
# print("No Bluetooth device paired.")
|
||||
# sleep_ms(500)
|
@ -0,0 +1 @@
|
||||
__secret__ = "dirp"
|
Loading…
Reference in New Issue