<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Messaging Protocols on Embedded Systems Development</title><link>https://applied-ee.github.io/embedded/docs/iot-systems/messaging-protocols/</link><description>Recent content in Messaging Protocols on Embedded Systems Development</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://applied-ee.github.io/embedded/docs/iot-systems/messaging-protocols/index.xml" rel="self" type="application/rss+xml"/><item><title>MQTT</title><link>https://applied-ee.github.io/embedded/docs/iot-systems/messaging-protocols/mqtt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://applied-ee.github.io/embedded/docs/iot-systems/messaging-protocols/mqtt/</guid><description>&lt;h1 id="mqtt"&gt;MQTT&lt;a class="anchor" href="#mqtt"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;MQTT (Message Queuing Telemetry Transport) is a lightweight publish/subscribe messaging protocol designed for constrained devices and unreliable networks. Originally developed by IBM in 1999 for SCADA systems over satellite links, it has become the dominant messaging protocol in IoT deployments. The protocol operates over TCP, uses a central broker to decouple publishers from subscribers, and provides three levels of delivery guarantee. A minimal MQTT CONNECT packet is 14 bytes, and a typical publish with a short topic and small payload fits in under 100 bytes — roughly 10x smaller than an equivalent HTTP POST with headers. This low overhead makes MQTT viable on devices with as little as 10 KB of RAM and on networks where every byte costs money (cellular, satellite, LPWAN).&lt;/p&gt;</description></item><item><title>CoAP</title><link>https://applied-ee.github.io/embedded/docs/iot-systems/messaging-protocols/coap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://applied-ee.github.io/embedded/docs/iot-systems/messaging-protocols/coap/</guid><description>&lt;h1 id="coap"&gt;CoAP&lt;a class="anchor" href="#coap"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Constrained Application Protocol (CoAP) is a lightweight request/response protocol designed for machine-to-machine communication on constrained networks. Specified in RFC 7252, CoAP runs over UDP instead of TCP, uses a compact binary header (4 bytes fixed, versus HTTP&amp;rsquo;s variable-length text headers that commonly exceed 200 bytes), and maps naturally to REST semantics (GET, PUT, POST, DELETE). A typical CoAP request with a short URI path and small payload fits in a single UDP datagram under 100 bytes — small enough to transmit in a single IEEE 802.15.4 frame (127 bytes maximum at the link layer). This makes CoAP the protocol of choice for devices on 6LoWPAN, Thread, and other constrained networks where MQTT&amp;rsquo;s TCP requirement is either impractical or impossible.&lt;/p&gt;</description></item><item><title>AMQP</title><link>https://applied-ee.github.io/embedded/docs/iot-systems/messaging-protocols/amqp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://applied-ee.github.io/embedded/docs/iot-systems/messaging-protocols/amqp/</guid><description>&lt;h1 id="amqp"&gt;AMQP&lt;a class="anchor" href="#amqp"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Advanced Message Queuing Protocol (AMQP) is an open standard for message-oriented middleware that provides reliable, broker-mediated messaging with sophisticated routing capabilities. AMQP 0-9-1 (the version implemented by RabbitMQ and most IoT-relevant deployments) defines a rich model of &lt;strong&gt;exchanges&lt;/strong&gt;, &lt;strong&gt;queues&lt;/strong&gt;, and &lt;strong&gt;bindings&lt;/strong&gt; that gives the broker fine-grained control over how messages flow from producers to consumers. Where MQTT provides a simple topic-based publish/subscribe model, AMQP offers programmable routing logic at the broker level — direct routing, pattern matching, fan-out, and header-based filtering are all native protocol features. This flexibility comes at a cost: AMQP&amp;rsquo;s minimum frame overhead is 8 bytes (versus MQTT&amp;rsquo;s 2 bytes), a typical connection handshake exchanges ~7 frames before the first message can flow, and the protocol assumes a reliable TCP transport with sufficient memory for queue management. For IoT, AMQP occupies a specific niche: it is rarely the right choice for constrained end devices, but it excels at edge gateways and backend processing stages where message routing complexity justifies the overhead.&lt;/p&gt;</description></item></channel></rss>