7个值得尝试的MQTT免费客户端工具(附使用方法)

1,462 阅读5分钟

7个最好的MQTT客户端工具值得一试

为MQTT测试找到一个合适的客户端工具。按桌面、浏览器和命令行分类列出,这些工具都是免费的(大部分,开源)。

随着物联网产业的快速发展,MQTT协议被更多的公司和开发者所使用。在学习和使用MQTT的过程中,一个便捷的客户端工具可以帮助开发者调试物联网应用,探索MQTT的功能,缩短开发周期。

有各种各样的MQTT客户端工具,有不同的功能重点。对于初学者甚至是MQTT专家来说,选择一个合适的MQTT客户端工具是一个挑战。

我在2022年选择了七个最有用的MQTT客户端工具,并按照桌面、浏览器和命令行的类别列出。所有这些工具都是免费提供的,而且大部分都是开源的。

我确实希望这篇文章能够帮助你快速找到一个适合MQTT测试的客户端工具。

如何选择一个MQTT客户端

MQTT客户端工具通常用于建立与MQTT经纪商的连接,以进行消息发送和接收操作。除了这个基本功能之外,我们认为一个好的MQTT客户端工具应该具有以下特点:

  • 支持单向和双向的SSL认证

  • 支持MQTT 5的功能

  • 所有功能的易用性

  • 支持多个、同时在线的客户端

  • 跨平台,可在不同操作系统下使用

  • 支持通过WebSockets的MQTT

  • 高级功能。自定义脚本、日志记录、有效载荷格式转换等。

MQTT桌面客户端

MQTT X

MQTT X是一个跨平台、开源的MQTT 5.0客户端工具,可以在macOS、Linux和Windows上运行,并支持多种有效载荷格式。

它在一个熟悉的、类似聊天的界面的帮助下,简化了测试操作。它可以方便快捷地创建多个同时在线的MQTT客户端连接,并可以测试MQTT/TCP、MQTT/TLS、MQTT/WebSocket的连接、发布和订阅功能,以及其他MQTT协议功能。

MQTT X致力于建立一个优雅、易用、全平台的MQTT客户端,最近同时发布了MQTT X CLI和MQTT X Web。现在,MQTT X在GitHub Star上已经达到2K。

特点:

  • 跨平台,适用于Windows、macOS和Linux

  • 支持MQTT v3.1.1和MQTT v5.0协议

  • 支持CA、自签名证书以及单程和双程SSL/TLS认证

  • 支持光明、黑暗和夜晚之间的主题切换

  • 支持通过WebSocket的MQTT

  • 支持Hex、Base64、JSON、Plaintext

  • 支持英语、日语、简体中文、土耳其语和匈牙利语

  • 支持主题订阅的自定义颜色编码

  • 支持自动订阅$SYS和字节统计数据

  • 可定制的脚本,模拟数据测试

  • 完整的日志记录功能

下载

在GitHub上下载MQTT X

MQTT资源管理器

MQTT Explorer是一个全面的MQTT客户端,它提供了一个结构化的MQTT主题概述,并使你的经纪人上的设备/服务工作变得简单。

MQTT Explorer支持对收到的有效载荷消息进行差异比较和可视化图表显示。与MQTT.fx(如下)类似,MQTT Explorer只能创建一个连接,不能同时有多个客户端在线。

特点:

  • 可视化主题和动态预览主题的变化情况

  • 删除保留的主题

  • 搜索/过滤主题

  • 递归删除主题

  • 对当前和以前收到的信息有不同的看法

  • 发布主题

  • 绘制数字主题

  • 保留每个主题的历史记录

  • 浅色和深色之间的主题切换

下载

在GitHub上下载 MQTT Explorer

MQTT.fx

MQTT.fx最初由Jens Deters开发。在2021年1月,MQTT.fx转移到Softblade--一家新的德国公司,负责进一步开发。它发布了一个商业版本,MQTT.fx® 5.0。本文中描述的MQTT.fx是免费的1.x版本。

