当前位置:网站首页>MQTT X CLI 正式发布:强大易用的 MQTT 5.0 命令行工具
MQTT X CLI 正式发布:强大易用的 MQTT 5.0 命令行工具
2022-07-25 15:56:00 【EMQX】
近日,由 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 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-cliIntel 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/mqttxApple 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/mqttxARM64
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

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 X CLI 还支持一个 pub 命令可以发布多条消息的功能,只需要在编辑是在命令中添加一个 -M 参数和 -s 参数,每次输入完成后换行即可。
mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -s -M

最后,我们再通过使用 MQTT X 的桌面客户端来和 MQTT X CLI 来连接到同一个 MQTT 服务,来测试和验证 MQTT X CLI 的功能,我们使用 MQTT X CLI 发布一条消息,通过 MQTT X 桌面客户端来接收,再反向使用 MQTT X 桌面客户端来发送一条消息到 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
使用参数对照表


订阅

发布

版权声明: 本文为 EMQ 原创,转载请注明出处。
原文链接:https://www.emqx.com/zh/blog/powerful-and-easy-to-use-mqtt-5-command-line-tool
边栏推荐
- MySQL乐观锁
- Copy a word style template to another document
- ML - Speech - Introduction to speech processing
- HDD Hangzhou station · harmonyos technical experts share the features of Huawei deveco studio
- General test case writing specification
- Leetcode:528. select randomly according to the weight [ordinary random failure + prefix and dichotomy]
- How Google cloud disk is associated with Google colab
- Pytoch framework exercise (based on kaggle Titanic competition)
- Distributed | practice: smoothly migrate business from MYCAT to dble
- [server data recovery] data recovery cases of raid information loss caused by unexpected power failure of HP EVA server storage
猜你喜欢

Crazy God redis notes 12

基于Caffe ResNet-50网络实现图片分类(仅推理)的实验复现
![[wechat applet] detailed explanation of applet host environment](/img/57/582c07f6e6443f9f139fb1af225ea4.png)
[wechat applet] detailed explanation of applet host environment

HDD杭州站·HarmonyOS技术专家分享HUAWEI DevEco Studio特色功能

推荐收藏,这或许是最全的类别型特征的编码方法总结

十字链表的存储结构

Matlab -- CVX optimization kit installation

SVD singular value decomposition derivation and application and signal recovery

Huawei 2023 starts to warm up in advance! Zuo Shen's program code interview guide comes in handy

Understand "average load"
随机推荐
mysql 隔离级别事务
【莎士比亚:保持做人的乐趣】
[Shakespeare: keep the fun of being a man]
leetcode:154. 寻找旋转排序数组中的最小值 II【关于旋转排序数组的中后定位二分法】
MySQL 元数据锁(MDL)
What is a physical firewall? What's the effect?
Redis distributed lock, it's really impossible without it
MySQL tutorial 68-as setting alias
Golang review summary
Data system partition design - Request Routing
MySQL乐观锁
MySQL 悲观锁
Permission management - role assignment menu
Typescript learning 2 - Interface
R语言使用gt包和gtExtras包漂亮地显示表格数据:gt_bar_plot函数和gt_plt_bar_pct函数可视化百分比条形图、原始数据的百分比条形、缩放后的数据的百分比条形、指定数据对齐宽度
Understand "average load"
兆骑科创海内外高层次创新创业人才服务平台,双创成果转化平台
阿唐的小帮手
Where is there a demo to set up the flex CDC to draw the number of MySQL?
HDD杭州站·HarmonyOS技术专家分享HUAWEI DevEco Studio特色功能