IoT communication protocols (blueprint)

Purpose: Protocol selection guidance and implementation considerations for IoT device communication. Each protocol entry covers its architecture, message format, QoS, security, power profile, and best-fit scenarios.

Why protocol selection matters: The application protocol (and its transport) constrains latency, duty cycle, security posture, NAT behavior, and operational cost. Committing late often forces gateways, duplicate stacks, or non-interoperable silos. Treat protocol choice as an architecture decision tied to power budgets, update strategy, and cloud or on-prem integrations — see Embedded / IoT engineering body of knowledge for the embedded/IoT map and Embedded / IoT ↔ SDLC ↔ PDLC bridge for lifecycle impact.

Audience: Teams adopting Embedded / IoT Engineering; project-specific protocol configuration stays in docs/development/embedded/protocols/.

Protocol stack (reference layers)

Swimlane diagram template
Protocol Layer Focus Deep dive
MQTT & CoAP Application Pub/sub vs REST-like constrained apps — QoS, observe, brokers MQTT & CoAP: Application-Layer IoT Protocols
BLE & Zigbee Link + network / app GATT, mesh, Thread/Matter context, coexistence BLE, Zigbee & Short-Range Wireless Protocols
LoRaWAN Network LPWAN — spreading factors, ADR, class A/B/C, join procedures, fair-use policy EMBEDDED-IOT.md §3
Modbus Application (Serial/TCP) Industrial — RTU vs TCP, function codes, register mapping, polling vs event EMBEDDED-IOT.md §3
OPC UA Application (TCP) Industrial interoperability — information model, security, pub/sub, companion specifications EMBEDDED-IOT.md §3
CAN bus Data link Automotive/industrial — message arbitration, error handling, CANopen, J1939 EMBEDDED-IOT.md §3
Matter Application Smart home — Thread/Wi-Fi transport, device types, commissioning, multi-admin (see BLE, Zigbee & Short-Range Wireless Protocols)

Core knowledge: Embedded / IoT engineering body of knowledge — communication protocol overview and selection criteria.

Bridge: Embedded / IoT ↔ SDLC ↔ PDLC bridge — protocol choices across the lifecycle.


Keep project-specific safety documentation in docs/safety/ and hazard analyses in docs/security/, not in this file.