Messaging Queue in IoT
Submitted by Hardik Trivedi (@trivedi) on Sunday, 18 September 2016
Full talk (40 minutes)
In the growing world of IoT we need assured connection between to devices to communicate over the internet, where two devices push the messages to each other. To solve this problem Web Sockets, different push message mechanism like GCM/FCM and APNS are not always best. We need MQTT(Message Queuing Telemetry Transport) which is specially designed to consume low power and guaranteed delivery of messages. And to complete the push messaging infrastructure we need message broker, RabbitMq is the one.
Talk will be based on how to solve key problem which is communication connection protocol between two machines. When it comes to device to device communication and special when devices are not that capable enough in terms of processing and power utilization. Mostly they remains sensors attached with processing boards like Raspberry pi and Arduino. So HTTP and Sockets are not good choice to work with such hardwares. Rather than we should use MQTT protocol to such machine to machine communication. Its publish and subscribe mechanism is just so perfect for sensor application. Expect and cater for Low Bandwidth, High Latency , High cost networks. Its expects that client applications may have very limited processing resources available and solves the problem in best way. Provides traditional messaging qualities of service where the environment allows.
• Some highlighted point of Protocol • Low complexity and footprints • Simple publish and subscribe messaging mechanism • Asynchronous delivery of messages to application • Simple verbs like connect, publish, unsubscribe and disconnect • Plain yet array message payload • No message headers • Smallest possible packet size 2 bytes • In built constructs to support loss of contact between client and server
Now MQTT simply solves our communication problem. What about a message broker which will act as a mediator between those two devices. Broker’s task is to keep track of registered devices and maintaining mapping between two devices. RabbitMQ is the message broker which will help us to control our own message queue, which is robust mechanism behind guaranteed delivery of messages.
I am Hardik Trivedi, I am computer program writer mainly spent my time writing robust android applications. In spare time I prefer to teach college students and professionals. I have been associated with multiple online institutions who offers cources for online study. I have conducted a webinar you can find the link in the link’s section.