文章目录
- 前言
- 系统架构
- 准备工具
- 代理服务器
- 客户端
- 客户端 TEST-1
- 客户端 TEST-2
- 验证消息传递
- 订阅主题
- 发布主题
前言
大家好,我是麦叔,之前有小伙伴建议出一期如何快速搭建一个MQTT
协议的测试环境,这里要合理地使用现有的工具,其实很简单,下面我们开始介绍。
系统架构
通常我们需要这些东西;
- 一个MQTT代理服务器(Broker),作为MQTT消息的中转;
- MQTT客户端,可以进行订阅消息(接收),发布消息(发送)
注意:客户端只能接收到已经订阅主题的相关消息,这里如果不清楚,建议把MQTT协议基础再看一下;
我们需要搭建的整体架构如下所示;
准备工具
要快速搭建MQTT测试环境,可以使用以下步骤:
代理服务器
安装代理服务器,MQTT Broker:
选择一个MQTT Broker
来搭建测试环境。
常用的MQTT Broker有Mosquitto、HiveMQ、EMQ X等。
我们可以根据自己的需求选择其中一个来安装。
本文使用Mosquitto
在Windows
系统上进行安装作为示例:
对于Windows系统,从Mosquitto官方网站下载并安装Windows版本。
https://mosquitto.org/download/
根据自己的系统进行下载,通常64位的系统下载相应的软件进行安装即可;
注意:安装路径按照实际的情况即可;
在当前的路径下创建一个配置文件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
代理服务器开始运行;
客户端
客户端MQTT Client
我们也可以用现成的工具,本文使用MQTT X
,如下所示;
下载地址:
https://mqttx.app/downloads
选择适合自己系统的版本,进行安装即可;
通常,有几个参数需要进行配置;
- Client ID:客户端的ID,这里需要保证唯一性;
- 代理服务器地址:按照实际的地址进行填写,默认的监听端口号为1883;
- MQTT版本:默认一般为V3.1.1
注意:如果这里不是很清楚,建议再看一下MQTT协议基础;
客户端 TEST-1
配置完进行连接,可以看到代理服务器上已经有日志提示新的客户端连接,并且client id
是 TEST-1
;
客户端 TEST-2
同理再打开一个MQTT X
并且配置新的客户端为TEST-2
;
验证消息传递
订阅主题
客户端 TEST-1 订阅主题 TEST/A
,从客户端TEST-2接收MQTT消息,如下所示;
发布主题
客户端 TEST-1 发布主题 TEST/A
,Payload为hello world
,具体如下所示;
以上结果证明可以正常进行消息传递。