MQTT

MQTT 是基于发布/订阅模式的轻量级物联网消息传输协议

MQTT 协议

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


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

MQTT 官网 | MQTT V3.1.1协议规范 | MQTT V5.0 协议规范
MQTT

为什么选择 MQTT

lightweight 轻量可靠

MQTT 报文紧凑,可在严重受限的硬件设备和低带宽、高延迟的网络上实现稳定传输。

ecology 生态更完善

覆盖全语言平台的客户端和 SDK, AWS IoT Core、 Azure IoT Hub 等顶级云厂商物联网平台标准通信协议,物联网事实标准。

pubsub 发布/订阅模式

基于发布/订阅模式,发布订阅模式的优点在于发布者与订阅者的解耦:订阅者与发布者不需要建立直接连接、也不需要同时在线。

iot 为物联网而生

提供心跳机制、遗嘱消息、QoS 质量等级+离线消息、主题和安全管理等全面的物联网应用特性。

MQTT 应用行业

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

application-mqtt
  • iot 物联网 M2M 通信,物联网大数据采集
  • smart city 智慧城市、远程医疗、远程教育
  • electricity 电力、石油与能源等行业
  • smart home 智能硬件、智能家居、智能电器
  • iov 车联网通信,电动车站桩采集
  • message 移动即时消息及消息推送

MQTT 快速入门

mqtt-base

MQTT 基础

  • MQTT 协议是什么

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

    查看详情 →
  • MQTT 发布订阅模式介绍

    MQTT 发布订阅模式区别于传统的客户端/服务器模式,它使发布者与订阅者分离,发布者与订阅者不需要建立直接联系。

    查看详情 →
  • 如何使用 MQTT 报文实现发布订阅功能

    MQTT 协议通过交换预定义的MQTT控制报文来通信。下面以 MQTTX 为例,展示如何通过 MQTT 报文实现发布订阅功能。

    查看详情 →
  • MQTT 主题的高级特性

    MQTT 协议基于主题进行消息路由,服务端会将消息路由至订阅了该主题的所有客户端,主题类似 URL 路径,可以有多个级别。

    查看详情 →
mqtt-feature

MQTT 特性

  • MQTT QoS(服务质量)介绍

    MQTT 协议中规定了消息服务质量 QoS(Quality of Service),它保证了在不同的网络环境下消息传递的可靠性,QoS 的设计是 MQTT 协议里的重点。

    查看详情 →
  • MQTT 会话

    从客户端向服务端发起 MQTT 连接请求开始,到连接中断直到会话过期为止的消息收发序列称之为会话,会话可能仅持续一个网络连接,也可能跨越多个网络连接存在。

    查看详情 →
  • MQTT 保留消息

    MQTT 客户端向服务器发布消息时,可以设置保留消息标志,后来的订阅者订阅主题时可以接收到最新一条保留消息。

    查看详情 →
  • MQTT 遗嘱消息(Will Message)的使用

    当客户端断开连接时,发送给相关的订阅者的遗嘱消息。

    查看详情 →
了解 MQTT 5.0 相关特性

MQTT 客户端编程

在 Flutter 项目中使用 MQTT

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

查看详情 →
在 Flutter 项目中使用 MQTT

Android 使用 Kotlin 连接 MQTT

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

查看详情 →
Android 使用 Kotlin 连接 MQTT

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

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

查看详情 →
ESP8266 连接到免费的公共 MQTT 服务器

在树莓派上使用 MQTT

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

查看详情 →
在树莓派上使用 MQTT

如何在 Python 中使用 MQTT

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

查看详情 →
如何在 Python 中使用 MQTT

如何在 Golang 中使用 MQTT

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

查看详情 →
如何在 Golang 中使用 MQTT

如何在 Vue 项目中使用 MQTT

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

查看详情 →
如何在 Vue 项目中使用 MQTT

使用 WebSocket 连接 MQTT 服务器

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

查看详情 →
使用 WebSocket 连接 MQTT 服务器

如何在 Electron 项目中使用 MQTT

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

查看详情 →
如何在 Electron 项目中使用 MQTT

MQTT 资源

在线 MQTT 5 服务器

免费的在线 MQTT 服务器,可用于 MQTT 学习、测试或原型制作

免费的在线 MQTT 5 服务器 →

在线 MQTT 客户端工具

通过在线 MQTT 客户端工具快速了解 MQTT 消息传递

在线 MQTT 客户端工具 →
mqtt-resources

MQTT 技术文章

由 EMQ 提供的 MQTT 及 MQTT 5.0 相关技术文章

MQTT 技术文章 →

MQTT 物联网云服务平台

快速部署、轻松管理、按需扩展的物联网 MQTT 5.0 云服务

免费试用 MQTT 物联网云平台 →

跨平台 MQTT 客户端工具

MQTT X 是一款功能全面的跨平台 MQTT 5.0 桌面测试客户端

跨平台 MQTT 客户端工具 →