这么简单的环境搭建,网友:我却搭了很久,结果还是不行...

前言

大家好,我是麦叔,之前有小伙伴建议出一期如何快速搭建一个MQTT协议的测试环境,因为自己写的mqtt测试工具总是有这样那样的问题。

其实这里要合理地使用现有的工具,其实很简单,几步可以搞定,下面我们开始介绍。

目录

  • 前言

  • 目录

  • 系统架构

  • 准备工具

    • 代理服务器

    • 客户端

  • 验证消息传递

    • 订阅主题

    • 发布主题

系统架构

通常我们需要这些东西;

  • 一个MQTT代理服务器(Broker),作为MQTT消息的中转;

  • MQTT客户端,可以进行订阅消息(接收),发布消息(发送)

注意:客户端只能接收到已经订阅主题的相关消息,这里如果不清楚,建议把MQTT协议基础再看一下;

我们需要搭建的整体架构如下所示;这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第1张图片

准备工具

要快速搭建MQTT测试环境,可以使用以下步骤:

代理服务器

安装代理服务器,MQTT Broker:选择一个MQTT Broker来搭建测试环境。

常用的MQTT Broker有MosquittoHiveMQEMQ X等。

我们可以根据自己的需求选择其中一个来安装。

本文使用MosquittoWindows系统上进行安装作为示例:

对于Windows系统,从Mosquitto官方网站下载并安装Windows版本。

https://mosquitto.org/download/

这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第2张图片根据自己的系统进行下载,通常64位的系统下载相应的软件进行安装即可;这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第3张图片

注意:安装路径按照实际的情况即可;

在当前的路径下创建一个配置文件mosquitto.conf,配置文件输入的内容如下:

listener 1883
protocol mqtt
listener 9005
protocol websockets
allow_anonymous true

log_type notice
log_type websockets
log_type warning
log_type error
log_type information

在当前路径下打开dos或者powershell,输入指令

mosquitto -c mosquitto.conf

代理服务器开始运行;这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第4张图片

客户端

客户端MQTT Client我们也可以用现成的工具,本文使用MQTT X,如下所示;

这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第5张图片下载地址:

https://mqttx.app/downloads

选择适合自己系统的版本,进行安装即可;

这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第6张图片通常,有几个参数需要进行配置;

  • Client ID:客户端的ID,这里需要保证唯一性;

  • 代理服务器地址:按照实际的地址进行填写,默认的监听端口号为1883;

  • MQTT版本:默认一般为V3.1.1

注意:如果这里不是很清楚,建议再看一下MQTT协议基础;

客户端 TEST-1
这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第7张图片 客户端 TEST-1

配置完进行连接,可以看到代理服务器上已经有日志提示新的客户端连接,并且client idTEST-1

这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第8张图片
客户端 TEST-2

同理再打开一个MQTT X并且配置新的客户端为TEST-2这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第9张图片

这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第10张图片 TEST-2成功连接

验证消息传递

订阅主题

客户端 TEST-1 订阅主题 TEST/A,从客户端TEST-2接收MQTT消息,如下所示;这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第11张图片

发布主题

客户端 TEST-1 发布主题 TEST/A,Payload为hello world,具体如下所示;

这么简单的环境搭建,网友:我却搭了很久,结果还是不行..._第12张图片

以上结果证明可以正常进行消息传递。

-END-


往期推荐:点击链接即可跳转阅读

6步!教你写一个mqtt调试助手

MQTT协议,终于有人讲清楚了

提高嵌入式程序可靠性的7个常用技巧

↓↓↓点击关注↓↓↓

你可能感兴趣的:(这么简单的环境搭建,网友:我却搭了很久,结果还是不行...)