MQTT客户端工具有哪些

发布时间:2021-12-07 09:29:34 作者:iii
来源:亿速云 阅读:240

这篇文章主要介绍“MQTT客户端工具有哪些”,在日常操作中,相信很多人在MQTT客户端工具有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MQTT客户端工具有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

前言

在学习和使用 MQTT 的过程中,一个得心应手的客户端工具可以极大的方便使用者进行 MQTT 特性的探索和功能组件的调试。来自世界各地的开发者们围绕不同操作系统、运行平台,开发出了许多针对 MQTT 协议的客户端测试工具。

这些客户端工具种类繁多,功能侧重点不尽相同,质量层次不齐,因此,对于初学者乃至 MQTT 专家来说,如何选择一个适用的 MQTT 客户端工具是一个难题。

MQTT 客户端工具需要具备的功能特点

MQTT 客户端工具常用于建立与 MQTT Broker 的连接,进行主题订阅、消息收发等操作。一个 MQTT 客户端工具的功能特点可以从以下方面评估:

本文将结合每个客户端工具的特点,从以上几点进行测评介绍,参选的客户端工具如下:

Mosquito CLI

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

项目地址:Github Mosquitto

下载地址:Mosquitto 官网

Mosquito CLI 有多个配置选项,支持 TLS 证书连接、通过代理服务器连接,支持 debug 模式,在 debug 模式下可以获取更详细的消息信息。

Mosquito CLI 足够轻量紧凑且便于安装,可以以多种连接方式并行的建立多个 MQTT 客户端,完成消息的发布/订阅测试。

它的使用也非常简便,默认使用环境只需提供少许参数即可使用:

