MQTT介绍和EMQX开源版下载安装(2026最新)

MQTT介绍

MQTT(消息队列遥测传输)是一种轻量级的发布/订阅消息协议,专为计算资源受限、带宽有限或网络不稳定的设备设计。它诞生于1999年,最初用于石油管道监控,如今已成为物联网(IoT)和机器对机器(M2M)通信领域的主流标准之一。

核心特性

MQTT 的核心优势在于为"物"联网而生,其关键特性包括:

  • 轻量高效:协议报文头部最小仅 2 字节,极大降低了网络带宽和功耗,非常适合电池供电的传感器等设备。

  • 发布/订阅模式:这是一种异步消息模式,消息的发布者(如传感器)和订阅者(如手机App)通过一个中间的代理(Broker) 进行通信,实现双方在空间、时间和同步上的彻底解耦。

  • 灵活的服务质量(QoS) :提供三种消息送达保障:

    • QoS 0(最多一次):消息仅发送一次,不保证送达,适用于实时性要求不高的数据。
    • QoS 1(至少一次):确保消息至少送达一次,但可能有重复。
    • QoS 2(恰好一次):通过四次握手确保消息唯一且可靠送达,适用于支付、关键指令等场景。
  • 可靠的连接机制:

    • 遗嘱消息(LWT):客户端异常断开时,代理会自动发布一条预设的"遗嘱"消息,通知其他设备。
    • 保留消息:代理会为每个主题保存最新一条消息,新订阅的设备能立即获取当前状态。
  • 安全与扩展:支持用户名/密码认证和 TLS/SSL 加密(端口8883),并支持主题通配符(+ 匹配单层,# 匹配多层),实现灵活的消息路由。

工作原理

MQTT 系统由三个核心部分组成:

发布者(Publisher):数据的生产者,如温度传感器,它只负责向特定"主题"发送消息。

订阅者(Subscriber):数据的消费者,如手机App,它订阅感兴趣的"主题"来接收消息。

代理(Broker):消息的中央服务器,负责接收所有消息,进行过滤,并分发给对应的订阅者。常见的开源Broker有 Mosquitto、EMQX 等。

其基本工作流程是:客户端(发布者或订阅者)首先与Broker建立TCP连接,订阅者订阅主题,发布者向主题发布消息,Broker再将消息转发给所有订阅了该主题的客户端。

应用场景

MQTT 广泛应用于各个行业:

物联网与智能家居 :智能灯泡、恒温器等设备通过MQTT进行状态同步与控制。

工业自动化(IIoT) :工厂传感器实时采集温度、压力等数据,用于监控和预测性维护。

车联网 :车辆通过MQTT向管理系统上报GPS位置、发动机状态等数据,用于车队管理。

智慧城市 :环境监测站通过MQTT发布空气质量等数据。

移动互联网 :许多Android App的消息推送功能正是基于MQTT协议实现的。

医疗健康:可穿戴设备(如心率监测器)通过MQTT将健康数据实时传输给医护人员。

MQTT是机器对机器(M2M)/物联网(IoT)连接协议。它被设计为一个极其轻量级的发布/订阅消息传输协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用,是专为受限设备和低带宽、高延迟或不可靠的网络而设计。

相关信息

介绍如何下载一个开源的emqx服务器和mqttx客户端工具。

官网:

https://www.emqx.com/zh

开源版下载链接:

https://www.emqx.com/zh/downloads-and-install/broker

EMQX开源版下载

现在官网更新了,没法直接下载开源版了,需要在文档中查找历史版本进行下载安装,可以直接从上面链接进入下载,如果需要windows版本,则要在文档历史版本(5.3以前)中下载

进入官网,选择资源下面的文档

进入EMQX企业版的文档

然后切换文档版本,切换到5.8及其以前的版本,选择"安装部署"内容,下面就有EMQX开源版的下载

在安装部署和迁移下面,查看需要安装的系统和版本,如果要安装windows版本的需要5.3之前的版本

选择旧版文档

选择5.3版本或者更早版本

在"安装部署和迁移"中,有windows版本的安装包

下载链接:https://packages.emqx.cn/emqx-ce/v5.3.2/emqx-5.3.2-windows-amd64.zip

在Windows安装一个emqx作为测试环境,下载压缩包,解压到指定的路径

windows下安装emqx

然后启动bin下的emqx的脚本,即可,这种只是启动一次,下次开机需要重新启动

安装为windows服务

在当前路径下启动cmd或者powershell,执行下面脚本

powershell 复制代码
//powershell
.\emqx.cmd install

//cmd
emqx.cmd install

安装为服务,可以不用每次重新启动了

安装mqttx客户端工具

在官网,产品中,选择MQTTX,进入下载页

选择自己系统对应的版本,下载

直接安装,打开程序

配置本地服务器的连接,测试一下