2.9 KiB
Exercise 201: microReticulum LoRa ping-pong
This exercise proves that two T-Beam Supreme units can exchange Reticulum packets over a LoRa interface using Chad Attermann's microReticulum tree staged at:
/usr/local/src/microreticulum/microReticulum
It intentionally mirrors the radio settings and node-label workflow from 01_lora_ascii_pingpong, but sends Reticulum PLAIN destination data packets instead of raw ASCII LoRa frames.
Note that in Reticulum terms, PLAIN is the simplest destination type. It is addressable by a shared app/aspect name only, and payloads are not encrypted to a node identity. Exercise 202 moves to announced SINGLE destinations. Exercise 203 is intended to add a negotiated Link.
Build and upload
Use two environments so the serial output identifies each unit: In one console:
source /home/jlpoole/rnsenv/bin/activate
cd /usr/local/src/microreticulum/microReticulumTbeam
pio run -d exercises/201_microReticulum_ping_pong -e amy -t upload --upload-port /dev/ttytAMY && \
pio device monitor -d exercises/201_microReticulum_ping_pong -e amy
In another console:
source /home/jlpoole/rnsenv/bin/activate
cd /usr/local/src/microreticulum/microReticulumTbeam
pio run -d exercises/201_microReticulum_ping_pong -e bob -t upload --upload-port /dev/ttytBOB && \
pio device monitor -d exercises/201_microReticulum_ping_pong -e bob
Note: if the T-Beam unit was previously running a program that prints to the OLED, the OLED as last used will continue to appear even though this exercise has been loaded and a RESET performed. Therefore, do not let the OLED fool you as to the fact that this exercise has been loaded and is running. To avoid a zombie OLED, power off the unit and power on then run the commands above.
The platformio.ini maps each environment to its stable USB symlink:
amy -> /dev/ttytAMY
bob -> /dev/ttytBOB
cy -> /dev/ttytCY
dan -> /dev/ttytDAN
ed -> /dev/ttytED
For a one-off override, pass the port as a PlatformIO option, not as a positional argument:
pio run -d exercises/201_microReticulum_ping_pong -e amy -t upload --upload-port /dev/ttytAMY
Open a monitor on each unit:
pio device monitor -d exercises/201_microReticulum_ping_pong -e amy
pio device monitor -d exercises/201_microReticulum_ping_pong -e bob
Expected output includes periodic transmit lines like:
TX RNS: Amy says hi. iter=0
and received Reticulum payloads like:
RX RNS: Bob says hi. iter=0 | RSSI=-42.0 SNR=9.5
Notes
- The exercise uses the same T-Beam Supreme LoRa pins as exercise 01.
- Radio settings are
915.0 MHz,125 kHz,SF7,CR5, sync word0x12, and14 dBm. - The destination is
PLAIN, so both nodes can send and receive without an announce/key exchange. This keeps the proof focused on Reticulum packet serialization, transport dispatch, and the LoRa interface path.
