MQTT中文站
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
      • Node-RED 安装部署
      • Node-RED 用户指南
      • Node-RED 创建节点
      • Node-RED 示例教程
      • Node-RED 开发流程
      • Node-RED 接口参考
      • Node-RED 配置模板
      • Node-RED 常见问题
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册

MQTT CLI 完全兼容 MQTT 5.0 和 MQTT 3.1.1 的命令行界面

2 年前 • MQTT 软件

MQTT CLI是一个完全兼容MQTT 5.0和MQTT 3.1.1的命令行界面,用于MQTT客户端,基于HiveMQ MQTT客户端API。

HiveMQ CLI是由HiveMQ支持的开源项目。

可以在GitHub上查看。

功能特点:

  • 支持所有MQTT 3.1.1和MQTT 5.0特性
  • 所有MQTT命令的交互式、直接和详细模式
  • 具有语法高亮、命令历史记录的Shell行为
  • 能够同时连接不同Broker的多个MQTT客户端
  • 快速Broker测试
  • 从HiveMQ API端点导出信息
  • 提供多种发行版

新闻动态

前提条件
运行MQTT CLI至少需要Java 8。

该CLI用Java 11实现,是运行此项目的首选版本。

Docker
您可以在支持Docker的任何操作系统上运行MQTT-CLI。要执行一个简单的命令,请使用以下语法:

docker run hivemq/mqtt-cli <您的命令>

要启动CLI的Shell-Mode,您需要在docker命令中添加-it标志:

docker run -it hivemq/mqtt-cli shell

Homebrew
对于Mac OS X和Linux系统,请使用Homebrew通过MQTT CLI Tap安装MQTT CLI。

brew install hivemq/mqtt-cli/mqtt-cli

注意:如果您遇到类似Java 1.8+是安装此配方所需的错误,请安装高于1.8的java版本。您可以使用brew install --cask zulu来安装最新版本的Azul Zulu OpenJDK。

注意:由于延迟问题可能会减慢Mac OS X下CLI的速度,请验证您在/etc/hosts下指定了127.0.0.1 localhost 您的电脑名称。您可以使用sudo sh -c "echo 127.0.0.1 localhost $(hostname) >> /etc/hosts"将此配置附加到您的主机文件中。

Windows Zip
下载Windows Zip文件并在您选择的位置解压缩。要执行MQTT CLI,只需用⊞ Win + R打开Windows命令提示符并执行cmd。导航到解压缩的MQTT CLI文件夹并执行mqtt

-cli.exe。

要快速启动shell,只需双击mqtt-cli-shell.cmd文件。

Debian包
如果您使用的是使用debian包的*nix操作系统,您可以通过wget或curl从发布页面下载MQTT CLI debian包,并使用sudo dpkg -i或sudo apt install安装该包:

wget https://github.com/hivemq/mqtt-cli/releases/download/v4.22.0/mqtt-cli-4.22.0.deb
sudo apt install ./mqtt-cli-4.22.0.deb

RPM包
对于Red Hat、Fedora、Mandriva、OpenSuse、CentOS等发行版,您可以在发布页面使用提供的rpm包。首选通过yum包管理器安装该包。要安装包,只需执行:

sudo yum install -y https://github.com/hivemq/mqtt-cli/releases/download/v4.22.0/mqtt-cli-4.22.0.rpm

从源代码构建
mqtt-cli使用Gradle进行构建。
为了能够执行集成测试,需要一个运行中的Docker环境
为了能够构建和测试本地镜像,需要安装GraalVM。您可以通过运行./gradlew installNativeImageTooling来设置。
要进行干净的构建,请执行以下命令:./gradlew clean build

这将运行单元测试,并将新的mqtt-cli-.jar编译到build/libs中。然后,您可以通过替换现有MQTT CLI安装的mqtt-cli-.jar来更新它。

build.gradle.kts文件包含了进一步的指令,用于构建特定平台的发行包。简单来说:

  • 对于MacOS/Linux brew: ./gradlew buildBrewFormula
  • 对于Debian包: ./gradlew buildDebianPackage
  • 对于RPM包: ./gradlew buildRpmPackage
  • 对于Windows安装程序: ./gradlew buildWindowsZip
  • 构建本地docker镜像: ./gradlew jibDockerBuild

