Mesh PAN protocol

Zigbee
IoT mesh simulated in the classroom

Build IEEE 802.15.4 mesh networks, inspect neighbour tables and publish ZCL reports over MQTT — all without a dongle and without 2.4 GHz interference.

How it works

Joining the PAN, discovering neighbours and publishing over MQTT — step by step.

Zigbee · IEEE 802.15.4 · Canal 15

1 — PAN formation

The Coordinator starts up and emits Beacons on channel 15. Routers pick them up and request to join through Association Request / Response.

1 / 5

$ AT+COORD=1

+OK (Coordinator mode)

$ AT+PANID=CAFE

+OK

$ AT+START

+EVT:NETWORK_UP:PANID=CAFE

Terminal AT — Coordinator Node
▶ AT+COORD=1
+OK (Coordinator mode)
▶ AT+PANID=CAFE
+OK
▶ AT+CHANNEL=15
+OK
▶ AT+START
+EVT:NETWORK_UP:PANID=CAFE
+EVT:NODE_JOINED:0x1234
▶ AT+SEND=0x1234:FF01
+EVT:SEND_OK:ACK
▶ _

Simulated parameters

Standard
IEEE 802.15.4 / Zigbee 3.0
Frequency
2.4 GHz (channel 11–26)
Range
10 – 100 m per hop
Topology
Star / Tree / Mesh
Data rate
250 kbps
Security
AES-128 CCM* (not simulated)
Simulated mesh topology
⭐
Coordinator
——
🔀
Router
——
💡
End Device

What you simulate

From join to ZCL attribute reports — a teaching subset of Zigbee

🕸️

Mesh networking

Coordinator, Router and End Device roles. Each node keeps a table of the neighbours within radio range.

📍

Spatial positioning

Free placement on the 2D map. Range and RSSI estimated with a 2.4 GHz log-distance model, typically 10–100 m per hop.

🔗

MQTT publishing

Join events, attribute reports and frames published as JSON on a per-student MQTT topic (Mosquitto ACL). No Zigbee2MQTT instance.

📡

Simplified join

AT+ZJOIN assigns a PAN ID and short address immediately. Beacon scan and association are not simulated.

🔐

Binding & ZCL

ZCL attribute reports and reads (AT+ZREPORT, AT+ZGET), bindings between nodes (AT+ZBIND).

⚡

Unicast send

AT+ZSEND sends a frame to a neighbouring node through the radio engine, which only delivers it within range.

🗺️

Dynamic neighbourhood

Neighbour table updated as nodes move or join the network (AT+ZNEIGHBORS?).

📊

RSSI & LQI

Estimated per-link RSSI and LQI, read with AT+ZRSSI and AT+ZPING. An out-of-range neighbour answers with an error.

🕸️

Build your first Zigbee mesh network

Open the lab and start a session in seconds.

Open the Lab →