随着物联网(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
此图像来源于网络素材,如有侵权联系删除
特征
用户友好且易于使用的用户体验设计
用于发送/接收 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
此图像来源于网络素材,如有侵权联系删除
特征
可视化主题和主题更改的动态预览
删除保留的主题
搜索/筛选主题
递归删除主题
当前和以前收到的消息的差异视图
发布主题
绘制数字主题
保留每个主题的历史记录
深色/浅色主题
下载
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
此图像来源于网络素材,如有侵权联系删除
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
此图像来源于网络素材,如有侵权联系删除
特征
完全支持 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 参数添加到编辑器中的命令中,并在每个条目后换行。
此图像来源于网络素材,如有侵权联系删除
Bench命令
对于 MQTTX CLI,该命令的内容输出易于使用且简洁明了。对于大量连接、订阅和发布,通过动态更新实时数字来优化显示方式,避免在使用过程中被大量输出日志淹没。
此图像来源于网络素材,如有侵权联系删除
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之类的东西或监视远程代理。它具有简单,用户友好的界面,支持浅色和深色模式。
此图像来源于网络素材,如有侵权联系删除
写在最后
MQTT 客户端工具种类繁多,具有不同的功能,选择合适的 MQTT 客户端工具对于初学者甚至 MQTT 技术专家来说都是具有挑战性,通过本期的解读希望给开发者带来更多的选择!
审核编辑:汤梓红
-
物联网
+关注
关注
2903文章
44240浏览量
371018 -
Linux
+关注
关注
87文章
11219浏览量
208872 -
WINDOWS
+关注
关注
3文章
3524浏览量
88398 -
客户端
+关注
关注
1文章
289浏览量
16659 -
MQTT
+关注
关注
5文章
649浏览量
22419
原文标题:#技术科普 | 盘点2023年值得尝试的MQTT客户端工具
文章出处:【微信号:ChaiHuoMakerSpace,微信公众号:柴火创客空间】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论