MQTT (Message Queuing Telemetry Transport) is a lightweight publish/subscribe messaging protocol designed for reliable data exchange between devices and servers over low-bandwidth or unstable networks. It is widely used in IoT and industrial monitoring because it minimizes overhead while supporting real-time telemetry and event updates.
How MQTT works
MQTT uses a broker-based publish/subscribe model:
– Devices and applications act as clients that connect to an MQTT broker
– A client publishes messages to a named topic (for example: site/chargers/123/status)
– Other clients subscribe to topics to receive updates automatically
– The broker routes each message to all subscribers of the matching topic
– MQTT sessions can be persistent, allowing clients to reconnect and continue reliably
Core MQTT concepts
Key MQTT building blocks include:
– Broker: central server that authenticates clients and routes messages
– Client: publisher and/or subscriber (charger, gateway, EMS, analytics service)
– Topic: hierarchical channel name used to organize data streams
– Payload: the message content (JSON, binary, or text)
– QoS (Quality of Service): delivery assurance level (0, 1, or 2)
– Retained messages: broker stores the latest value for a topic for new subscribers
– Last Will and Testament (LWT): broker publishes a defined “offline” message if a client disconnects unexpectedly
Why MQTT matters in EV charging and energy systems
While OCPP is the standard protocol for charger-to-back-office communication, MQTT is often used for broader site and energy integrations:
– Real-time telemetry streaming from chargers, meters, or gateways to monitoring systems
– Integration with energy management systems (EMS) for load and constraint signals
– Fast event-based updates for alarms, availability, and operational dashboards
– Edge-to-cloud communications where bandwidth is limited or latency matters
– Bridging OT/IoT systems (sensors, building systems) with charging infrastructure monitoring
Typical MQTT use cases around charging sites
MQTT is commonly used for:
– Publishing site load, phase currents, and transformer utilization for load management
– Streaming meter readings and power quality indicators for analytics
– Integrating occupancy sensors, CCTV triggers, or access systems with site operations
– Sending control signals to local controllers (setpoints, demand limits, schedules)
– Feeding data pipelines and dashboards for mobility analytics and utilization tracking
Security and reliability considerations
MQTT deployments should be designed with secure and robust operations:
– Use TLS encryption for broker connections and strong client authentication
– Apply topic-level authorization to prevent data leakage across sites/tenants
– Define sensible QoS levels to balance reliability and network overhead
– Plan message retention, buffering, and reconnection behavior for edge devices
– Monitor broker performance and availability, since it is a central dependency
MQTT vs HTTP vs WebSockets
MQTT is often chosen when:
– Many devices send small messages frequently
– Networks are unreliable and reconnect behavior is important
– Low overhead and low latency telemetry is needed
HTTP is often better for request/response APIs, while WebSockets may be used for browser-based real-time updates.
Related glossary terms
IoT
Telemetry
Monitoring module
Energy management
Load management
API integration
Data encryption
Incident response plan
OCPP
CPMS