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

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

3天内不再提示

盘点2023年值得尝试的MQTT客户端工具

柴火创客空间 来源:柴火创客空间 2023-07-13 10:11 次阅读

随着物联网IoT)的快速发展,MQTT协议被许多公司和开发人员广泛使用。在学习和使用 MQTT 的过程中,MQTT 客户端工具用于连接 MQTT 代理进行发布、订阅和消息发送和接收。

一个方便的客户端工具可以极大地方便开发者探索 MQTT 特性和调试物联网应用,缩短开发周期。鉴于 MQTT 客户端工具种类繁多,功能重点不同,选择合适的 MQTT 客户端工具对于初学者甚至 MQTT 专业人士来说尤为重要。

我们选取了7个 MQTT 客户端工具,并按桌面、浏览器、命令行和移动端类别列出它们。希望能帮助您快速找到适合 MQTT 开发的客户端工具。

如何选择 MQTT 客户端

一个好的 MQTT 客户端工具应该具备以下关键功能。

支持单向和双向 SSL 身份验证。

支持 MQTT 5 功能。

在全功能的基础上保持易用性。

支持多个客户端同时在线。

跨平台,可在不同的操作系统下使用。

支持 MQTT over WebSocket。

高级功能:自定义脚本、日志记录、有效负载格式转换等。

MQTT 桌面客户端工具

MQTTX

MQTTX 是一个跨平台 MQTT 5.0 桌面客户端,可在 macOS、Linux 和 Windows 上运行。其用户友好的聊天式界面使用户能够轻松创建多个 MQTT/MQTTS 连接并订阅/发布 MQTT 消息。

MQTTX 完全支持 MQTT 版本 5.0 和 3.1.1、基于 TLS 的 MQTT、基于 WebSocket 的 MQTT 以及单向和双向 SSL 身份验证。除了这些基本功能之外,MQTTX 还提供高级功能,例如用于 MQTT 发布/订阅模拟的可自定义脚本以及对十六进制、Base64 和 JSON 有效负载等编解码器的支持。

MQTTX 是一个与 Electron 一起开发并由 EMQX 团队维护的开源项目。

GitHub 项目:https://github.com/emqx/mqttx

608aaa86-209c-11ee-962d-dac502259ad0.png

此图像来源于网络素材,如有侵权联系删除

特征

用户友好且易于使用的用户体验设计

用于发送/接收 MQTT 消息的聊天框

完全支持 MQTT 版本 5.0 和 3.1.1

支持 MQTT over TLS 和 MQTT over WebSocket

支持单向和双向 SSL 身份验证

十六进制、Base64、JSON 和明文有效负载编解码器

针对不同 MQTT 订阅的自定义颜色

MQTT 发布/订阅场景模拟的自定义脚本

跨平台,在 Windows、macOS 和 Linux 上运行

安装方法

命令行安装:

brew install --cask mqttx

下载地址

https://mqttx.app/

MQTT 浏览器

MQTT 资源管理器是一个开源的 MQTT 客户端工具,它提供了一个易于使用的图形用户界面 (GUI) 和结构化的主题概述。它采用分层主视图,并支持接收到的有效负载消息的可视化图表显示。

MQTT 资源管理器支持 MQTT 5.0 和 3.1.1 协议,允许开发者同时创建一个 MQTT/MQTTS 连接。

MQTT Explorer是用Typescript编写的,由Thomas Nordquist开发。它是跨平台的,可以在Windows,macOS和Linux上运行。

GitHub:

https://github.com/thomasnordquist/MQTT-Explorer

60b3481a-209c-11ee-962d-dac502259ad0.png

此图像来源于网络素材,如有侵权联系删除

特征

可视化主题和主题更改的动态预览

删除保留的主题

搜索/筛选主题

递归删除主题

当前和以前收到的消息的差异视图

发布主题

绘制数字主题

保留每个主题的历史记录

深色/浅色主题

下载

http://mqtt-explorer.com/

MQTT 在线客户端工具

MQTTXWeb

MQTTX Web 是一个用户友好的、基于浏览器的工具,用于在线调试、开发和测试 MQTT 应用程序。它通过 WebSocket 客户端连接到 MQTT 代理,并提供直观的界面。

MQTTX Web 由 EMQX 团队开发,是一款支持 MQTT 3.1.1 和 MQTT 5.0 协议以及 WebSocket 传输的开源工具。它是在Apache版本2.0下授权的。

GitHub 项目:

https://github.com/emqx/MQTTX/tree/main/web

立即尝试:

http://www.emqx.io/online-mqtt-client

此外,MQTTX Web 支持使用 Docker 进行私有部署,这在只有浏览器可用或在受限的内联网环境中进行测试时非常有用。从 Docker 映像部署:

docker pull emqx/mqttx-web
docker run -d --name mqttx-web -p 80:80 emqx/mqttx-web

60f50cfa-209c-11ee-962d-dac502259ad0.png

