35 lines
952 B
Python
35 lines
952 B
Python
"""MicroMesh example for Raspberry Pi Pico and Pico W.
|
|
|
|
Wiring (cross TX and RX):
|
|
Pico GP0 / UART0 TX -> Meshtastic radio RX
|
|
Pico GP1 / UART0 RX <- Meshtastic radio TX
|
|
Pico GND --- Meshtastic radio GND
|
|
"""
|
|
|
|
from machine import Pin, UART
|
|
from time import sleep_ms
|
|
|
|
from micromesh import PortNum, SerialInterface
|
|
|
|
|
|
def on_packet(packet):
|
|
if packet.WhichOneof("payload_variant") != "decoded":
|
|
return
|
|
if packet.decoded.portnum == PortNum.TEXT_MESSAGE_APP:
|
|
print("from !%08x: %s" % (
|
|
packet.from_, packet.decoded.payload.decode("utf-8", "replace")
|
|
))
|
|
|
|
|
|
uart = UART(0, 115200, tx=Pin(0), rx=Pin(1), timeout=0, rxbuf=1024)
|
|
mesh = SerialInterface(uart, on_packet=on_packet, on_log=print)
|
|
mesh.connect()
|
|
|
|
hello_sent = False
|
|
while True:
|
|
mesh.poll()
|
|
if mesh.config_complete and not hello_sent:
|
|
mesh.sendText("hello from Raspberry Pi Pico")
|
|
hello_sent = True
|
|
sleep_ms(10)
|