MQTT is a lightweight IoT messaging protocol based on the publish-subscribe model.

MQTT Protocol

With the advent of the 5G era, connecting everything is becoming a reality. Accessing a large number of devices and devices management brings a huge challenge to network broadband, communication protocol and platform service architecture.

MQTT protocol is an IoT messaging protocol based on the publish-subscribe model. It has occupied half of the IoT protocol because of its simple and easy to implement, supporting QoS and small packet.

MQTT website | MQTT V3.1.1 specification | MQTT V5.0 specification

Why Choose MQTT?

lightweight Lightweight and reliable

Compact MQTT packet, enable stable transmission over severely restricted device hardware and high-latency / low-bandwidth network

ecology Better ecology

Its client and SDK covers all language platforms, it is an Internet of things platform standard communication protocol for AWS IoT Core Azure IoT Hub and other top cloud vendors, which is an actual standard of Internet of things

pubsub Publish-subscribe model

Based on the publish-subscribe model. The advantage of the publish-subscribe model is the decoupling between the publisher and subscriber: there is no need to build the direct connection between the subscriber and publisher, nor need to on-line at the same time

iot Born for the Internet of Things

Provide comprehensive IoT application features such as Heartbeat mechanism, Will message, QoS quality level + offline message, asynchronous mechanism, topic and security management

Applicable Industries

MQTT protocol is widely used in IoT, Mobile Internet, Intelligent Hardware, Internet of Vehicles, Power Energy and so on.

  • iot M2M Communication and Big Data Acquisition in the IoT
  • smart city Smart City, Telemedicine, Distance Education
  • electricity Electricity, Oil and Energy industry
  • smart home Intelligent hardware, smart furniture and appliances
  • iov Vehicle networking communication, pile collection of electric vehicles
  • message Mobile instant messaging and message push

MQTT Quick Start


MQTT Basics

  • What is the MQTT protocol

    MQTT is an IoT protocol based on the Pub/Sub model. With its characteristics of simple and easy implementation, support for QoS, and small packet.

    Read more →
  • Introduction to MQTT publish-subscribe model

    The publish-subscribe model is different from the client-server one. It separates the publisher from the subscriber and has no direct connection between the two.

    Read more →
  • How to use MQTT packet to implement publish and subscribe

    The MQTT protocol communicates by exchanging predefined MQTT control packets. We will take MQTTX as an example to show how to implement the publish and subscribe function through MQTT packets.

    Read more →
  • Advanced features of MQTT topics

    MQTT will route messages based on topic. The broker will route messages to all the client that have subscribed to this message topic.

    Read more →

MQTT Features

  • Introduction to MQTT QoS (Quality of Service)

    MQTT protocol specifies the 3 QoS (Quality of Service) levels, which guarantees the reliability of message delivery under different network environments.

    Read more →
  • MQTT Session

    The messaging series start from initiating an MQTT connection request to the server until the connection is interrupted and the session expires is called session.

    Read more →
  • MQTT Retain Message

    When MQTT clients publish messages, you can set the retained message flag, and then the next subscribers can receive the latest retained message when subscribe.

    Read more →
  • Use of MQTT Will Message

    When the client disconnects, a will message is sent to the relevant subscriber.

    Read more →

MQTT Client Programming

Using MQTT in the Flutter project

This article introduces how to use MQTT in the Flutter to implement the connection, subscribe, messaging, etc between client and MQTT broker.

Read more →
Using MQTT in the Flutter project

Android connects MQTT using Kotlin

This article introduces how to use MQTT to implement the connection, messaging, etc between Android client and MQTT broker, through using Kotlin.

Read more →
Android connects MQTT using Kotlin

ESP8266 connects to the free public MQTT broker

In this project, we will implement connecting ESP8266 to free public MQTT broker maintained by EMQ X Cloud, and programming ESP8266 by using Arduino IDE.

Read more →
ESP8266 connects to the free public MQTT broker

Use MQTT with Raspberry Pi

This article introduces how to use Python to write a simple MQTT client on Raspberry Pi to implement the connection, subscribe, messaging, etc.

Read more →
 Use MQTT with Raspberry Pi

How to use MQTT in Python (Paho)

This article introduces how to use the Paho MQTT client library in the Python project, and implements connection, subscribe, messaging, etc of MQTT.

Read more →
How to use MQTT in Python (Paho)

MQTT Resources

Public MQTT 5 broker

The free public MQTT 5 broker for MQTT learning, testing or prototyping

Free Public MQTT 5 Broker →

MQTT client tool online

Through the online MQTT client tool quickly understand MQTT messaging

Online MQTT Client Tool →

MQTT technical articles

The technical articles that related to MQTT and MQTT 5.0 provided by EMQ

MQTT Technical Articles →

MQTT IoT cloud service

IoT MQTT 5.0 cloud service for rapid deployment, easy management, and on-demand expansion

Try MQTT IoT Cloud for Free →

Cross-platform MQTT client tool

MQTT X is a comprehensive function cross-platform MQTT 5.0 desktop client tool

Cross-platform MQTT Client Tool →