MQTT
IoT Internet of Things
- IoT is the inter-networking of physical devices. - Also, call it as "connected devices" and "smart
devices"Areas: - Home automation/Smart home - Industrial automation - Health monitoring devices ..etc
Protocols using in IoT :- MQTT (Message Queue Telemetry Transport)- HTTP (Hypertext Transfer Protocol)- CoAP (Constrained Application Protocol)...etc
MQTT( Message Queuing Telemetry Transport )
- MQTT is a publish/subscribe messaging machine-to-machine (M2M)/"Internet of Things" connectivity protocol
- It was originally developed by IBM and is now an open standard.
- Uses port 1883 and 8883 (over SSL).
MQTT vs HTTP- Lightweight- Uses less battery power- Bandwidth-efficient- Takes 1/2 as much power to keep connection
open- Faster throughput- Less network overhead- Header size is 2 bytes over HTTP has
minimum 26 bytes to 2kb depends on request.
TOPICS:Example 1:Publish: “company/name/vinay”Data/Payload : {“phone”:”1234567890”}
Subscriber: “company/name/vinay”
Example 2:Single level Wildcard: +
Subscriber: “company/+/vinay”
Example 3:Multi level Wildcard: #
Subscriber: “company/#”
Quality Of Service (QoS):
QoS 0: The client/server will deliver the message once, with no confirmation required.
QoS 1: The client/server will deliver the message at least once, confirmation required.
QoS 2: The client/server will deliver the message exactly once, confirmation required.
MQTT Libraries: (Device/ Client)- Paho Mqtt- Mosquitto- MQTT.js ...etc
MQTT Broker Cloud Environment :- IBM Bluemix Watson IoT
- eMQTT (erlang MQTT): Open source
Subscribed topic : iot-2/type/Wi-Fimaster/id/cumu_test_dev1/evt/status/fmt/json
Publish topic : iot-2/type/Wi-Fimaster/id/cumu_test_dev1/cmd/action/fmt/json