MQTT 发布命令说明

MQTT发布(publish)指令允许用户向一个或多个主题发送消息。

基本命令: mqtt publish
别名: mqtt pub

简单示例

命令解释
mqtt pub -t test -m "Hello"使用默认设置发布消息“Hello”至主题‘test’。
mqtt pub -t test1 -t test2 -m "Hello Tests"发布消息“Hello Tests”至主题‘test1’和‘test2’。
mqtt pub -t test -m "Hello" -h localhost -p 1884将消息“Hello”发布至主题‘test’,目标为localhost:1884的代理服务器。
mqtt pub -t test -m:file payload.txt使用默认设置发布文件payload.txt中的消息至主题‘test’。

选项

发布选项:

选项完整版本解释默认值
-t--topic要发布消息的MQTT主题。
-m--message将在主题上发布的消息。
-m:file--message-file包含要发布消息的文件。
-m:empty--message-empty设置消息为空载荷。
-r--[no-]retain消息是否保留。false
-q--qos定义服务质量等级。如果只指定了一个QoS,则将用于所有主题。你可以为每个主题定义特定的QoS级别。0
-e--messageExpiryInterval发布消息的生命周期(秒)。
-ct--contentType发布消息内容的描述。
-cd--correlationData发布消息的相关数据。
-pf--payloadFormatIndicator发布消息的载荷格式指示符。
-rt--responseTopic发布消息的响应消息主题名称。
-up--userProperty发布消息的用户属性。

连接选项:

选项完整版本解释默认值
-h--hostMQTT主机。localhost
-p--portMQTT端口。1883
-V--mqttVersion可以设置为3或5的MQTT版本。5
-i--identifier可以定义唯一的客户端标识符。随机生成的UTF-8字符串。
-ip--identifierPrefix如果没有给定标识符,则为随机生成的客户端标识符的前缀。mqttClient
-c--[no-]cleanStart客户端是否开始一个干净的会话。true
k--keepAlive客户端的保活时间(秒)。60
-se--sessionExpiryInterval会话过期值(秒)。0(即时过期)

打赏赞(1)微海报分享
docker mqtt 命令行

MQTT 协议初学者指南

MQTT 和 NIST 网络安全框架版本 1.0

猜你喜欢

改善基础设施:HiveMQ如何推动智能城市发展

改善基础设施:HiveMQ如何推动智能城市发展

08/07
2024
为什么企业选择全托管HiveMQ云进行MQTT部署

为什么企业选择全托管HiveMQ云进行MQTT部署

07/01
2024
MQTT 赋能工业 PLC 数据采集与应用

MQTT 赋能工业 PLC 数据采集与应用

06/30
2024

回复

抢沙发咯
  • 解决方案
    • 智能家居
    • 汽车与出行
    • 工业制造
    • 能源电力
    • 石油石化
    • 交通物流
    • 零售
  • 学习
    • MQTT 规范
    • MQTT 教程
    • MQTT 软件
    • MQTT 客户端库
    • MQTT 服务器
    • 工具和应用程序
  • 关于我们
    • 了解创科慧仁
    • 加入创科慧仁
    • 投资者关系
    • 新闻动态
    • 合作伙伴
    • 联系我们
  • 友情链接
    • Modbus中文网
    • 跳动符号官网
    • 物联网世界
    • RFID世界网
    • 深圳物联网协会
    • isoftstone软通动力
    • 中国发展战略学研究会
    • B.P商业伙伴
  • 在线客服
  • 全国客户服务热线
    4006909885
  • 官方公众号
  • 联系邮箱
    contact@mqtt.cn
Copyright © 2025 MQTT中文站. All rights reserved.Designed by nicetheme. 京ICP备20029519号
在线客服

微信咨询

微信咨询

4006909885

服务热线 7*24小时

电话咨询
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册
string(5) "2.0.0"