IoT Assignment on MQTT Protocol
Report: IoT Assignment on MQTT Protocol
Slide 1:
Iot assignment onMQTT Protocol
Presented by:
ABHIJIT PRADHAN 7473U234001
AKSHAT AJAY NAMDEO 7473U234003
ANSHUMAN SAHU 7473U234004
ARCHITA PATRA 7473U234005
ARIJEET PAUL 7473U234006
ASMAN ASHUTOSH PRADHAN 7473U234007
INSTITUTE OF MATHEMATICS AND APPLICATIONS,BHUBANESWAR
BSC 2ND YEAR (4TH SEMESTER)
Slide 2:
What is MQTT?
MQTT = Message Queuing Telemetry Transport
Lightweight messaging protocol
Designed for low-bandwidth, high-latency, or unreliable networks
Ideal for IoT devices
Components of MQTT
Publisher Sends messages to a topic.
Subscriber Receives messages from a topic.
Broker Manages message distribution (e.g., Mosquitto, AWS IoT
Core, HiveMQ).
Topic A hierarchical string (e.g., home/livingroom/temperature)
Page 1
IoT Assignment on MQTT Protocol
that filters messages.
Slide 3:
Key Features of MQTT
Lightweight Small message size (minimal overhead).
Publish-Subscribe Model Decouples senders (publishers) and receivers
(subscribers).
Low Power Consumption Ideal for battery-operated devices.
Reliable Messaging Supports different Quality of Service (QoS) levels.
Scalable Supports thousands of connected devices.
Slide 4:
MQTT Architecture
Client: Publisher or Subscriber (e.g., ESP32)
Broker: Central server (e.g., Mosquitto, HiveMQ)
Topics: Hierarchical channels for messages
Message Flow: Publisher Broker Subscriber
Slide 5:
MQTT Packet Structure
CONNECT, CONNACK: Connection setup
PUBLISH, PUBACK: Sending messages
SUBSCRIBE, SUBACK: Subscribe to topic
PINGREQ, PINGRESP: Keep connection alive
Slide 6:
Page 2
IoT Assignment on MQTT Protocol
How MQTT Works (Flow)
1. Devices connect to broker
2. Publisher sends message to a topic
3. Broker forwards message to all subscribers
Slide 7:
Setting Up the Demo
Hardware/Software:
ESP32 microcontroller
Arduino IDE
MQTT library (PubSubClient)
Wi-Fi network
Broker: Mosquitto or HiveMQ
Slide 8:
ESP32 Publisher Code (Snippet)
#include <WiFi.h>
#include <PubSubClient.h>
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Page 3
IoT Assignment on MQTT Protocol
WiFi.begin("SSID", "PASSWORD");
client.setServer("broker.hivemq.com", 1883);
client.connect("ESP32Client");
client.publish("esp32/data", "Hello MQTT");
Slide 9:
Subscriber Code / MQTT Dashboard
Use MQTT.fx, HiveMQ WebSocket client, or custom ESP32 subscriber code
Subscribe to esp32/data
See real-time messages sent from ESP32
Slide 10:
Simulated Example
ESP32 publishing data
MQTT client receiving the data
Real-time communication over broker
Slide 11:
Real-World Use Cases of MQTT
Smart Home Automation (sensors, lights, thermostats,security cameras)
Industrial Monitoring (machine telemetry,monitoring and control of industrial equipments)
Agriculture IoT (soil/moisture sensors for smart farming)
Health Monitoring (wearables promoting remote health monitoring)
Page 4
IoT Assignment on MQTT Protocol
Fleet/Vehicle Tracking (smart cities,intelligent transportation system
Slide 12:
Advantages of MQTT
Lightweight and efficient
Low bandwidth usage
Reliable over unstable networks
Scalable for many devices
Bidirectional communication
Scalability
Security
Widely supported in IoT platforms
Slide 13:
Limitations of MQTT
No built-in security (needs TLS)
Broker dependency
Not ideal for real-time video/large data
Message size limitation
Topic management
Interoperability
Slide 14:
Conclusion
MQTT is a lightweight, efficient, and reliable messaging protocol designed for IoT.
Its publish/subscribe model makes it scalable and flexible for real-time communication.
Page 5
IoT Assignment on MQTT Protocol
We explored its architecture with the broker, clients, and topics.
The ESP32 demo showed how MQTT enables real-time data transmission with minimal effort.
From smart homes to industrial automation, MQTT powers many modern IoT applications.
Security and broker reliability are key considerations in practical deployments.
Slide 15:
Page 6