LPWAN protocol

LoRaWAN
Full classroom simulation

Deploy virtual RAK3172 nodes, configure an end-to-end LoRaWAN infrastructure and watch every PHY frame — no hardware, no interference, in real time.

How it works

Follow the complete life cycle of a LoRaWAN node — from join to frame confirmation.

LoRaWAN · EU868

1 — Network deployment

Place a RAK3172 node and two gateways on the interactive map. VirtIoT computes radio coverage in real time (Log-Distance Path Loss, n = 2.7).

1 / 5

$ AT+DR=5

+OK

$ AT+ADR=1

+OK (ADR enabled)

Terminal AT — RAK3172 Node #1
▶ AT+VER=?
+VER: RUI3 3.5.4
+OK
▶ AT+DEVEUI=?
+DEVEUI: F000000000000001
+OK
▶ AT+JOIN=1,1,8,8
+EVT:JOINING
+EVT:JOINED
▶ AT+SEND=2:48656C6C6F
+EVT:SEND_CONFIRMED
+EVT:RX_1:2:5:-85:8:41434B
▶ _

Simulated parameters

Frequency
EU868 (868.1 – 869.5 MHz)
Modulation
LoRa / FSK
Simulated range
up to 15 km (LOS)
Spreading factors
SF7 → SF12
Bandwidth
125 / 250 / 500 kHz
Data rate
250 bps → 50 kbps
script.py — swarm_AT
from swarm_at import Node

node = Node()
node.join(timeout=30)

# Send every 60s
while True:
    temp = read_sensor()
    node.send(port=2, data=encode(temp))
    node.sleep(60)

What you simulate

Every building block of the LoRaWAN network, faithfully reproduced

📡

OTAA & ABP

Over-The-Air join procedure (AT+JOIN) with real NwkSKey / AppSKey session-key derivation through ChirpStack.

📦

RUI3 AT commands

Complete AT command set: AT+SEND, AT+CFM, AT+DR, AT+ADR, AT+PORT, AT+TXP, AT+RX1DL, AT+RX2DL…

📻

Radio propagation

Log-Distance Path Loss model (n=2.7). Per-gateway RSSI/SNR computation. Collisions detected on the same channel/SF.

🔁

ADR engine

Adaptive Data Rate: with AT+ADR=1, every received uplink recomputes the spreading factor (SF7, SF9 or SF12) from the best gateway’s RSSI. The node switches data rate and announces it (+EVT:ADR). Transmit power is not adapted.

⬇️

Real downlinks

ChirpStack PULL_RESP → JoinAccept decryption → key derivation → RX1/RX2 windows simulated in real time.

🔍

Network Inspector

PHYPayload capture with MHDR, MACPayload and MIC decoding — a Wireshark-style view in the browser.

🌐

ChirpStack built in

A dedicated ChirpStack v4 instance per student. Direct UI access for Device Profiles, Applications and OTAA keys.

⚡

Multi-gateway

Deploy several virtual gateways on the map. Automatic load balancing, coverage-area visualisation.

📡

Ready to deploy your first LoRaWAN network?

Sign in and start a session in seconds. Zero hardware.

Open the Lab →