轻量级的物联网消息传输协议

MQTT 协议

随着 5G 时代的来临,万物互联的伟大构想正在成为现实。海量的设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了很大挑战。

MQTT 协议是基于发布/订阅模式的物联网通信协议,凭借简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山。

MQTT 协议

为什么选择 MQTT

轻量可靠
轻量可靠
MQTT 报文紧凑,可在严重受限的硬件设备和低带宽、高延迟的网络上实现稳定传输。
生态更完善
生态更完善
覆盖全语言平台的客户端和 SDK, AWS IoT Core、 Azure IoT Hub 等顶级云厂商物联网平台标准通信协议,物联网事实标准。
发布/订阅模式
发布/订阅模式
基于发布/订阅模式,发布订阅模式的优点在于发布者与订阅者的解耦:订阅者与发布者不需要建立直接连接、也不需要同时在线。
为物联网而生
为物联网而生
提供心跳机制、遗嘱消息、QoS 质量等级+离线消息、主题和安全管理等全面的物联网应用特性。

MQTT 应用行业

MQTT 协议广泛应用于物联网、移动互联网、智能硬件、车联网、电力、能源等领域。

MQTT 应用行业
  • 物联网 M2M 通信,物联网大数据采集 物联网 M2M 通信,物联网大数据采集
  • 智慧城市、远程医疗、远程教育 智慧城市、远程医疗、远程教育
  • 电力、石油与能源等行业 电力、石油与能源等行业
  • 智能硬件、智能家居、智能电器 智能硬件、智能家居、智能电器
  • 车联网通信,电动车站桩采集 车联网通信,电动车站桩采集
  • 移动即时消息,
及安卓、Web 消息推送 移动即时消息, 及安卓、Web 消息推送

MQTT 快速开始

MQTT 基础

MQTT 协议是什么
MQTT 协议是基于 发布/订阅 模式的物联网通信协议,凭借简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山。
查看详情 →
MQTT 发布订阅模式介绍
MQTT 发布订阅模式区别于传统的客户端/服务器模式,它使发布者与订阅者分离,发布者与订阅者不需要建立直接联系。
查看详情 →
如何使用 MQTT 报文实现发布订阅功能
MQTT 协议通过交换预定义的MQTT控制报文来通信。下面以 MQTTX 为例,展示如何通过 MQTT 报文实现发布订阅功能。
查看详情 →
MQTT 主题的高级特性
MQTT 协议基于主题进行消息路由,服务端会将消息路由至订阅了该主题的所有客户端,主题类似 URL 路径,可以有多个级别。
查看详情 →

MQTT 特性

MQTT 会话
从客户端向服务端发起 MQTT 连接请求开始,到连接中断直到会话过期为止的消息收发序列称之为会话,会话可能仅持续一个网络连接,也可能跨越多个网络连接存在。
查看详情 →
MQTT QoS(服务质量)介绍
MQTT 协议中规定了消息服务质量 QoS(Quality of Service),它保证了在不同的网络环境下消息传递的可靠性,QoS 的设计是 MQTT 协议里的重点。
查看详情 →
MQTT 保留消息
MQTT 客户端向服务器发布消息时,可以设置保留消息标志,后来的订阅者订阅主题时可以接收到最新一条保留消息。
查看详情 →
MQTT 遗嘱消息(Will Message)的使用
当客户端断开连接时,发送给相关的订阅者的遗嘱消息。
查看详情 →
了解 MQTT 5.0 相关特性 →

MQTT 客户端编程

如何在 Electron 项目中使用 MQTT

如何在 Electron 项目中使用 MQTT

本文将介绍如何在 Electron 项目中使用 MQTT,完成一个简单的 MQTT 桌面客户端并实现 MQTT 的连接、订阅、收发消息等功能。
查看更多 →
使用 WebSocket 连接 MQTT 服务器

使用 WebSocket 连接 MQTT 服务器

本文将演示如何使用 WebSocket 连接到 MQTT 服务器,并着重介绍开发者在项目中较为关心的技术点以及常见错误的解决办法。
查看更多 →
如何在 Vue 项目中使用 MQTT

如何在 Vue 项目中使用 MQTT

本文主要介绍如何在 Vue 项目中使用 MQTT,并实现客户端与 MQTT 服务器的连接、订阅、收发消息、取消订阅等功能。
查看更多 →
如何在 Golang 中使用 MQTT

如何在 Golang 中使用 MQTT

本文将介绍如何在 Golang 项目中使用 paho.mqtt.golang 库 ,并实现客户端与 MQTT 服务器的连接、订阅、收发消息等功能。
查看更多 →
如何在 Python 中使用 MQTT

如何在 Python 中使用 MQTT

本文将介绍如何在 Python 项目中使用 paho-mqtt 客户端库 ,并实现客户端与 MQTT 服务器的连接、订阅、收发消息等功能。
查看更多 →
在树莓派上使用 MQTT

在树莓派上使用 MQTT

在此项目中,我们将在树莓派上使用 Python 编写简单的 MQTT 客户端,并实现与 MQTT 服务器的连接、订阅、取消订阅、收发消息等功能。
查看更多 →
在 Flutter 项目中使用 MQTT

在 Flutter 项目中使用 MQTT

本文主要介绍如何在 Flutter 项目中使用 MQTT,实现客户端与 MQTT 服务器的连接、订阅、取消订阅、收发消息等功能。
查看更多 →
Android 使用 Kotlin 连接 MQTT

Android 使用 Kotlin 连接 MQTT

本文主要介绍使用 Kotlin 语言在 Android 平台上使用 MQTT,实现安卓客户端与 MQTT 服务器的连接、主题订阅、收发消息等功能。
查看更多 →
ESP8266 连接到免费的公共 MQTT 服务器

ESP8266 连接到免费的公共 MQTT 服务器

在此项目中我们将实现 ESP8266 连接到 EMQ X Cloud 运营和维护的免费公共 MQTT 服务器,并使用 Arduino IDE 来对 ESP8266 进行编程。
查看更多 →

MQTT 资源

在线 MQTT 5 服务器
免费的在线 MQTT 服务器,可用于 MQTT 学习、测试或原型制作
MQTT 物联网云服务平台
快速部署、轻松管理、按需扩展的物联网 MQTT 5.0 云服务
在线 MQTT 客户端工具
通过在线 MQTT 客户端工具快速了解 MQTT 消息传递
跨平台 MQTT 客户端工具
MQTT X 是一款功能全面的跨平台 MQTT 5.0 桌面测试客户端
MQTT 技术文章
由 EMQ 提供的 MQTT 及 MQTT 5.0 相关技术文章