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
mosquitto -c mosquitto.conf

参数-c:指定配置文件 ,此处为mosquitto.conf

启动订阅者

打开新的终端,进入mosquitto安装目录,

1
mosquitto_sub -v -t topicTest01

参数-v:打印更多调试信息

参数-t:指定主题,此处为topicTest01

启动发布者

打开新的终端,进入mosquitto安装目录,

1
mosquitto_pub -t topicTest01 -m TestMessage

参数-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软件搭建测试环境


MQTT测试环境搭建
https://www.bit01.top/2025/04/22/mqtt-test-environment/
作者
李珊
发布于
2025年4月22日
更新于
2025年4月22日
许可协议