## 开启 DEBUG 模式订阅 testtopic/# 主题
wivwiv-mac:workspace emqtt$ mosquitto_sub -t "testtopic/#" -d
Client mosqsub/66418-wivwiv-ma sending CONNECT
Client mosqsub/66418-wivwiv-ma received CONNACK
Client mosqsub/66418-wivwiv-ma sending SUBSCRIBE (Mid: 1, Topic: testtopic/#, QoS: 0)
Client mosqsub/66418-wivwiv-ma received SUBACK
Subscribed (mid: 1): 0
Client mosqsub/66418-wivwiv-ma received PUBLISH (d0, q0, r0, m0, 'testtopic/1', ... (5 bytes))
Hello

## 发布一条消息到 testtopic/1 主题
mosquitto_pub -t "testtopic/1" -m "Hello"

有关 Mosquitto 和 Mosquitto CLI 的安装使用详见 Mosquitto 官网。

MQTTX

MQTTX 是 EMQ 开发的跨平台可视化 MQTT 客户端工具,在 Apache License 2.0 协议下开源。

项目地址:Github MQTTX

下载地址:Github MQTTX Release

MQTTX 具备以下特性:

MQTTX 是最新推出的产品,采用了 Electron 跨平台技术,界面美观且资源占用较低。MQTTX 在交互上一改常见的单一客户端模式,按照 Broker 配置来组织客户端信息,允许在同一份 Broker 配置下保存多个客户端信息;以消息聊天的交互形式收发消息,允许同时建立多个客户端连接并自由切换互相通信,有较好的交互性,大大提高了交互调试的效率。

MQTT客户端工具有哪些

截止目前 MQTTX 发布了 v1.1.1 版本,后续更多功能还在开发中让我们拭目以待。

MQTT.fx

MQTT.fx 是 Jens Deters 个人开发的、目前主流的 MQTT 客户端,可以快速验证是否可以与 IoT Hub 服务交互发布或订阅消息,MQTT.fx 适用 Apache License 2.0 协议但并未提供源码。

项目地址:未提供源码

下载地址:MQTT.FX

MQTT fx 具备以下特性:

MQTT.fx 是一个老牌的 MQTT 客户端工具,Azure IoT Hub、AWS IoT、阿里云 IoT 等云服务提供商相关产品文档教程均以 MQTT.fx 为例。MQTT.fx 使用 JavaFX 技术开发,由于 Java 虚拟机的关系可能在某些老旧机器上会有卡顿的体验。

基础功能上 MQTT .fx 可以保存多个连接配置,支持多种类型 TCL 加密方式,指定多种类型的证书。创建连接时可以指定使用 HTTP 代理服务器,连接成功后整个发布、订阅功能使用相对来说比较合理流畅,Topics Collector 功能可以发现通过其他方式如 Broker 端代理订阅订阅的主题是一个功能亮点。MQTT.fx 还支持 Google Cloud Iot 的连接测试。

高级功能中 MQTT.fx 有最大的亮点支持执行 JavaScript 功能脚本,借助 Nashorn Engine 用户编写的 JavaScript 代码可以访问 Java 方法与字段实现功能扩展,熟悉 MQTT.fx 相关 API 后用户可以编写出适应业务的测试脚本,模拟传感器上报数据,甚至是性能测试工具等更多强大的功能。

如果您使用的是 HiveMQ 或者 Mosquitto Broker,MQTT.fx 提供专门的一个选项卡,通过订阅这两者的系统主题(用于发布 Broker 运行信息的主题)实现 Broker 状态可视化查看,可即时获取到 Broker 的版本、时间等系统信息和客户端数量、消息数量网络流量和负载状况等运行信息。

总的来说 MQTT.fx 有丰富且成熟的功能,支持了 TCP 连接中所有可能遇到的配置项,除了交互性略差,用户同一时间只能建立一个连接,不能满足同时使用多个测试连接的需求。另外它没有实现对 WebSocket 的支持,在 MQTT over WebSockets 的测试场景中无法使用。

MQTT客户端工具有哪些

MQTT Box

MQTT Box 是 Sathya Vikram 个人开发的 MQTT 客户端工具,最初仅在 Chrome 上使用,作为浏览器拓展安装使用, 后经重写开源成为桌面端跨平台独立软件。

项目地址:GitHub MQTTBox

下载地址:http://workswithweb.com/mqttbox.html

MQTT Box 具备以下特性:

MQTT Box 同样采用了 Electron 跨平台技术,界面简单直接,支持多个客户端同时在线,但客户端之间的切换、互发消息等交互还是有一定不便。MQTT Box 借助 Chrome 有很强大的跨平台特性,结合简单的负载测试功能,是一款值得尝试的 MQTT 客户端工具。

MQTT客户端工具有哪些

mqtt-spy

mqtt-spy 是 Eclipse Paho 和 Eclipse IoT 的一部分,它通过直接启动 JAR 文件在 Java 8 和 JavaFX 之上运行,mqtt-spy 有一种很好的交互方式来展现基本的 MQTT发布/订阅机制。

项目地址:GitHub mqtt-spy

下载地址:https://github.com/eclipse/paho.mqtt-spy/releases

mqtt-spy 具备以下特性:

mqtt-spy 没有提供独立的安装包,使用前需要用户自行安装 Java 运行环境。但是启动后 mqtt-spy 拥有友好的上手体验,启动引导功能让人眼前一亮,MQTT 新手可以轻松的使用 mqtt-spy 连接到公共 MQTT Broker 进行探索。mqtt-spy 的功能界面略显复杂,但熟悉每个部件的功能后它将成为开发调试利器。还有有一点不得不提的是 mqtt-spy 的性能和稳定性有所欠缺,也有可能是笔者使用的版本为最新 Beta 版,连接多个 Broker 后频频出现卡顿和假死。

MQTT客户端工具有哪些

MQTT客户端工具有哪些

MQTT Lens

MQTT Lens 是有一个 Chrome 拓展工具,可以通过 Chrome 网上应用商店安装。MQTT Lens 界面非常简洁,提供基础的发布订阅功能。

下载地址:Chrome Web Store

MQTT Lens 具备以下特性:

MQTT Lens 足够简单,但是提供了基础的 MQTT 和 MQTT over WebSocket 连接功能,可以快速满足入门探索使用。

到此,关于“MQTT客户端工具有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. redis客户端工具有哪些
  2. python mqtt 客户端的实现

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mqtt

上一篇:Voice Commands on the Edge - Syntiant是如何解决功耗问题的

下一篇:Hyperledger fabric Chaincode开发的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》