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

描述

 

随着物联网(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

Linux

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

特征

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

用于发送/接收 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

Linux

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

特征

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

删除保留的主题

搜索/筛选主题

递归删除主题

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

发布主题

绘制数字主题

保留每个主题的历史记录

深色/浅色主题

下载

http://mqtt-explorer.com/

MQTT 在线客户端工具

MQTTX Web

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

 

Linux

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

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

Linux

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

特征

完全支持 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 参数添加到编辑器中的命令中,并在每个条目后换行。

Linux

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

Bench 命令

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

Linux

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

Mosquitto CLI

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之类的东西或监视远程代理。它具有简单,用户友好的界面,支持浅色和深色模式。

Linux

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

写在最后

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

  审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分