Monday, May 11, 2015

MQTT on constrained devices - Part III

MQTT is designed for constrained devices. 
- Protocol comprised of bit-wise headers and variable length fields. 
- Smaller possible packet size is 2 bytes 
- Asynchronous bidirectional “push” delivery of messages to applications (no polling)
- Supports always connected and sometimes-connected models 
- Provides session awareness
- Configurable keep alive providing granual session awayreness 
- Last will and testament enable applications to know when a client goes offline abnormally.
- Typically utilises TCP based networks e.g. web sockets . The Http protocol can be upgraded as web sockets  
- Tested on many networks - vsat, gprs, 2G —

This protocol provides multiple deterministic message delivery qualities of Service. 

- 0. message delivered at most once
- 1 message will be delivered but may be duplicated 
- 2 - once and once only delivery
- QOS maintained over fragile network even if connection breaks. 

The protocol is suited for applications . devices that may have limited resources available 
- 8 bit controllers and upwards 
- Battery constrained devices 

There are multiple MQTT client implementations are available in many form factors / languages 
- Tiny footprint MQTT client and server libraries e.g. a C client lin in 30Kn and Java lib in 64 kb


References:

No comments:

Post a Comment