1. Automated factories, smart home systems, self-driving cars: Different as they may seem, all these technologies have something in common. They rely on devices that communicate with each other. In other words, they share data.
2. For that data to do anything—whether that’s executing an order on a smart CNC machine or tracking a shipping container—your devices must send and receive messages according to the same rules.
3. These rules are codified by messaging protocols. During the early days of IoT, a lot of competing protocols were floating around. You might find IoT systems based on:
• DDS (Data Distributed Service)
• CoAP (Constrained Application Protocol)
• AMQP (Advanced Message Queue Protocol)
• QUIC (Quick UDP Internet Connections)
• And others
4. None of these technologies offered the ideal blend of features for IoT, which requires a protocol that excels at:
• Sending small amounts of data over unreliable networks;
• Operating with limited bandwidth and connectivity;
• Using a minimal overhead and small code footprint;
• Functioning well in devices with limited processing power, memory, and battery life.
5. Luckily, such a protocol was developed in 1999. It’s called MQTT, and it’s become the de facto standard for IoT communication—both in consumer devices (wearables, smart home products, e-mobility, etc.) and industrial IoT, or IIoT (smart factories, asset tracking systems, smart utilities, and lots more). Why is MQTT becoming the dominant IoT messaging protocol? Is it the right technology for your IoT/IIoT deployment? And if so, what do you need to build an IoT system that uses MQTT?