MQTT
Message Queue Telemetry Transport
"Publish-subscribe-based "lightweight" messaging protocol, for use on top of the TCP/IP protocol."
- Publish-subscribe
- A message broker is required
- Standard: ISO/IEC PRF 20922
- Small code footprint
- Limited network bandwidth / constrained environments
- Developed in 1999 (and released royalty free in 2010)
- Data agnostic
- Topic #1:
home/groundfloor/kitchen/temperature
- Topic #2:
office/conferenceroom/luminance
- Single-level:
home/groundfloor/+/temperature
(to subscribe to all the temperature readings in all the rooms of the ground floor) - Multi-level:
home/groundfloor/#
(to subscribe to all the readings in all the rooms of the ground floor, not only the temperature)
- 0: The broker/client will deliver the message once, with no confirmation.
- 1: The broker/client will deliver the message at least once, with confirmation required.
- 2: The broker/client will deliver the message exactly once by using a four step handshake.
There are client libraries and wrappers for practically all languages used in M2M setups, as well as different brokers/servers.
- Learn more: mqtt.org
- Software: mqtt.org/software
- Recommended broker (C): Mosquitto (mosquitto.org)
- Lots of good tutorials out there