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:
https://www.youtube.com/watch?v=-KNPXPmx88E (time : 19:45)
No comments:
Post a Comment