IoT protocols
The networking stack that turns an embedded device into a connected one. awesome-iot organizes it by layer, and the layering is the point: an IoT product is a choice at each tier, and the choices interact.
The three tiers
Physical / radio — 802.15.4, Bluetooth and BLE, Wi-Fi, and the low-power wide-area family (LoRaWAN, NB-IoT, Sigfox, EC-GSM-IoT). The trade here is range against power against bandwidth, and it is the decision that most constrains everything above it.
Network / transport — 6LoWPAN (IPv6 squeezed onto 802.15.4 frames), Thread, ZigBee, Z-Wave. This tier is where mesh topology and addressing get settled, and where the industry’s fragmentation is most visible: several incompatible stacks, each with an alliance behind it.
Application — MQTT (publish/subscribe, designed at IBM for constrained links, the de-facto default), CoAP (REST semantics over UDP for devices too small for HTTP), DTLS for transport security, plus HTTP, WebSocket, XMPP, STOMP, and the beacon formats iBeacon and Eddystone.
Constraint shapes the protocol
Each of these exists because a general-purpose internet protocol didn’t fit. CoAP is HTTP’s request model rebuilt on UDP for devices with kilobytes of RAM; 6LoWPAN is header compression so IPv6 can cross a 127-byte frame; MQTT is publish/subscribe because a sleeping sensor can’t hold a connection. The pattern is the same one embedded-systems describes at the hardware level: the design is downstream of the constraint.
The tier above: who holds the connection
The three tiers get a message off the device. They don’t say where it goes, and in practice it goes to a broker — MQTT’s publish/subscribe model needs one, and the IoT platform layer grew up around it. device-reachability is why: a device behind NAT can dial out and cannot be dialled, so something with a public address has to hold the connection. bitbang argues that this technical constraint got converted into a commercial one (accounts, subscriptions, data on someone else’s server) and that WebRTC arrived too late to stop it. Whether that reading is right, the constraint it names sits directly under the application tier above.
Alliances are part of the stack
awesome-iot lists the LoRa Alliance, Bluetooth SIG, Thread Group and Zigbee Alliance alongside
the protocols. That’s accurate rather than decorative — in this field the specification, the
certification mark, and the licensing terms travel together, and which alliance controls a protocol
determines who can ship it. It’s the closest thing here to the governance layer
../ai-governance-wiki documents for a different technology.
Related
embedded-systems · awesome-iot · device-reachability · bitbang · single-board-computer · microcontroller · synthesis