MQTT X CLI 正式发布:强大易用的 MQTT 5.0 命令行工具

简介: 下载桌面客户端、使用终端命令行或是在桌面浏览器上都可快速完成对 MQTT 的连接测试。

近日,由 EMQ 开源的 MQTT 5.0 跨平台桌面客户端 MQTT X 发布了 1.8.0 版本。MQTT X 为连接测试各类 MQTT 消息服务器而生,支持快速创建多个同时在线的 MQTT 客户端连接,采用一键式的连接方式和简洁的图形界面,帮助使用者便捷地测试 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 的连接、发布、订阅功能,探索更多 MQTT 协议特性。

最新发布的 v1.8.0 除了通过新增的快速复制连接功能优化使用体验之外,还扩展了两个新的使用场景,即增加了 CLI(命令行) 和 Web 端这两种新的交互方式 。这使得 MQTT X 1.8.0 成为支持使用场景最完整的 MQTT 测试客户端。用户可以根据使用需求,自行选择下载桌面客户端、使用终端命令行或是在桌面浏览器上快速完成对 MQTT 的连接测试。

MQTT X CLI:在终端快速开发和调试 MQTT 服务与应用

随着 MQTT 协议在物联网领域的广泛使用,越来越多的用户选择使用 MQTT X 进行物联网连接测试。对于部分用户如服务端开发者、服务运维人员等来说,下载桌面客户端可能会占用系统的大量磁盘空间,每次测试前都需要在带有图形化界面的操作系统中打开客户端应用来调试。在这种情况下,桌面客户端这种使用方式就变得不太友好。

因此 MQTT X 增加了命令行这一交互形式——MQTT X CLI。这是一款全开源的 MQTT 5.0 命令行客户端工具,即命令行上的 MQTT X。开发者无需使用图形化界面,就能通过 MQTT X CLI 使用命令行快速开发和调试 MQTT 服务与应用。从而实现以下使用目标:

  • 在服务器终端内就可以测试已经部署好的 MQTT 服务
  • 通过编辑和使用命令行脚本完成 MQTT 服务的快速测试
  • 使用命令行脚本来完成一些简单的压力测试或自动化测试
MQTT X CLI 网站: https://mqttx.app/zh/cli

MQTT X CLI v1.8.0 版本下载:https://github.com/emqx/MQTTX/releases/tag/v1.8.0

MQTT X CLI GitHub 仓库:https://github.com/emqx/MQTTX/tree/main/cli

MQTT CLI.png

便捷高效:无需依赖环境即可安装使用

安装

MQTT X CLI 可以快速下载并安装到 macOS、Linux 和 Windows 系统上,安装前不需要任何的依赖环境准备,只需在终端内执行命令,即可安装和使用 MQTT X CLI。

对于 macOS 和 Linux 系统的用户,我们提供了快捷的安装方法,使用命令行可以快速下载二进制文件,并安装最新的 MQTT X CLI 稳定版到操作系统上。Windows 用户则可以到 MQTT X 的发布页面内,找到对应的系统架构的 exe 包,手动下载后使用。

注意:下载安装时请注意区分当前使用系统环境的 CPU 架构

macOS

  • Homebrew

    macOS 用户可以通过 Homebrew 来快速安装和使用 MQTT X CLI

    brew install emqx/mqttx/mqttx-cli
  • Intel Chip

    curl -LO https://www.emqx.com/zh/downloads/MQTTX/v1.8.0/mqttx-cli-macos-x64
    sudo install ./mqttx-cli-macos-x64 /usr/local/bin/mqttx
  • Apple Silicon

    curl -LO https://www.emqx.com/zh/downloads/MQTTX/v1.8.0/mqttx-cli-macos-arm64
    sudo install ./mqttx-cli-macos-arm64 /usr/local/bin/mqttx

Linux

  • x86-64

    curl -LO https://www.emqx.com/zh/downloads/MQTTX/v1.8.0/mqttx-cli-linux-x64
    sudo install ./mqttx-cli-linux-x64 /usr/local/bin/mqttx
  • ARM64

    curl -LO https://www.emqx.com/zh/downloads/MQTTX/v1.8.0/mqttx-cli-linux-arm64
    sudo install ./mqttx-cli-linux-arm64 /usr/local/bin/mqttx

Windows

Windows 用户请到 MQTT X 的下载页面内手动下载对应的 exe 文件来使用,下载地址:https://github.com/emqx/MQTTX/releases/tag/v1.8.0

Windows MQTT.png

NPM

除上述方法外,我们还提供了使用 npm 的安装方式,这样无论当前是什么操作系统环境,只要您的系统中有 Node.js 环境,就可以快速安装和使用。

npm install mqttx-cli -g

快速开始

在完成下载安装后,便可在终端内直接输入 mqttx 命令来运行和使用了。您可以加 -V 参数来验证 MQTT X CLI 是否安装成功,当输出一个版本号时,就证明 MQTT X CLI 已经成功安装。

$ mqttx -V
1.8.0

为测试 MQTT X CLI 的使用,我们需要准备一个 MQTT 服务,本文将使用 EMQ 提供的 免费公共 MQTT 服务器,该服务基于 MQTT 物联网云平台 - EMQX Cloud 创建,服务器接入信息如下:

  • Broker: broker.emqx.io
  • TCP Port: 1883
  • WebSocket Port: 8083

准备好 MQTT 服务后,我们就可以在终端内使用命令行来完成消息的发布与订阅了,我们先在一个终端窗口内,编辑一条订阅主题的命令。

订阅

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

