YAML
IoT Protocols - YAML
IoT protocols are communication conventions for enabling data exchange between devices in Internet of Things environments. Centered around lightweight messaging protocols such as MQTT, CoAP, and AMQP, various protocols exist to meet different use cases and requirements, including XMPP, DDS, HTTP, and LwM2M. These protocols are designed to accommodate the characteristics of IoT devices, including bandwidth constraints, power consumption, latency, and reliability. They are widely utilized across diverse fields such as smart homes, industrial automation, smart cities, and healthcare.
IoT
protocol
MQTT
CoAP
AMQP
communication
M2M
smart devices
- code: "01"
slug: "mqtt"
name: "MQTT"
description: "Lightweight publish-subscribe messaging protocol"
fullName: "Message Queuing Telemetry Transport"
transportProtocol: "TCP"
architecture: "Broker-based (Pub/Sub)"
headerSize: "2 bytes"
qosLevels: 3
powerConsumption: "moderate"
bestFor:
- "unreliable networks"
- "remote monitoring"
- "smart homes"
- "industrial automation"
- code: "02"
slug: "coap"
name: "CoAP"
description: "Lightweight web transfer protocol for constrained devices"
fullName: "Constrained Application Protocol"
transportProtocol: "UDP"
architecture: "Client-Server (RESTful)"
headerSize: "4 bytes"
qosLevels: 2
powerConsumption: "low"
bestFor:
- "battery-powered devices"
- "constrained networks"
- "smart agriculture"
- "LPWAN"
- code: "03"
slug: "amqp"
name: "AMQP"
description: "Advanced message queuing protocol for enterprise"
fullName: "Advanced Message Queuing Protocol"
transportProtocol: "TCP"
architecture: "Broker-based (Multiple patterns)"
headerSize: "variable (larger)"
qosLevels: 3
powerConsumption: "high"
bestFor:
- "enterprise integration"
- "financial systems"
- "healthcare"
- "mission-critical applications"
- code: "04"
slug: "xmpp"
name: "XMPP"
description: "XML-based real-time communication protocol"
fullName: "Extensible Messaging and Presence Protocol"
transportProtocol: "TCP"
architecture: "Distributed (Client-Server)"
headerSize: "variable (XML overhead)"
qosLevels: 1
powerConsumption: "moderate"
bestFor:
- "instant messaging"
- "presence detection"
- "chat applications"
- "device management"
- code: "05"
slug: "dds"
name: "DDS"
description: "Middleware protocol for real-time data distribution"
fullName: "Data Distribution Service"
transportProtocol: "UDP/TCP"
architecture: "Brokerless (Pub/Sub)"
headerSize: "variable"
qosLevels: 22
powerConsumption: "high"
bestFor:
- "industrial automation"
- "robotics"
- "defense systems"
- "automotive"
- "real-time systems"
- code: "06"
slug: "http-https"
name: "HTTP/HTTPS"
description: "Standard protocol for web communication"
fullName: "HyperText Transfer Protocol / HTTP Secure"
transportProtocol: "TCP"
architecture: "Client-Server (Request/Response)"
headerSize: "800+ bytes"
qosLevels: 1
powerConsumption: "high"
bestFor:
- "web applications"
- "device management portals"
- "data visualization"
- "RESTful APIs"
- code: "07"
slug: "lwm2m"
name: "LwM2M"
description: "Lightweight M2M device management protocol"
fullName: "Lightweight M2M"
transportProtocol: "UDP (over CoAP)"
architecture: "Client-Server"
headerSize: "4+ bytes"
qosLevels: 2
powerConsumption: "low"
bestFor:
- "device management"
- "firmware updates"
- "smart metering"
- "asset tracking"
- code: "08"
slug: "mqtt-sn"
name: "MQTT-SN"
description: "MQTT protocol for sensor networks"
fullName: "MQTT for Sensor Networks"
transportProtocol: "UDP"
architecture: "Broker-based (Pub/Sub)"
headerSize: "2-5 bytes"
qosLevels: 3
powerConsumption: "low"
bestFor:
- "sensor networks"
- "non-IP networks"
- "Zigbee"
- "LoRaWAN"
- "Bluetooth"
- code: "09"
slug: "opc-ua"
name: "OPC UA"
description: "M2M communication protocol for industrial automation"
fullName: "OPC Unified Architecture"
transportProtocol: "TCP"
architecture: "Client-Server"
headerSize: "variable"
qosLevels: 2
powerConsumption: "moderate"
bestFor:
- "industrial automation"
- "process control"
- "manufacturing"
- "Industry 4.0"
- code: "10"
slug: "websocket"
name: "WebSocket"
description: "Web protocol enabling full-duplex communication"
fullName: "WebSocket Protocol"
transportProtocol: "TCP"
architecture: "Client-Server (Full-duplex)"
headerSize: "2-14 bytes"
qosLevels: 1
powerConsumption: "moderate"
bestFor:
- "real-time streaming"
- "chat applications"
- "live dashboards"
- "bidirectional communication"