此图像来源于网络素材,如有侵权联系删除

MQTT.Cool Test Client

MQTT.Cool Test Client是一个非常简单和线性的GUI(基于MQTT。MQTT.Cool API),通过它可以测试 MQTT 之间的交互。Cool服务器和 MQTT 代理。它支持在浏览器中通过 MQTT TCP 连接到代理。

立即尝试:

https://testclient-cloud.mqtt.cool/

MQTT 命令行界面工具

MQTTX CLI

MQTTX CLI 是一个轻量级且易于使用的 MQTT 5.0 命令行工具。具有用于 MQTT 发布、订阅、基准测试和物联网数据模拟的各种命令,是 MQTT 开发最强大的工具之一。

MQTTX CLI 是一个用 Node 编写的开源项目.js由 EMQX 团队开发。它是跨平台的,可以在Windows,macOS和Linux上运行。

GitHub 项目:https://github.com/emqx/MQTTX/tree/main/cli

6116e6cc-209c-11ee-962d-dac502259ad0.png

此图像来源于网络素材,如有侵权联系删除

特征

完全支持 MQTT v3.1.1 和 MQTT v5.0

与 Windows、MacOS 和 Linux 的跨平台兼容性

无依赖性设置,无需先决条件即可快速安装

支持 CA、自签名证书以及单向和双向 SSL 身份验证

用于快速评估 MQTT 服务性能的性能测试功能。

安装

MQTTX CLI 与 Windows、macOS 和 Linux 兼容。有关其他安装选项,请参阅文档。

Docker安装

docker pull emqx/mqttx-cli docker run -it --rm emqx/mqttx-cli

命令安装

brew install emqx/mqttx/mqttx-cli

下载地址

https://mqttx.app/cli

使用示例

连接

测试连接到 MQTT 代理:

mqttx conn -h 'broker.emqx.io' -p 1883 -u 'test' -P 'test'

订阅

订阅 MQTT 主题:

mqttx sub -t 'topic/#' -h 'broker.emqx.io' -p 1883

发布

将 QoS1 消息发布到 MQTT 主题:

mqttx pub -t 'topic' -q 1 -h 'broker.emqx.io' -p 1883 -m 'Hello from MQTTX CLI'

发布多消息

MQTTX CLI 还支持发布多条消息。将 -M 参数和 -s 参数添加到编辑器中的命令中,并在每个条目后换行。

61359db0-209c-11ee-962d-dac502259ad0.png

此图像来源于网络素材,如有侵权联系删除

Bench命令

对于 MQTTX CLI,该命令的内容输出易于使用且简洁明了。对于大量连接、订阅和发布,通过动态更新实时数字来优化显示方式,避免在使用过程中被大量输出日志淹没。

614b2a9a-209c-11ee-962d-dac502259ad0.png

此图像来源于网络素材,如有侵权联系删除

MosquittoCLI

Mosquitto是一个广泛使用的开源MQTT代理,具有流行的命令行客户端。这些 CLI 工具提供了广泛的选项来连接、订阅和发布消息到 MQTT 代理。mosquitto_pubmosquitto_sub

Mosquitto项目是用C/C++编写的,由Eclipse基金会维护。Mosquitto具有高度的可移植性,可以部署在各种平台上,包括Linux,Mac,Windows和Raspberry Pi。

GitHub 项目:

https://github.com/eclipse/mosquitto

特征

轻巧且易于使用

支持 MQTT v3.1.1 和 v5.0 协议

广泛的命令行参数

支持 SSL/TLS 加密/身份验证

MQTT v5.0 请求/响应功能

安装

Docker

docker pull eclipse-mosquitto

自行安装

brew install mosquitto

下载地址

https://mosquitto.org/download/

使用示例

发布

将 QoS1 消息发布到 MQTT 主题:

mosquitto_pub -t 'topic' -q 1 -h 'broker.emqx.io' -p 1883 -m 'Hello from Mosquitto CLI'

订阅

订阅 MQTT 主题:

mosquitto_sub -t 'topic/#' -h 'broker.emqx.io' -p 1883

请求/响应

mosquitto_rr -t 'req-topic' -e 'rep-topic' -m 'request message' -h 'broker.emqx.io' mosquitto_pub -t 'rep-topic' -m 'response message' -h 'broker.emqx.io'

MQTT 移动客户端工具

EasyMQTT

EasyMQTT是适用于iPhone,iPad和macOS的MQTT客户端,允许您与任何MQTT代理进行交互。使用它来管理您的设置,控制诸如Zigbee2MQTT之类的东西或监视远程代理。它具有简单,用户友好的界面,支持浅色和深色模式。

617763bc-209c-11ee-962d-dac502259ad0.png

此图像来源于网络素材,如有侵权联系删除

写在最后

MQTT 客户端工具种类繁多,具有不同的功能,选择合适的 MQTT 客户端工具对于初学者甚至 MQTT 技术专家来说都是具有挑战性,通过本期的解读希望给开发者带来更多的选择!