在完成订阅后,我们再新建一个终端窗口,编辑一条发布到刚才订阅的主题的消息的命令。

发布

mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -m 'hello from MQTTX CLI!'

此时我们可以在订阅主题命令的窗口内,看到一条刚才发布过来的消息。

MQTT CLI1.png

发布多条消息

MQTT X CLI 还支持一个 pub 命令可以发布多条消息的功能,只需要在编辑是在命令中添加一个 -M 参数和 -s 参数,每次输入完成后换行即可。

mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -s -M

MQTT CLI2.png

最后,我们再通过使用 MQTT X 的桌面客户端来和 MQTT X CLI 来连接到同一个 MQTT 服务,来测试和验证 MQTT X CLI 的功能,我们使用 MQTT X CLI 发布一条消息,通过 MQTT X 桌面客户端来接收,再反向使用 MQTT X 桌面客户端来发送一条消息到 MQTT X CLI。此时,我们可以看到两边都收到了各自收发的消息。

MQTT 桌面客户端.png

MQTT X 桌面客户端

MQTT CLI3.png

MQTT X CLI

结语

至此,我们就完成了使用 MQTT X CLI 对 MQTT 消息发布订阅功能的测试和验证。除上述常用功能使用外,MQTT X CLI 还支持设置遗嘱消息、使用 SSL/TLS 来测试 mqtts 的连接等。未来还将支持 MQTT 5.0 连接。

MQTT X CLI 的发布,为物联网开发者进行 MQTT 连接测试提供了一种新的选择。而对命令行调用、桌面客户端下载和在线浏览器这几种交互形式的完整支持,使得 MQTT X 1.8.0 可帮助不同使用场景需求的用户完成对 MQTT 服务或应用的开发与调试,从而提高用户自身相关业务能力与稳定性。简单易用的测试客户端工具 MQTT X 结合高效可靠的物联网消息服务器 EMQX,将帮助物联网开发者构建具有竞争力的物联网平台与应用。

附:使用帮助

您可以在命令行内输入 --help 参数来获取使用帮助,或查阅下方的使用参数表来使用 MQTT X CLI。

# 获取 mqttx 命令的帮助
mqttx --help

# 获取订阅命令的帮助
mqttx sub --help

# 获取发布命令的帮助
mqttx pub --help

使用参数对照表

鍙傛暟瀵圭収-1.png
鍙傛暟瀵圭収-2.png

订阅

订阅.png

发布

发布.png

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
EMQ
|
存储 JSON 物联网
v1.9.1 进行中:MQTT X CLI 支持自动重连及保存和读取本地文件
MQTT 5.0客户端工具MQTT X发布了1.9.0版本:MQTT X CLI命令行客户端实现支持MQTT的性能测试,桌面端应用新增了关于学习MQTT的帮助页面。1.9.1版本开发中,将支持更多新功能。
EMQ
191 0
v1.9.1 进行中:MQTT X CLI 支持自动重连及保存和读取本地文件
EMQ
|
存储 物联网 Docker
v1.8.3 进行中:MQTT X CLI 支持多主题订阅,优化输出显示
九月,MQTT 5.0客户端工具MQTT X 1.8.3版本持续开发中,为会话过期间隔添加默认值,并优化了MQTT X CLI(命令行)的默认输出显示。
EMQ
159 0
v1.8.3 进行中:MQTT X CLI 支持多主题订阅,优化输出显示
EMQ
|
物联网 测试技术 iOS开发
MQTT X v1.8.1版本发布:桌面端支持自动更新,MQTT X CLI支持MQTT 5.0
MQTT X v1.8.1版本发布:MQTT X桌面端版本支持自动更新,MQTT X CLI实现对MQTT 5.0的连接支持及用户属性设置支持,未来将支持部分场景下的MQTT协议性能测试。
EMQ
234 0
MQTT X v1.8.1版本发布:桌面端支持自动更新,MQTT X CLI支持MQTT 5.0
EMQ
|
物联网 测试技术
MQTT X Newsletter 2022-07 | 自动更新、MQTT X CLI 支持 MQTT 5.0、新增 conn 命令…
7月,MQTT X团队专注于1.8.1版本的开发。v1.8.1中MQTT X桌面端版本将支持自动更新,并对MQTT X Web页面进行了优化。
EMQ
183 1
EMQ
|
物联网 Linux 开发者
MQTT X Newsletter 2022-06 | v1.8.0 发布,新增 MQTT CLI 和 MQTT WebSocket 工具
本月,MQTT X 发布了最新的 1.8.0 版本,新增了 MQTT CLI 和 MQTT WebSocket 客户端工具,支持在终端命令行或桌面浏览器上快速完成对 MQTT 的连接测试。
EMQ
236 0
MQTT X Newsletter 2022-06 | v1.8.0 发布,新增 MQTT CLI 和 MQTT WebSocket 工具
|
3月前
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
消息中间件 Java C语言
消息队列 MQ使用问题之在使用C++客户端和GBase的ESQL进行编译时出现core dump,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
12天前
|
消息中间件 运维 监控
云消息队列RabbitMQ实践解决方案评测报告
本报告旨在对《云消息队列RabbitMQ实践》解决方案进行综合评测。通过对该方案的原理理解、部署体验、设计验证以及实际应用价值等方面进行全面分析,为用户提供详尽的反馈与建议。
44 15
|
11天前
|
消息中间件 弹性计算 运维
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
39 9
|
7天前
|
消息中间件 监控 数据处理
解决方案 | 云消息队列RabbitMQ实践
解决方案 | 云消息队列RabbitMQ实践
17 1
下一篇
无影云桌面