Skip to content

Test: Zigbee and Thread (meshes on 802.15.4)

Wireless & IoT

Zigbee and Thread: Meshes on 802.15.4

Why a mesh? The glasshouse is too big for one hop

The greenhouse has grown into a glasshouse 120 m long, with battery sensors everywhere. Wi-Fi would flatten their batteries, and BLE is built for one phone at a time. IEEE 802.15.4 is a third 2.4 GHz radio: 16 channels of 2 MHz (11 to 26), 250 kbit/s, frames of at most 127 bytes, and microamps when idle. Indoors among wet plants one hop reaches about 25 m, so most sensors cannot reach the Pi at the end of the house. Zigbee and Thread both solve this the same way: the mains-powered devices (fans, pumps, lights) become routers that relay for everyone else. Turn relaying off to see the alternative.

Challenge: With relaying off, find how many sensors can still reach the Pi; then turn it back on and get a reading from S10, the farthest.

The radio: IEEE 802.15.4

16 channels of 2 MHz (11 to 26) at 2.4 GHz, 250 kbit/s, frames of at most 127 bytes.

about 25 m a hop here

Routers

Mains powered, radio always on, relay frames for anyone. Zigbee calls them routers; so does Thread.

End devices

On batteries, asleep almost all the time, talk only to one parent router.

11 sensors and actuators

25 m: about one hopPiPiR1R1 Fan 1R2R2 Pump 1R3R3 Light 1R4R4 Fan 2R5R5 Pump 2R6R6 Light 2R7R7 Fan 3R8R8 Pump 3S1S2S3S4S5S6S7S8S9S10Vent
gateway (Pi)router, mains poweredsleepy sensor (dashed to its parent)sleepy actuatorcut off· each hop slowed to 380 ms (really a few ms)
← Start here
t = 0.0 s
Routers relay
Send a reading from

Sensors that reach the Pi

11 of 11

Readings delivered

0

Readings lost

0

Every sensor also reports by itself every 8 s; the route of the latest reading is drawn in orange. Readings from S9 and S10 cross six hops, and each hop is acknowledged at the MAC layer before the next begins.

Radio log, newest first

Nothing on the wire yet.