Live lab
Two sensor nodes on our bench, one on MQTT and one on LoRaWAN. Everything here is a real protocol behaviour you can trigger: commands, retained state, Last Will messages, Class A downlinks.
MQTT node
ESP32 with a temperature and humidity sensor, a light sensor, an RGB LED and a current monitor, publishing to a Mosquitto broker over TLS.
LED colour
Publishes a command with QoS 1. The node applies it and publishes its new state as a retained message.
Sample rate
Round trip
Sends a timestamp to the node and waits for the echo.
Break the connection
Drops the node's network. The broker publishes its Last Will, then the node reconnects and restores its state.
- Firmware
- v0.9.0 (sim)
- Uptime
- --
- Free heap
- --
- Wi-Fi RSSI
- --
- Last reset
- Power on
Packet inspector
Subscribed to probaho/lab/node-01/#| Time | Dir | Topic | QoS | Retain | Bytes | Payload |
|---|
LoRaWAN node
STM32WL node on batteries, joined to The Things Stack through our own gateway. Real nodes report every few minutes; this one is sped up to every 20 seconds so you can watch it.
Last uplink
- RSSI
- --
- SNR
- --
- Data rate
- --
- Frequency
- --
- Airtime
- --
- Gateways
- --
- Frame counter
- --
- Received
- --
Payload
Five bytes on air. The same values as JSON would be about ten times larger and, at SF7, need more than twice the airtime.
- Bytes 0–1: temperature × 100, signed
- Byte 2: humidity × 2
- Bytes 3–4: battery in millivolts
{ }Queue a downlink
Class A devices only listen for one or two seconds after they transmit. Your command waits on the network server and goes out in the receive window after the next uplink.
Queue empty.
Recent uplinks
Airtime and battery calculator
Spreading factor, payload size and reporting interval decide how long the radio is on, and that decides battery life. Change the settings to see the trade-off.
Assumes 125 kHz bandwidth, coding rate 4/5, 13 bytes of LoRaWAN overhead, 45 mA while transmitting, 10 µA for the whole board while asleep, and 80% of rated capacity usable. Real results depend on temperature, transmit power and sensor current, which is why we measure them on the actual board.