关于物联网:2022-年值得尝试的-7-个-MQTT-客户端工具

32次阅读

共计 3252 个字符,预计需要花费 9 分钟才能阅读完成。

随着物联网行业的飞速发展,MQTT 协定也被越来越多的公司及开发者所应用。在学习和应用 MQTT 的过程中,一个得心应手的客户端工具能够极大的不便开发者进行 MQTT 个性的摸索及物联网利用的调试,缩短开发周期。

目前 MQTT 客户端工具品种繁多,性能侧重点也不尽相同。对于初学者乃至 MQTT 专家来说,如何抉择一个适合的 MQTT 客户端工具是一个难题。

咱们依据本身的应用教训,对目前市面上常见的客户端工具进行了筛选和整顿,抉择了截至 2022 年最新、最实用的 7 个 MQTT 客户端工具,并按桌面端、浏览器端、命令行分类列出。心愿本文能够帮忙 MQTT 开发者疾速找到一个适合的客户端工具,发展 MQTT 连贯测试。

如何抉择一个 MQTT 客户端?

MQTT 客户端工具罕用于建设与 MQTT 服务器 的连贯,进行主题订阅、音讯收发等操作。一个优良的 MQTT 客户端工具应该具备如下个性:

  • 反对加密连贯;
  • 反对 MQTT 5 个性;
  • 在性能全面的根底上放弃易用性;
  • 反对多个客户端同时在线;
  • 跨平台,不同操作系统下都能够应用;
  • 反对 MQTT over WebSocket;
  • 进阶性能:反对自定义脚本、日志记录、MQTT Payload 格局转换等。

MQTT 桌面客户端

MQTT X

MQTT X 是 EMQ 开源的一款跨平台 MQTT 5.0 客户端工具,它反对 macOS, Linux, Windows,并且反对 MQTT 音讯格局转换。

MQTT X 的用户界面借助聊天软件的模式简化了页面的操作逻辑,用户能够疾速创立连贯保留并同时建设多个连贯客户端,不便用户疾速测试 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 的 连贯 / 公布 / 订阅 性能及其他个性。

MQTT X 致力于打造优雅、易用的全平台 MQTT 客户端,并在最近公布了 MQTT X CLI 及 MQTT X Web 两个版本,目前在 GitHub Star 数已达到 2K,已成为应用场景最残缺的 MQTT 测试客户端。

个性

  • 跨平台,反对 Windows,macOS 和 Linux
  • 反对 MQTT v3.1.1 以及 MQTT v5.0 协定
  • 单 / 双向 SSL 认证:反对 CA、自签名证书,以及单、双向 SSL 认证
  • 反对 Light、Dark、Night 三种主题模式切换
  • 反对 WebSocket 连贯至 MQTT 服务器
  • 反对 Hex, Base64, JSON, Plaintext
  • 反对简体中文、英文、日文、土耳其文及匈牙利文
  • 订阅 Topic 反对自定义色彩标记
  • 反对 $SYS 主题主动订阅,查看流量统计
  • 自定义编辑脚本测试和模仿收发数据
  • 残缺的日志记录

MQTT Explorer

MQTT Explorer 是一个全面的 MQTT 客户端,它的一大亮点是提供了 MQTT 主题的结构化展现及动静预览。

MQTT Explorer 还反对对接管到的 payload 音讯进行差别比照及可视化图表展现。与 MQTT.fx 类似,MQTT Explorer 只能创立一个繁多的客户端连贯,不能多个客户端同时在线。

个性

  • 可视化 Topics 和 Topic 变动的动静预览
  • 删除保留的 Topics
  • 搜寻 / 过滤 Topics
  • 递归删除 Topics
  • 以后和以前收到的音讯的差别视图
  • 公布 Toipcs
  • 绘制数字 Topics
  • 保留每个 Topic 的历史记录
  • Dark/Light 主题

MQTT.fx

MQTT.fx 是由 Jens Deters 集体开发的,MQTT.fx 实用 Apache License 2.0 协定但并未提供源码。遗憾的是 MQTT.fx ⽬前曾经停⽌保护,并转为由 Softblade 公司赞助开发另发⾏了其商业版本 MQTT.fx® 5.0,采⽤免费许可证⽅式经营该软件。

