小麦大叔
认证:普通会员
作者动态
凉了!嵌入式真的要卷成下一个Java了吗?
02-28 09:03
嵌入式开发必须学习Qt吗?
02-27 09:16
这么简单的环境搭建,网友:我却搭了很久,结果还是不行...
02-26 15:44
单片机如何能运行如飞?一种高效实现数学函数的方式!
2022-01-26 11:08
keil开发过程中map和elf文件有什么作用?
2021-11-01 19:05

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

前言

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

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

目录

  • 前言
  • 目录
  • 系统架构
  • 准备工具
  • 代理服务器
  • 客户端
  • 验证消息传递
  • 订阅主题
  • 发布主题

系统架构

通常我们需要这些东西;

  • 一个MQTT代理服务器(Broker),作为MQTT消息的中转;
  • MQTT客户端,可以进行订阅消息(接收),发布消息(发送)

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

我们需要搭建的整体架构如下所示;

准备工具

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

代理服务器

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

常用的MQTT Broker有MosquittoHiveMQEMQ X等。

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

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

对于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

客户端 TEST-1

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

客户端 TEST-2

同理再打开一个MQTT X并且配置新的客户端为TEST-2

TEST-2成功连接

验证消息传递

订阅主题

客户端 TEST-1 订阅主题 TEST/A,从客户端TEST-2接收MQTT消息,如下所示;

发布主题

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

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


声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 132
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