MQTT测试环境搭建
本文最后更新于 2025年4月22日 下午
MQTT介绍
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是 ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议,工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的协议。
MQTT主页:MQTT - The Standard for IoT Messaging(https://mqtt.org/)
MQTT协议5.0中文版:MQTT协议5.0中文版 | MQTT中文网(http://mqtt.p2hp.com/mqtt-5-0)

MQTT协议中有三种身份:
- 发布者(Publish)
- 代理服务器(Broker)
- 订阅者(Subscribe)
其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT的平台主要有Mosquitto、VerneMQ、EMQTT等几种,本文主要介绍Mosquitto的使用
Mosquitto源码下载:https://mosquitto.org/files/source/mosquitto-2.0.15.tar.gz
Mosquitto开源仓库:https://github.com/eclipse/mosquitto
PC机安装Mosquitto
安装包下载页面:Download | Eclipse Mosquitto(https://mosquitto.org/download/)
对于Windows版本,直接安装软件
对于Linux版本,可以自行安装在虚拟机中
作者尝试过选择Linux版本安装,但是后续操作比较复杂
最终本文选择安装Windows版本的Mosquitto
PC机MQTT环境测试
启动代理服务器
打开新的终端,进入mosquitto安装目录,
1 |
|
参数-c:指定配置文件 ,此处为mosquitto.conf
启动订阅者
打开新的终端,进入mosquitto安装目录,
1 |
|
参数-v:打印更多调试信息
参数-t:指定主题,此处为topicTest01
启动发布者
打开新的终端,进入mosquitto安装目录,
1 |
|
参数-t:指定发布的主题,此处为topicTest01
参数-m:指定消息内容,此处为TestMessage
此时,在订阅者的终端窗口中,就可以看到发布者发送的消息
公共的MQTT测试服务器
MQTT 服务器信息
- Broker: broker.emqx.io
- TCP 端口: 1883
- WebSocket 端口: 8083
- SSL/TLS 端口: 8883
- WebSocket Secure 端口: 8084
- CA 证书文件: cbroker.emqx.io-ca.crt
Linux下的MQTT环境搭建
在Linux下主要使用MQTTX软件搭建测试环境
MQTTX软件(发布、订阅):MQTTX 下载(https://mqttx.app/zh/downloads)
EMQX软件(服务器):下载 EMQX(https://www.emqx.io/zh/downloads?os=Ubuntu)