MQTT.fx 应用 JavaFX 技术开发,能够保留多个连贯配置,反对多种类型的加密形式,指定多种类型的证书,创立连贯时能够指定应用 HTTP 代理服务器。

总的来说 MQTT.fx 有丰盛且成熟的性能,反对了 TCP 连贯中所有可能遇到的配置项,然而用户同一时间只能建设一个连贯,不能满足同时应用多个测试连贯的需要。另外它没有实现对 WebSocket 的反对,在 MQTT over WebSocket 的测试场景中无奈应用。

个性

  • 预约义音讯模板
  • 通过零碎主题 $SYS 获取 broker 状态
  • 记忆最近应用主题的
  • 通过 Nashorn Engine,反对 JavaScript 脚本
  • 反对日志显示,显示连贯中的日志信息
  • 跨平台桌面,反对 Windows、MacOS 和 Linux

MQTT 在线客户端

MQTT X Web

MQTT X Web 是一款开源的 MQTT 5.0 浏览器客户端,也是一个在线 MQTT WebSocket 客户端工具。开发者无需在本地下载和装置 MQTT X,即可应用 WebSocket 在浏览器中疾速连贯到 MQTT 服务器,更快地开发和调试 MQTT 服务和利用。

MQTT 命令行客户端

MQTT X CLI

MQTT X CLI 是一款全开源的、弱小而易用的 MQTT 5.0 命令行客户端工具,也是命令行上的 MQTT X,旨在帮忙开发者无需应用图形化界面,也能疾速开发和调试 MQTT 服务与利用。

个性

  • 无依赖限度:基于命令行的装置和应用,无任何环境依赖要求
  • 开放源码:基于 Apache License 2.0 协定,开放源码
  • 易于集成:可疾速集成到自动化测试脚本中
  • 单 / 双向 SSL 认证:反对 CA、自签名证书,以及单、双向 SSL 认证

下载

MQTT X CLI 能够疾速下载并装置到 macOS、Linux 和 Windows 零碎上,装置前不须要任何的依赖环境筹备,只需在终端内执行命令,即可装置和应用 MQTT X CLI。

疾速开始

订阅

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!'

公布多条音讯

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

MQTT X CLI 反对一个 pub 命令能够公布多条音讯的性能,只须要在编辑是在命令中增加一个 -M 参数和 -s 参数,每次输出实现后换行即可。

NanoMQ CLI

NanoMQ 是用于物联网边缘的超轻量级 MQTT 音讯服务器,它同时也内置了一个弱小的 MQTT 协定性能测试工具 bench 及 MQTT 测试客户端。

个性

  • 反对性能测试
  • 反对 MQTT 5.0
  • 可运行在边缘端
  • 反对从文件读取数据作为 payload

疾速开始

性能测试工具 bench

# 启动 10 个连贯,每秒向主题 t 发送 100 条 Qos0 音讯,其中每个音讯负载的大小为 16 字节
nanomq_cli bench pub -t t -h broker.emqx.io -s 16 -q 0 -c 10 -I 10

# 启动 500 个连贯,每个连贯应用 Qos0 订阅 t 主题
nanomq_cli bench sub -t t -h broker.emqx.io -c 500

# 启动 100 个连贯
nanomq_cli bench conn -h broker.emqx.io -c 100

MQTT 测试客户端

# 向主题 t 发送 100 条 Qos2 音讯测试。nanomq_cli pub -t t -h broker.emqx.io -q 2 -L 100 -m test

# 订阅主题 t
nanomq_cli sub -t t -h broker.emqx.io -q 1

Mosquitto CLI

Mosquitto 是一个开源 (EPL/EDL 许可证) 的音讯代理,装置之后默认提供了 mosquitto_pub 和 mosquitto_sub 两个命令行 MQTT 客户端工具。

Mosquitto CLI 有多个配置选项,反对 TLS 证书连贯、通过代理服务器连贯,反对 debug 模式,在 debug 模式下能够获取更具体的音讯信息。

个性

  • 轻量级命令行工具,反对 debug 模式
  • 反对加密及非加密连贯至 MQTT 服务器
  • 便于在近程服务器测试

疾速开始

订阅

mosquitto_sub -t 'test/topic' -v

公布

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

版权申明:本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/mqtt-client-tools

正文完
 0