0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何快速搭建一个MQTT协议的测试环境

小麦大叔 来源:小麦大叔 2023-12-26 09:28 次阅读

前言

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

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

目录

前言

目录

系统架构

准备工具

代理服务器

客户端

验证消息传递

订阅主题

发布主题

系统架构

通常我们需要这些东西;

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

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

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

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

648fa340-a30d-11ee-8b88-92fbcf53809c.png

准备工具

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

代理服务器

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

常用的MQTT Broker有MosquittoHiveMQEMQ X等。

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

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

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

https://mosquitto.org/download/

64a81902-a30d-11ee-8b88-92fbcf53809c.png

根据自己的系统进行下载,通常64位的系统下载相应的软件进行安装即可;

64b6e978-a30d-11ee-8b88-92fbcf53809c.png

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

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

listener1883
protocolmqtt
listener9005
protocolwebsockets
allow_anonymoustrue

log_typenotice
log_typewebsockets
log_typewarning
log_typeerror
log_typeinformation

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

mosquitto-cmosquitto.conf

代理服务器开始运行;

64c68720-a30d-11ee-8b88-92fbcf53809c.png

客户端

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

64d07f46-a30d-11ee-8b88-92fbcf53809c.png

下载地址:

https://mqttx.app/downloads

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

64e87434-a30d-11ee-8b88-92fbcf53809c.png

通常,有几个参数需要进行配置;

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

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

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

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

客户端 TEST-1

65039c50-a30d-11ee-8b88-92fbcf53809c.png

客户端 TEST-1

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

6519383a-a30d-11ee-8b88-92fbcf53809c.png

客户端 TEST-2

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

6520a67e-a30d-11ee-8b88-92fbcf53809c.png

652bf74a-a30d-11ee-8b88-92fbcf53809c.png

TEST-2成功连接

验证消息传递

订阅主题

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

654397ec-a30d-11ee-8b88-92fbcf53809c.png

发布主题

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

6562c130-a30d-11ee-8b88-92fbcf53809c.png

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    4454

    浏览量

    125128
  • 服务器
    +关注

    关注

    12

    文章

    8124

    浏览量

    82538
  • 客户端
    +关注

    关注

    1

    文章

    282

    浏览量

    16344
  • MQTT
    +关注

    关注

    5

    文章

    538

    浏览量

    21981
  • MQTT协议
    +关注

    关注

    0

    文章

    90

    浏览量

    5224

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

文章出处:【微信号:knifewheat,微信公众号:小麦大叔】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MQTT协议介绍之:发布/订阅

    / sub的本质,并且使其成为小型而且受限设备的轻量级协议。采用基于消息的主题过滤MQTT,每个消息都包含主题,如果订阅客户端将收到消息,则代理用于查找,有关主题的更多详细信息,
    发表于 08-25 19:58

    【HarmonyOS】 MQTT 协议开发入门

    的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。MQTT基于客户端-服务器的消息发布/订阅传输协议
    发表于 11-03 17:38

    MQTT 协议开发入门

    的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。MQTT基于客户端-服务器的消息发布/订阅传输协议
    发表于 11-05 09:38

    MQTT 协议 开发入门

    在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。MQTT
    发表于 11-07 15:51

    MQTT是什么?MQTT协议的特点有哪些

    MQTT是什么?MQTT协议的特点有哪些?MQTT协议有几种消息发布服务质量啊?
    发表于 09-29 07:43

    MQTT协议的相关资料推荐

    讲到物联网,就不得不提耳熟能详的MQTT协议,作为当下被物联网领域广范围应用的标准协议,这诞生于IBM实验室的“古老”产物(第一个版本诞生
    发表于 12-13 06:42

    怎样使用micropython去实现mqtt协议测试

    1、MQTT协议介绍MQTT基于客户端-服务器的消息发布/订阅传输协议。它工作在 TCP/
    发表于 03-24 14:58

    本地测试环境搭建

    本文主要介绍了本地测试环境搭建搭建一个本地测试环境无疑是个明智的选择,再结合GitHub、Jen
    的头像 发表于 01-31 16:01 2625次阅读
    本地<b class='flag-5'>测试</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    测试环境搭建和维护_软硬件测试环境

     测试环境搭建,每个公司都有不一样的流程和方法。一种是运维或者开发负责搭建和维护,另一种是测试人员进行
    的头像 发表于 01-31 18:30 6415次阅读
    <b class='flag-5'>测试</b><b class='flag-5'>环境</b>的<b class='flag-5'>搭建</b>和维护_软硬件<b class='flag-5'>测试</b><b class='flag-5'>环境</b>

    搭建测试环境常用linux命令_linux下web测试环境搭建

    本文主要介绍的是搭建测试环境常用的一些linux命令以及linux下web测试环境搭建
    的头像 发表于 01-31 18:41 1.1w次阅读
    <b class='flag-5'>搭建</b><b class='flag-5'>测试</b><b class='flag-5'>环境</b>常用linux命令_linux下web<b class='flag-5'>测试</b><b class='flag-5'>环境</b>的<b class='flag-5'>搭建</b>

    物联网通信协议MQTT协议介绍MQTT协议测试环境如何搭建及分析

    MQTT 是一个客户端服务端架构的发布/订阅模式的消息传输协议。 它的设计思想是轻巧、 开放、简单、 规范, 因此易于实现。
    发表于 09-11 17:29 8次下载
    物联网通信<b class='flag-5'>协议</b>之<b class='flag-5'>MQTT</b><b class='flag-5'>协议</b>介绍<b class='flag-5'>MQTT</b><b class='flag-5'>协议</b><b class='flag-5'>测试</b><b class='flag-5'>环境</b>如何<b class='flag-5'>搭建</b>及分析

    在Windows平台上搭建一个简单的MQTT协议应用

    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该
    的头像 发表于 08-15 11:00 3051次阅读
    在Windows平台上<b class='flag-5'>搭建</b>一个简单的<b class='flag-5'>MQTT</b><b class='flag-5'>协议</b>应用

    Node搭建本地MQTT服务器

    搭建MQTT一、MQTT介绍MQTT是一种基于发布/订阅模式的轻量级物联网消息传输协议,可以用极少的代码和带宽为联网设备提供实时可靠的消息服
    的头像 发表于 05-26 14:11 964次阅读
    Node<b class='flag-5'>搭建</b>本地<b class='flag-5'>MQTT</b>服务器

    智联物联分享之物联网协议MQTT简述,MQTT协议特点

    )基于客户端/服务器的信息发布/订阅的物联网常用传输协议。1999年由开发商IBM发布,MQTT协议是轻量、简单、开放和易于实现的,这些特点也使得MQTT
    的头像 发表于 03-28 18:10 808次阅读
    智联物联分享之物联网<b class='flag-5'>协议</b><b class='flag-5'>MQTT</b>简述,<b class='flag-5'>MQTT</b><b class='flag-5'>协议</b>特点

    mqtt协议和tcp协议区别

    低带宽和高延迟的网络环境,尤其在物联网环境中表现优秀。而TCP协议是面向连接的、可靠的、基于字节流的传输层通信协议,主要用于互联网和局域网中的数据传输。 2. 连接方式:
    的头像 发表于 04-01 09:15 230次阅读