An Introduction To MQTT



Since the world is now talking about IoT (Internet Of Things) stuff, you may already hear about MQTT. As you may hear, lots of communication things have been made simple with MQTT. So before we talk more about MQTT, let’s see,


What Will Cover in this blog post?


What Is MQTT?

According to mqtt.org, MQTT is an OASIS standard messaging protocol for the Internet Of Things (IOT). It is designed as an extremely lightweight publish/ subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth.


Why MQTT?

Since MQTT is lightweight and efficient, MQTT clients are very small. There are even web browser extensions which support it to work as MQTT clients. Also you can easily use Micro-controllers to connect & publish data to MQTT brokers.


Also, MQTT can perform Bi-directional communication. This allows us to send messages and receive messages at the same time. Funny thing is, it is very easy to do that.


One of the major advantages of using MQTT is, you can connect even millions of devices at sometime and MQTT will work without any issue and still the message delivery is pretty reliable.  


You may now thinking about security issues with MQTT, isn’t it? Well you are in luck because MQTT makes it easy to encrypt messages using TLS and authenticate clients using modern authentication protocols, such as OAuth.


MQTT publish/ Subscribe Architecture


Following image shows the MQTT publish/ subscribe architecture.



As you see in above figure, you can subscribe to a MQTT broker and publish data/ messages from one MQTT Client and receive the data by any other MQTT Client which is subscribed to the same topic. 

You can think of this like Twitter. If you subscribe to someone, you will get messages. If you do not subscribe, then you will not receive messages. But others who subscribed will get the messages. 

Note that, in the above figure, IoT devices are working as publishers. But you can set them as subscribers if you need. In some cases like, if you want to configure your IoT devices, you can set IoT MQTT Client devices as Subscribers or you can set them as publisher and subscriber at same time.


Who uses MQTT?


So here we come to our last subtopic for today’s post. So actually who uses MQTT?


Yes, as you think, most Undergraduates students, school students and those who are working on some prototype projects. They use MQTT to make things easy on their projects. But the interesting part is, MQTT is now using Automotive, Logistics, Manufacturing, Smart Home, Consumer products and as well as Transportations too.


For example checkout MQTT & Ignition. Ignition is a tool developed by Inductive Automation where MQTT is used for industrial automation. Which allows users to connect PCL devices to your online server. Imagine how easy it is to work after connecting everything online.


So I guess that’s it, hope you all now have some idea about MQTT. So next time, let’s do a project with MQTT.



***Please note that all of the content on this post was originally published on champlnx.blogspot.com. We have migrated these posts to www.champlnx.com for your convenience and continued access.

Leave a Reply

Your email address will not be published. Required fields are marked *