MQTT.fx是用JavaFX开发的,支持保存多种连接配置,多种类型的加密方法,指定多种类型的证书,并且可以在创建连接时设置HTTP代理服务器。

总的来说,MQTT.fx具有丰富、成熟的功能,支持TCP连接中的许多配置项,但用户一次只能建立一个连接。此外,它没有实现对WebSockets的支持,不能用于测试MQTT over WebSockets。

特点:

  • 预定义的消息模板

  • 通过系统主题获得经纪人的状态 $SYS

  • 通过Nashorn引擎支持JavaScript脚本

  • 支持日志显示,在连接中显示日志信息

  • 跨平台桌面,支持Windows、macOS和Linux

下载

MQTT.fx可供下载

MQTT浏览器客户端

MQTT X Web

MQTT X Web是一个开源的MQTT 5.0浏览器客户端和一个在线MQTT WebSocket客户端工具。开发人员可以使用WebSocket在浏览器中快速连接到MQTT服务器,并在不安装MQTT X的情况下更快地调试MQTT服务和应用程序。

MQTT X Web 现在 可以 试用。另外, 在GitHub上 查看关于 MQTT X Web的 更多信息 。

MQTT命令行工具

MQTT X CLI

MQTT X CLI是一个完全开源的MQTT 5.0命令行客户端工具,即命令行上的MQTT X。这使得开发人员能够使用命令行更快地开发和调试MQTT服务和应用程序,而不需要图形界面。

特点:

  • 无依赖性。不需要先决条件就能启动和运行

  • 易于集成。快速集成到自动化测试脚本中

  • 单向和双向SSL:支持单向和双向SSL认证

下载

MQTT X CLI可以快速下载并安装在macOS、Linux和Windows系统上,没有任何环境依赖,只需在终端执行命令即可。另外,要了解更多信息,请查看GitHub上的MQTT X CLI

使用方法

连接:

mqttx conn -h 'broker.emqx.io' -p 1883 -u 'admin' -P 'public'

订阅:

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

发布:

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

发布多条消息:

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

MQTT X CLI也支持发布多条消息的pub命令,只需在编辑器中为该命令添加-M参数和-s参数,并在每个条目后换行。

NanoMQ CLI

NanoMQ是一个用于物联网边缘的超轻量级、极快的MQTT代理,它包含丰富的工具包,包括broker、bench、conn、pub和sub-client。

特点:

  • 支持性能测试

  • 支持MQTT 5.0

  • 能够在边缘设备上运行

  • 支持读取文件内容作为MQTT有效载荷

下载

NanoMQ可以在这里下载

使用方法

MQTT性能测试工具:

# Start 10 connections and send 100 Qos0 messages to the topic t every second, 
# where the size of each message payload is 16 bytes
nanomq_cli bench pub -t t -h broker.emqx.io -s 16 -q 0 -c 10 -I 10

# Start 500 connections, and each subscribes to the t topic with Qos0
nanomq_cli bench sub -t t -h broker.emqx.io -c 500

# Start 100 connections
nanomq_cli bench conn -h broker.emqx.io -c 100

MQTT客户端:

# Send 100 Qos2 messages test to the topic t
nanomq_cli pub -t t -h broker.emqx.io -q 2 -L 100 -m test

# Subscribe
nanomq_cli sub -t t -h broker.emqx.io -q 1

Mosquitto CLI

Mosquitto是一个MQTT服务器的开源实现,用于5.0、3.1.1和3.1版本的协议。它还包括一个C和C++客户端库,以及用于发布和订阅的mosquitto_pubmosquitto_sub 实用程序。

Mosquitto CLI有多种配置选项,支持通过TLS证书和代理服务器的连接,支持调试模式,并能在调试模式下获得更详细的消息信息。

特点:

  • 轻量级的命令行工具

  • 支持调试模式

  • 支持加密和非加密连接到MQTT经纪人

  • 易于在远程服务器上进行测试

下载

如需下载,请访问GitHub上的Mosquitto

使用方法

订阅:

mosquitto_sub -t 'test/topic' -v

发布:

mosquitto_pub -t 'test/topic' -m 'hello world'