Mesh, IoT & autonomous systems
Networks of machines, from scratch: meshes that relay and repair themselves, the power and range limits of battery sensors, smart-home radios (Zigbee, Thread, Matter, Z-Wave), long-range low-power networks (LoRaWAN, NB-IoT, LTE-M), the buses inside a car and the radios between cars, drone and robot links (MAVLink, ROS 2), swarms, delay-tolerant networks, factory networks and IoT security. Radio physics (spectrum, antennas, modulation, link budgets) is in Radio, Bluetooth in Bluetooth and Wi-Fi in Wi-Fi.
Mesh networking
In a star network every device talks straight to a hub, like phones to a Wi-Fi access point. In a mesh, devices also relay for each other: a message hops from node to node until it reaches its destination. Each node that forwards is a relay (or router); the path is multi-hop.
Why bother: each hop can be short, so radios can be cheap and low-power, and a network can cover a building or a field that no single radio could; and when one relay fails, traffic can go around it.
| Costs of hopping | Why |
|---|---|
| Delay | every hop receives, checks and retransmits: milliseconds per hop on 802.15.4 radios |
| Throughput | relays on one channel take turns, so a long chain carries a fraction of one link's rate |
| Power | a relay must keep its receiver on to hear others, so relays are usually mains powered |
| Airtime | every hop is a full transmission that neighbors must wait out |
There are two basic ways to get a message across a mesh, flooding and routing, and routing comes in several styles:
| Approach | How it works | Good for | Cost | Used by |
|---|---|---|---|---|
| Flooding | every node rebroadcasts each new message once (remembering IDs to drop duplicates), with a hop limit (TTL) | small meshes, rare messages, finding routes | airtime grows with the number of nodes; floods can collide | Bluetooth Mesh (managed flooding), route discovery in most meshes |
| Routed, proactive | nodes keep routes to every destination, updated by periodic messages | low first-message delay | constant background traffic | Thread routers, OLSR, B.A.T.M.A.N. |
| Routed, on demand | a route is searched for only when needed, then cached | sparse traffic | the first message waits for discovery | Zigbee, AODV |
| Collection tree | every node keeps a route toward one root, the gateway | many sensors reporting to one place | traffic toward the root crowds near it | RPL (IPv6 sensor networks) |
Good mesh routing doesn't just count hops. A short hop over a strong link beats a long hop that needs three retries, so protocols use link-quality costs such as ETX (expected transmission count: 1 for a perfect link, 2 when half the attempts fail).
Self-healing
A mesh heals when nodes notice a broken link and route around it with no one reconfiguring anything. Detection uses missing acknowledgments (ACKs, the receiver's "got it"), missed periodic beacons, or falling link quality.
1/5
A working route: S → A → C → F → G → GW.
Healing has limits: a mesh can't route around a gap no radio can cross, and if every path runs through one relay that relay is still a single point of failure. Put mains-powered relays where they create several independent paths.
IoT design constraints
IoT (internet of things) devices are computers whose job is to sense or act: thermostats, door locks, soil sensors, parking sensors, asset trackers. The hard constraint is usually energy: a sensor sealed in a box should run for years on one battery.
coin cell (CR2032) ≈ 225 mAh
10 years = 87,600 h
average current budget = 225 mAh ÷ 87,600 h ≈ 2.6 µA
radio transmitting ≈ 15 mA
asleep ≈ 1 µA
radio time allowed ≈ (2.6 − 1) µA ÷ 15 mA ≈ 0.01%
≈ 9 seconds of radio per daySo the device sleeps almost all the time and wakes briefly to measure and send: duty cycling. The duty cycle is the fraction of time the radio is on.
Sleeping has consequences. A sleepy device can't be reached while asleep, so messages to it wait at its parent or gateway until it wakes and asks (polling), which makes commands to battery devices slow. It also can't relay for others, which is why meshes separate always-on routers from sleepy end devices.
The second constraint is physics: at a given transmit power, sending more slowly puts more energy into each bit, so a receiver can pick out weaker signals, which means longer range. Range, data rate and battery life trade against each other.
| Constraint | Typical choices |
|---|---|
| Spectrum | unlicensed ISM bands (free, shared, with power and duty-cycle rules): 2.4 GHz worldwide; sub-GHz 868 MHz in Europe and 915 MHz in the Americas, which pass walls better. Or licensed cellular spectrum: reliable, but you pay per device |
| Topology | PAN (personal area network: Bluetooth, a few meters), home mesh (Zigbee, Thread, Z-Wave), LPWAN (low-power wide-area network: one hop of kilometers to a gateway or tower) |
| Payload and latency | a temperature reading is a few bytes; LPWANs allow tens of bytes, a few times an hour |
| Cost and size | modules cost a few dollars; antennas and batteries set the size |
| Lifetime | 10+ years in the field means planning updates, key rotation and the network's own shutdown date |
Zigbee, Thread and Matter
Three standards cover most smart-home devices, and they stack rather than compete.
IEEE 802.15.4 is the shared radio standard: 2.4 GHz worldwide (16 channels numbered 11 to 26), 250 kbit/s, frames of at most 127 bytes, designed for low power.
Zigbee (Connectivity Standards Alliance) is a complete stack on 802.15.4. Most devices in use run Zigbee 3.0; Zigbee 4.0, announced in November 2025, adds easier setup and Suzi, a long-range variant on sub-GHz bands (800 MHz in Europe, 900 MHz in North America). A network has three roles:
| Role | Count | Does |
|---|---|---|
| Coordinator | exactly one | forms the network, admits devices, usually holds the keys (the trust center); typically the hub |
| Router | many | always on, mains powered (bulbs, plugs): relays for others |
| End device | many | sleepy and battery powered (sensors, buttons); talks only to its parent router |
Zigbee needs a hub or a USB coordinator stick (for example with Home Assistant or Zigbee2MQTT), and devices describe themselves with the Zigbee Cluster Library (ZCL): standard clusters such as On/Off or Temperature Measurement.
Thread (Thread Group) puts real IPv6 on 802.15.4. 6LoWPAN (RFC 4944 and RFC 6282) compresses the 40-byte IPv6 header to a few bytes and splits packets to fit 127-byte frames, so every device has an IP address.
| Thread role | Does |
|---|---|
| Leader | one per network, elected automatically; hands out router IDs. If it fails another router takes over |
| Router | up to 32 per network; always on and relaying. Thread keeps between about 16 and 23 active, promoting or demoting automatically |
| Router-eligible end device | a mains-powered device acting as an end device, ready to become a router when needed |
| Sleepy end device | battery device that wakes to poll its parent router |
| Border router | connects the Thread mesh to Wi-Fi or Ethernet at the IP layer; a network can have several, so none is a single point of failure. Often built into smart speakers, TV boxes and hubs |
Thread 1.4 requires certified border routers to support credential sharing, so border routers from different brands can join one Thread network instead of each building its own; support across ecosystems was still rolling out in 2026.
Matter (Connectivity Standards Alliance, 1.0 in October 2022) is the application layer: a common data model of device types and commands, derived from the ZCL, plus security, running over any IPv6 network: Thread for battery devices, Wi-Fi for higher-bandwidth ones, Ethernet for hubs. Devices are usually set up (commissioned) over Bluetooth LE by scanning a QR code. Multi-admin lets one device be controlled by several ecosystems (Apple Home, Google Home, Amazon Alexa, SmartThings) at once, and control works locally without the cloud. Matter 1.5 (November 2025) added cameras. Bridges expose existing Zigbee or Z-Wave devices as Matter devices.
Z-Wave
Z-Wave is a smart-home mesh on sub-GHz frequencies that differ by region (908.42 MHz in the US, 868.42 MHz in Europe), so it avoids crowded 2.4 GHz and passes walls well. Classic Z-Wave allows up to 232 devices and up to 4 relay hops, at 9.6 to 100 kbit/s; a central controller manages the routes (source routing: the sender puts the whole path in the message). Its PHY and MAC layers are an ITU standard (G.9959), and every product is certified for interoperability by the Z-Wave Alliance, which made mixing brands reliable early on. The S2 security framework replaced the weaker original encryption.
Z-Wave Long Range (Z-Wave LR) adds a star mode with up to 4,000 devices, each talking directly to the controller at up to about 1.5 miles (2.4 km) in open air at full power, on separate channels (912 and 920 MHz in the US). Classic mesh and LR devices can share one controller.
LoRa and LoRaWAN
LoRa is a radio modulation (owned by Semtech) built for very long range at very low data rates. LoRaWAN is the network protocol on top, maintained by the LoRa Alliance. LoRa uses chirp spread spectrum: every symbol is a chirp, a tone that sweeps steadily across the channel (typically 125 kHz wide). A data symbol is the same chirp starting at a different frequency and wrapping around; where it starts encodes the bits.
The spreading factor (SF, 7 to 12) sets how slowly the chirp sweeps. Each step up doubles the symbol time, so a receiver integrates more energy per bit and hears signals from farther away, even below the noise floor (down to about −20 dB signal-to-noise at SF12).
symbol time T = 2^SF / BW
SF7, 125 kHz: 128 / 125,000 s ≈ 1.0 ms ≈ 5.5 kbit/s
SF12, 125 kHz: 4096 / 125,000 s ≈ 32.8 ms ≈ 0.3 kbit/s
(rates after the usual 4/5 error-correction coding)LoRaWAN is a star of stars, not a mesh: devices talk one hop to any gateway that hears them, and gateways are dumb relays to central servers.
| Part | Does |
|---|---|
| End device | a battery sensor or actuator; sends uplinks whenever it likes |
| Gateway | listens on several channels and spreading factors at once and forwards every packet it hears over IP (Ethernet, cellular, Wi-Fi) |
| Network server | drops duplicate copies, sends acknowledgments and downlinks through the best gateway, and runs ADR (adaptive data rate: telling nearby devices to use faster spreading factors) |
| Join server | admits devices (over-the-air activation) and derives their session keys |
| Application server | decrypts the payload: data is encrypted with AES-128 from the device to the application, so a network operator that doesn't run your application server can't read it |
Devices come in three classes: A (the default: two short receive windows right after each uplink, lowest power), B (also wakes at scheduled times synchronized by gateway beacons) and C (always listening, mains powered).
Rules depend on the region's band plan:
| Region | Band | Main limit |
|---|---|---|
| Europe (EU868) | 863–870 MHz | duty cycle per sub-band: 1% on the main channels, 0.1% or 10% on others; 1% means a 1-second transmission is followed by 99 seconds of silence on that sub-band |
| US and Canada (US915) | 902–928 MHz | no duty cycle, but at most 400 ms per uplink transmission (dwell time), which rules out the slowest spreading factors |
| Others | AS923, AU915, IN865, KR920, CN470 | each with its own channels and limits |
Public networks add fair-use limits: The Things Network's community network allows 30 seconds of uplink airtime and 10 downlinks per device per day.
Cellular IoT
Mobile operators run two low-power standards from 3GPP (Release 13, 2016) on their licensed spectrum, using existing towers and a SIM or eSIM per device. Both count as part of 5G's massive-IoT support and keep working as 2G and 3G networks shut down.
| NB-IoT | LTE-M (Cat-M) | |
|---|---|---|
| Channel | 180 kHz | 1.4 MHz |
| Peak rate | tens of kbit/s; up to about 150 kbit/s for later device categories | about 1 Mbit/s |
| Moving devices | poorly: meant for stationary meters and sensors | handovers between cells like a phone |
| Voice | no | yes (VoLTE) |
| Coverage | about 20 dB better than regular LTE, by repeating transmissions; reaches basements and underground meters | about 15 dB better |
| Typical uses | water and gas meters, parking sensors, smoke alarms | trackers, wearables, alarm panels, point-of-sale terminals |
Two power savers make multi-year batteries possible. PSM (power saving mode) lets a device sleep for hours or days while staying registered, so waking needs no new attach. eDRX (extended discontinuous reception) has it listen for incoming pages only every few seconds to hours instead of every second or so. For heavier devices (cameras, industrial sensors, wearables) 5G RedCap (reduced capability, Release 17) sits between LTE-M and full 5G.
Sigfox was the first big public LPWAN: ultra-narrowband 100 Hz channels, 100 bit/s in Europe, at most 12-byte uplinks and 140 messages a day. The original company went into receivership in 2022 and was bought by UnaBiz; in 2025 UnaBiz put its French network operations under court protection. Networks still run in some countries, so check coverage and the operator's plans before building on it. How cellular networks work in general is in Cellular.
In-vehicle networks
A modern car is a network of dozens of computers called ECUs (electronic control units): engine, brakes, airbags, doors, infotainment. They share a few kinds of wired bus.
| Bus | Physical link | Speed and frame | Used for |
|---|---|---|---|
| CAN (controller area network; Bosch, 1986; ISO 11898) | one twisted pair, differential, 120 Ω terminators at both ends | classical: up to 1 Mbit/s, 8 data bytes; CAN FD: up to 64 bytes, data phase typically 2–5 Mbit/s; CAN XL: up to 2,048 bytes, up to about 20 Mbit/s | engine, brakes, steering, body electronics; the OBD-II diagnostic port |
| LIN (local interconnect network) | one wire; one commander polls responders | up to 20 kbit/s | windows, mirrors, seats, switches: cheap, slow parts |
| FlexRay | twisted pair, dual channel | 10 Mbit/s, time-triggered: every message has a reserved time slot | some chassis and drive-by-wire systems; largely being replaced by Ethernet |
| Automotive Ethernet | one twisted pair: 10BASE-T1S (shared multidrop), 100BASE-T1, 1000BASE-T1 and multi-gigabit | 10 Mbit/s to 10 Gbit/s | cameras, displays, driver assistance, and the backbone between zone controllers in newer cars |
CAN has no addresses. Each frame carries an identifier that names its content ("wheel speeds", "engine RPM"), every node hears every frame and keeps the ones it cares about, and the identifier doubles as the priority. When two nodes start at once, arbitration settles it bit by bit without wasting a single bit: a 0 is dominant (it actively drives the wires) and a 1 is recessive (it lets them float), so the bus reads 0 if anyone sends 0.
1/5
All three nodes start together with the start-of-frame bit, then send their identifiers bit by bit, reading the bus after every bit.
CAN was designed for a closed box, so it has no authentication: any node can send any identifier. Researchers showed in 2015 that a Jeep Cherokee could be taken over remotely through its infotainment unit, which led to gateways that firewall the buses, message authentication (AUTOSAR SecOC) and UN Regulation 155, which requires carmakers to run a cybersecurity management system; in the EU it has applied to every newly registered car since July 2024. Cars also carry a telematics unit, a cellular modem for over-the-air updates and emergency calls.
V2X
V2X (vehicle-to-everything) means vehicles talking directly to other vehicles (V2V), roadside infrastructure such as traffic lights (V2I), pedestrians' phones (V2P) and the network (V2N), so they can warn each other about things a camera can't see: a car braking hard around a bend, a red light about to change.
| Technology | How | Status, late 2026 |
|---|---|---|
| DSRC / IEEE 802.11p (ITS-G5 in Europe) | a Wi-Fi variant at 5.9 GHz that sends without joining a network | US: being phased out after the FCC moved the band to C-V2X; Europe: deployed in some Volkswagen models and road projects |
| C-V2X (cellular V2X, 3GPP Release 14 LTE-V2X, Release 16 5G NR-V2X) | PC5: direct radio between vehicles, no tower or SIM needed; Uu: through the ordinary mobile network | US: the FCC reserved the upper 30 MHz of 5.9 GHz (5.895–5.925 GHz) for it, with final rules in November 2024; China: the most active deployment, in pilot cities and highways |
The messages are small and frequent:
| Message | Contents |
|---|---|
| BSM (basic safety message, SAE J2735) or CAM (cooperative awareness message, ETSI) | position, speed, heading, brake status, about 10 times a second |
| DENM (ETSI decentralized environmental notification) | event warnings: accident ahead, road works, ice |
| SPaT and MAP | traffic-light phase and timing, and the geometry of the intersection |
Every message is signed with a certificate so it can't be forged, and vehicles rotate short-lived pseudonym certificates so they can't be tracked. Adoption is still limited; most connected-car features today use the ordinary cellular network.
Drones and robots
MAVLink
MAVLink is the compact message protocol between a drone's autopilot (the flight controller running PX4 or
ArduPilot), a ground control station (QGroundControl, Mission Planner) and onboard companion computers. A MAVLink 2
packet is 12 to 280 bytes: a 10-byte header, up to 255 bytes of payload, a 2-byte checksum and an optional 13-byte
signature. Every system sends a HEARTBEAT about once a second; others include GLOBAL_POSITION_INT, ATTITUDE and
COMMAND_LONG. It runs over serial telemetry radios (433 or 915 MHz), UDP over Wi-Fi or cellular, or USB.
Control and video links
| Link | Typical radio | Notes |
|---|---|---|
| RC control (sticks to the aircraft) | 2.4 GHz frequency hopping; long-range systems at 868/915 MHz such as TBS Crossfire or the open-source ExpressLRS, which uses Semtech LoRa chips | small packets at high rates; low latency matters more than throughput |
| Telemetry | MAVLink over a serial radio or a cellular modem | position, battery, status to the ground station |
| Video | 5.8 GHz analog, or digital systems | the most bandwidth by far |
| Remote ID | Bluetooth or Wi-Fi beacons | in the US most drones must broadcast their ID and position (FAA rule, in force since 2023–2024) |
Every link needs a failsafe: what the aircraft does when the link drops (hover, return to home, land).
ROS 2 and DDS
ROS 2 (Robot Operating System 2) is the common software framework for robots. A robot is a set of programs called
nodes that exchange messages on named topics by publish/subscribe: a camera node publishes images to
/image without knowing who listens. Underneath, ROS 2 uses DDS (Data Distribution Service, an OMG standard) over
UDP, which finds peers automatically by multicast and delivers each topic to every subscriber.
| Concept | Meaning |
|---|---|
| Topic | a named stream of typed messages, many-to-many |
| Service | request and response, like a function call |
| Action | a long task with progress feedback and cancel, such as "drive to the dock" |
| QoS (quality of service) | per-topic delivery rules: reliable (retransmit) or best effort (drop late data, right for sensor streams); how many old messages to keep; whether late joiners get the last value |
| Domain ID | ROS_DOMAIN_ID separates DDS networks, so two robots on one Wi-Fi don't see each other's topics |
| RMW (ROS middleware layer) | swaps the DDS implementation (Fast DDS, Cyclone DDS, Connext) or uses Zenoh instead, which copes better with Wi-Fi and with discovery across many robots |
Swarms and MANETs
A MANET (mobile ad hoc network) is a mesh whose nodes move and where no infrastructure exists: every node is a router, and links appear and vanish as nodes travel. Drone swarms, rescue teams, military units and vehicles in convoy use them.
| Protocol | Kind | Idea |
|---|---|---|
| OLSR (RFC 3626; OLSRv2, RFC 7181) | proactive link-state | each node picks a few neighbors as multipoint relays that alone rebroadcast topology updates, which cuts flooding |
| B.A.T.M.A.N. (batman-adv, in the Linux kernel) | proactive, layer 2 | nodes don't learn the whole map, only which neighbor is the best next hop toward each destination; the mesh looks like one big Ethernet switch; used by community networks such as Freifunk |
| AODV (RFC 3561) | on demand | flood a route request when needed, cache the answer |
| Babel (RFC 8966) | distance vector | loop-avoiding, works on wired and wireless links |
| 802.11s | Wi-Fi mesh standard | mesh routing built into Wi-Fi |
A swarm adds coordination on top: members broadcast their position and intent several times a second and agree on who leads, so the network must deliver small, frequent, time-sensitive messages while its shape keeps changing.
Delay-tolerant networking
Ordinary internet protocols assume an end-to-end path exists right now. A Mars rover, a sensor buoy or a village visited by a bus once a day breaks that assumption. Delay-tolerant networking (DTN) uses store-and-forward: each node keeps a message, called a bundle, until it can pass it to the next node, possibly hours later.
| Piece | Role |
|---|---|
| Bundle Protocol (version 7, RFC 9171, 2022) | the store-and-forward layer above whatever links exist |
| Custody transfer | a node that accepts custody of a bundle keeps it until the next node accepts it, so the sender can free its storage |
| LTP (Licklider Transmission Protocol, RFC 5326) | reliable delivery over links with very long delays, where TCP's back-and-forth would stall |
| Contact plans | when links are predictable (orbits, bus schedules), routes are computed from the timetable of future contacts |
| Data mules | a vehicle, person or drone that physically carries bundles between disconnected places |
Space is the classic case: light takes about 3 to 22 minutes each way between Earth and Mars, and rovers send most data by relaying through orbiters as they pass over. NASA has tested DTN on the International Space Station.
Industrial networks
Factories need determinism: a motor controller must get its command every millisecond, every time. Industrial networks trade openness for bounded delay and decades-long lifetimes.
| Network | What it is |
|---|---|
| Fieldbuses (PROFIBUS, CANopen, DeviceNet) | older serial buses connecting controllers to sensors and drives |
| Modbus (1979) | the simplest: a client reads and writes numbered registers and coils; Modbus RTU runs over serial RS-485, Modbus TCP over Ethernet on port 502. No authentication at all |
| PROFINET, EtherNet/IP | industrial protocols over standard Ethernet, with real-time classes for tighter timing |
| EtherCAT | one Ethernet frame passes through every device in a line, and each reads and writes its part on the fly, giving cycle times down to around 100 µs |
| TSN (Time-Sensitive Networking, IEEE 802.1) | standard Ethernet features for determinism: shared precise time (802.1AS), scheduled time slots for critical traffic (802.1Qbv), duplicate frames over two paths (802.1CB) |
| OPC UA | a vendor-neutral information model and secure messaging for machines and software |
| Industrial wireless | WirelessHART and ISA100.11a (both on 802.15.4), private 4G/5G |
The PLC (programmable logic controller) is the computer at the center of most of these. The plant network is usually called OT (operational technology), kept separate from office IT, with the IEC 62443 standards describing how to divide it into zones guarded by firewalls.
IoT security
IoT devices are cheap, numerous, rarely updated and often reachable from the internet, which makes them easy targets. The Mirai botnet (2016) took over hundreds of thousands of cameras and routers by trying factory-default passwords over Telnet, then used them to flood the DNS provider Dyn and knock major websites offline.
| Problem | Fix |
|---|---|
| Default or shared passwords | unique credentials per device, set at the factory or during setup |
| No updates | signed over-the-air updates, a published support period, and a plan for when it ends |
| Flat home or office network | put IoT devices on their own network segment (VLAN or guest SSID), block inbound connections, allow only the outbound traffic they need |
| Weak radio security | use current modes: Zigbee 3.0 install codes, Z-Wave S2, LoRaWAN over-the-air activation, Bluetooth LE Secure Connections |
| Exposed services | disable Telnet, UPnP port forwarding and debug services; scan your own network with nmap |
| Physical access | lock debug ports (JTAG, UART), use secure boot and store keys in a secure element |
| Cloud dependence | prefer local control (Matter, Thread, Zigbee hubs) so the device keeps working, and leaks less, if a vendor's servers go away |
Rules are catching up. The UK's product security law (PSTI) has banned universal default passwords and required a vulnerability contact and a stated support period since April 2024. The EU's Cyber Resilience Act has required manufacturers to report actively exploited vulnerabilities since 11 September 2026, with most of its other requirements applying from 11 December 2027. ETSI EN 303 645 is the common baseline checklist for consumer devices.
Try it
- A CAN bus on your laptop: Linux has virtual CAN interfaces and the
can-utilstools (apt install can-utils). Send frames from one terminal and watch them in another:
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
candump vcan0 &
cansend vcan0 12C#DEADBEEF # ID 0x12C, 4 data bytes
cansend vcan0 130#0102
cangen vcan0 -g 10 -n 5 # 5 random frames, 10 ms apart- ROS 2 publish/subscribe: with ROS 2 installed, run a publisher and a subscriber in two terminals, then inspect the topic and its QoS:
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener
ros2 topic list
ros2 topic echo /chatter
ros2 topic info /chatter --verbose- LoRa airtime and duty cycle: Semtech's formula for how long a packet occupies the channel, and how long the 1% EU rule then makes you wait:
import math
def lora_airtime_ms(payload: int, sf: int,
bw: int = 125_000, preamble: int = 8,
cr: int = 1) -> float:
"""Semtech's formula: explicit header, CRC on."""
t_sym = 2**sf / bw * 1000 # ms
de = 1 if t_sym > 16 else 0 # low data rate optimize
n = 8 * payload - 4 * sf + 28 + 16
sym = 8 + max(math.ceil(n / (4 * (sf - 2 * de)))
* (cr + 4), 0)
return (preamble + 4.25 + sym) * t_sym
for sf in (7, 9, 12):
ms = lora_airtime_ms(20, sf)
print(f"SF{sf}: {ms:.1f} ms on air, "
f"then wait {ms * 99 / 1000:.0f} s at 1% duty")
# SF7: 56.6 ms ... 6 s; SF9: 185.3 ms ... 18 s
# SF12: 1318.9 ms ... 131 s- Watch a smart-home mesh: an 802.15.4 USB dongle running sniffer firmware lets Wireshark show Zigbee and Thread frames, including the hops and acknowledgments described above.
References
- Thread overview (Thread Group) (opens in a new tab): what Thread is and how it relates to IPv6 and 802.15.4
- Thread node roles and types (OpenThread) (opens in a new tab): leaders, routers, end devices and border routers, with limits
- Matter (Connectivity Standards Alliance) (opens in a new tab): the standard, its versions and certified products
- RFC 6282: IPv6 header compression over 802.15.4 (opens in a new tab): how 6LoWPAN shrinks IPv6
- What is LoRa? (Semtech) (opens in a new tab): the modulation and spreading factors
- LoRaWAN architecture (The Things Network) (opens in a new tab): devices, gateways and servers
- Duty cycle (The Things Network) (opens in a new tab): EU sub-band limits and fair use
- Cellular IoT (3GPP) (opens in a new tab): NB-IoT, LTE-M and their evolution
- CAN knowledge (CAN in Automation) (opens in a new tab): Classical CAN, CAN FD and CAN XL
- SocketCAN (Linux kernel docs) (opens in a new tab): CAN on Linux, including virtual interfaces
- Automotive intelligent transport (ETSI) (opens in a new tab): the European V2X standards
- MAVLink developer guide (opens in a new tab): messages, serialization and microservices
- ROS 2: topics (opens in a new tab): publish/subscribe in ROS 2
- ROS 2: quality of service settings (opens in a new tab): reliability, durability and history
- DDS specification (OMG) (opens in a new tab): the middleware standard under ROS 2
- RFC 7181: OLSRv2 (opens in a new tab): proactive MANET routing with multipoint relays
- batman-adv (open-mesh.org) (opens in a new tab): layer-2 mesh routing in the Linux kernel
- RFC 9171: Bundle Protocol version 7 (opens in a new tab): the delay-tolerant networking standard
- Delay/disruption tolerant networking (NASA) (opens in a new tab): DTN in space missions
- EtherCAT technology (EtherCAT Technology Group) (opens in a new tab): processing on the fly
- Consumer IoT security (ETSI EN 303 645) (opens in a new tab): the baseline for connected devices
- Cyber Resilience Act (European Commission) (opens in a new tab): EU rules for products with digital elements