One of the challenges of connecting “things” to the internet is adapting very low powered & embedded devices to communicate using the same network that was designed for high-powered computers & smartphones running a web browser over HTTP. HTTP is designed as a request-response protocol for client-server computing, not necessarily optimized for mobile and push capabilities, particularly in terms of battery usage. Compared with HTTP, MQTT features faster response and throughput, and lower battery and bandwidth usage, making it well suited to use cases where:
· connectivity is intermittent
· bandwidth is at a premium
· an enterprise application needs to interact with one or more phone apps
· phone or tablet apps need to send data reliably without requiring code retry logic
If you’re looking at optimising data bandwidth (especially on power constrained devices), MQTT might be one of the solutions.
MQTT (formerly MQ Telemetry Transport) is a publish-subscribe based “light weight” messaging protocol for use on top of the TCP/IP protocol. It is designed for connections with remote locations where a “small code footprint” is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker. The broker is responsible for distributing messages to interested clients based on the topic of a message. http://mqtt.org