FAQ
什么是 MQTTX CLI?
MQTTX CLI(mqttx)是 EMQ 开源(Apache-2.0)的免费 MQTT 5.0 命令行客户端,支持 Windows、macOS 和 Linux。无需图形界面,即可在终端中连接 MQTT Broker、发布和订阅消息、进行性能测试以及模拟 IoT 数据。
如何安装 MQTTX CLI?
在 macOS 和 Linux 上运行:
curl -fsSL https://emqx.sh/mqttx | sh
在 Windows 上,于 PowerShell 中运行 irm https://emqx.sh/mqttx.ps1 | iex。Homebrew、NPM、Docker 等其他方式请参阅安装。
在中国大陆下载很慢怎么办?
设置 MQTTX_REGION=cn 即可从 EMQ 的中国大陆镜像下载。
curl -fsSL https://emqx.sh/mqttx | MQTTX_REGION=cn sh
$env:MQTTX_REGION = "cn"; irm https://emqx.sh/mqttx.ps1 | iex
如何在命令行中测试 MQTT Broker?
在一个终端中订阅,在另一个终端中发布:
mqttx sub -t 'hello' -h 'broker.emqx.io' -p 1883
mqttx pub -t 'hello' -h 'broker.emqx.io' -p 1883 -m 'from MQTTX CLI'
如果只需检查 Broker 能否连接,运行 mqttx conn -h 'broker.emqx.io' -p 1883。
如何通过 TLS 或 WebSocket 连接?
使用 -l, --protocol 选择 mqtt、mqtts、ws 或 wss。TLS 连接通过 --ca 指定 CA 证书,双向 TLS 还需要 --cert 和 --key。--insecure 会跳过服务器证书校验,仅建议在测试时使用。WebSocket 连接可通过 --path 设置路径(默认 /mqtt),通过 -wh 添加请求头。全部参数请参考开始使用。
MQTTX CLI 支持哪些 MQTT 版本?
支持 MQTT 5.0、3.1.1 和 3.1,默认使用 MQTT 5.0,可通过 -V, --mqtt-version 切换。MQTT 5.0 特性均以参数形式提供,例如用户属性(-up)、会话过期间隔(-se)以及订阅时的 Retain Handling(-rh)。
MQTTX CLI 能对 MQTT Broker 进行性能测试吗?
可以。mqttx bench conn、mqttx bench sub 和 mqttx bench pub 分别使用大量并发客户端测试连接、订阅和发布性能,例如 mqttx bench pub -c 5000 -t bench/%i。
MQTTX CLI 能生成模拟 IoT 数据吗?
可以。mqttx simulate 可以使用内置场景(通过 mqttx ls -sc 查看)或自定义 JavaScript 脚本发布数据,例如 mqttx simulate -sc tesla -c 10。
如何避免重复输入相同的参数?
使用 -so, --save-options 将参数保存为 JSON 或 YAML 文件,之后通过 -lo, --load-options 加载。运行 mqttx init 可以创建默认配置文件。
AI 编码 Agent 可以使用 MQTTX CLI 吗?
可以。mqttx-cli Agent Skill 可以让 Claude Code、Cursor 等 AI 编码 Agent 正确使用 MQTTX CLI 完成连接检查、发布订阅往返验证、性能测试和故障排查。安装命令为 npx skills add emqx/MQTTX --skill mqttx-cli。
如何检查更新?
运行 mqttx check 即可检查是否有新版本的 MQTTX CLI。从 v1.13.3 起,可运行 mqttx update 安装最新版本,详情请参阅更新。