审核编辑:汤梓红

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

    关注

    2870

    文章

    41648

    浏览量

    358419
  • Linux
    +关注

    关注

    87

    文章

    10991

    浏览量

    206742
  • WINDOWS
    +关注

    关注

    3

    文章

    3440

    浏览量

    87145
  • 客户端
    +关注

    关注

    1

    文章

    282

    浏览量

    16343
  • MQTT
    +关注

    关注

    5

    文章

    538

    浏览量

    21981

原文标题:#技术科普 | 盘点2023年值得尝试的MQTT客户端工具

文章出处:【微信号:ChaiHuoMakerSpace,微信公众号:柴火创客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于Eclipse paho-mqtt源码包的MQTT客户端设计(上)

    MQTT 软件包介绍Paho MQTT 是 Eclipse 实现的 MQTT 协议的客户端,本软件包是在 Eclipse paho-mqtt
    发表于 08-04 16:28

    基于Eclipse paho-mqtt源码包的MQTT客户端设计(下)

    的 Topic#define MQTT_WILLMSG "Goodbye!" //设置断开通知消息配置 MQTT 客户端结构体接下来需要初始化 MQTT 软件包
    发表于 08-04 16:33

    通讯猫MQTT服务器在线客户端的问题

    我在网上找一个通讯猫MQTT服务器在线客户端。我有点糊涂,到底是服务器,还是客户端。可以连上,也可以发数据,就是不知道跟谁连。我从上面下了个WIN32客户端,打开,怎么设置都连不上。用
    发表于 11-19 12:17

    RyanMqtt实现MQTT3.1.1协议的客户端

    还没有同步到packages库列表,暂时还无法在软件包列表搜索到。提pr应该3天了…….介绍RyanMqtt 实现了 MQTT3.1.1 协议的客户端。此库针对资源受限的嵌入式设备进行了优化。初衷:在
    发表于 12-01 15:19

    MQTT客户端发送消息出错是什么原因造成的呢?

    mqtt 客户端发送消息时候 会有下面的错误请问怎么回事啊[D/mqtt.sample] inter mqtt_online_callback![D/
    发表于 01-10 15:20

    请教一下大神mqtt客户端发送消息出错咋办?

    mqtt 客户端发送消息时候 会有下面的错误请问怎么回事啊[D/mqtt.sample] inter mqtt_online_callback![D/
    发表于 04-20 14:43

    MQTT客户端内存泄漏问题如何解决?

    嗨, 我是 nodeMCU 的新手,所以这可能是我 我在 NodeMCU 0.9.6 build 20150704 的 MQTT 客户端中看到内存泄漏 这 是我的代码,下面 所以它连接并断开与由触发
    发表于 05-09 06:10

    如何在rtos mqtt示例中获取客户端句柄?

    中,我调用 代码:全选esp_mqtt_client_publish() 但我没有客户端句柄,它只在回调中设置。我尝试使用客户端句柄的全局副本,但它没有用,除了是个坏主意: 代码:全
    发表于 05-15 08:13

    使用Wemo D1 Mini作为MQTT客户端,编译错误Wemo是怎么回事?

    一些示例代码进行简单编译,以尝试使用 Wemo D1 Mini 作为 MQTT 客户端。 但是到目前为止,我尝试过的每个示例草图都会出现相同的编译错误 我觉得我一定是在某个地方错过了一
    发表于 06-02 06:16

    AT32基于FreeRTOS的AWS MQTT客户端

    AT32基于FreeRTOS的AWS MQTT客户端建立一个MQTT客户端与 AWS IoT Core进行通讯,用户可以基于这个范例去开发属于自己的应用。
    发表于 10-26 06:03

    如何使用ESP8266搭建MQTT客户端

    手头有一块ESP8266的板子,想搭建一个MQTT客户端,该如何实现呢?
    发表于 11-07 06:36

    mqtt 客户端VS2010

    mqtt客户端源代码,有一个工程是生成mqtt协议的需要的dll文件,另一个工程师简单的调用这个dll实现客户端与服务器的通信,适合刚开始学习的用户了解!!
    发表于 11-19 15:17 59次下载

    MQTT客户端快速入门指南 按键按下

    MQTT客户端快速入门指南 按键按下
    发表于 01-12 18:43 1次下载
    <b class='flag-5'>MQTT</b><b class='flag-5'>客户端</b>快速入门指南 按键按下

    MQTT客户端快速入门指南 按键按下

    MQTT客户端快速入门指南 按键按下
    发表于 07-03 18:34 0次下载
    <b class='flag-5'>MQTT</b><b class='flag-5'>客户端</b>快速入门指南 按键按下

    MQTT中服务端和客户端

    MQTT 是一种基于客户端-服务端架构(C/S)的消息传输协议,所以在 MQTT 协议通信中,有两个最为重要的角色,它们便是服务端和客户端。 1)服务端
    的头像 发表于 07-30 14:55 1623次阅读