5 reasons “Why we choose MQTT”

Devarajan
Bevywise Networks Inc
3 min readAug 8, 2016
5 reasons “Why we choose MQTT for IoT implementation”

IoT network finds application in day-to-day essentials from Home appliances, Public safety, Farming and Hospitals to high precision jobs including Smart cities, Automobiles, Industrial Automations and Satellite tracking.

Bevywise Networks was started with the aim to create IoT devices, sensors and softwares as mobile applications. This could be used by professionals and regular persons around the world to automate and simplify their social, business and personal needs.

We wanted our devices to communicate in a secure and reliable way. We believe “Quality & Reliability is no more a luxury, It should be something built inside”.

After analysing the available protocols, we decided to go with the MQTT (MQ Telemetry Transport) for the communication system.

Here are the 5 things about MQTT which made us to choose it for our IoT implementation.

1. Security

Even though MQTT messaging uses an unsecured TCP, we can be able to encrypt data with TLS/SSL Internet security to make it robust, when implementing for the mission critical business. We can have partial and complete encryption based on the resourcefulness of the system and security mandate.

2. Central Broker

We may be getting billions of devices on the Internet over the next 5 to 10 years. Broker which can act as a server can effectively reduce the number of packets that fall into the internet and also the amount of processing the individual memory needed for the clients. We should be able to build a grid of highly interoperable brokers across different vendors.

3. Quality of Service

MQTT defines three QoS which can cater to based on the importance of each messages and the repetitiveness of the messages in the environment.

At Most Once — Client configured with QoS level ‘0' will publish messages only once. This is just a confirmation message which will not be stored or responded by the receiver Client.

At least Once — Client configured with QoS level ‘1' will publish messages more than once. This message will be stored by the sender until a confirmation message is received from the other Client.

Exactly Once — Client configured with QoS level ‘2' ensures publishing the message exactly once. This is the most secure level of publishing messages.

4. Last WILL & Retained Message

Last WILL helps in knowing whether the particular client is available or not. It is not worth waiting for something that won’t happen. The listeners can be put on the power saver mode with interval based wake up to check the publisher availability.

Retained messages will help subscribers receive messages that were published some time before.

These messages highly decouple both the publisher and the subscriber to work independent of each device.

5. Flexible Subscription pattern

A Particular client can subscribe to all the topics published based on a pattern.

For example, a smaller monitor for kitchen can listen to all topics on kitchen by subscribing to

Topic Name: home/kitchen/+

Note: ‘+’ represents various sensors in kitchen (eg. ‘+’ can be temperature sensor, motion detect sensor, etc.)

In a similar fashion, a client can subscribe to all the temperature level of the house.

Topic Name: home/+/temperature

Note: ‘+’ represents various rooms with temperature sensor (eg. ‘+’ can be Bedroom, Hall, Kitchen etc.)

Not only these, there are many features of MQTT which benefits us. We have released the beta version of the IoT simulator for the MQTT Protocol. Please download and give it a try and visit our documentation to know more.

Originally posted at Bevywise Blog — 5 reasons “Why we choose MQTT”.

--

--