MQTT.fx 是 Jens Deters (http://www.jensd.de/) 个人开发的、目前主流的 MQTT 客户端,可以快速验证是否可以与 IoT Hub 服务交互发布或订阅消息,MQTT.fx 适用 Apache License 2.0 协议但并未提供源码。
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 后用户可以编写出适应业务的测试脚本,模拟传感器上报数据,甚至是性能测试工具等更多强大的功能。
如果您使用的是 Mosquitto,MQTT.fx 提供专门的一个选项卡,通过订阅系统主题(用于发布 Broker 运行信息的主题)实现 Broker 状态可视化查看,可即时获取到 Broker 的版本、时间等系统信息和客户端数量、消息数量网络流量和负载状况等运行信息。
总的来说 MQTT.fx 有丰富且成熟的功能,支持了 TCP 连接中所有可能遇到的配置项,除了交互性略差,界面卡顿,用户同一时间只能建立一个连接,不能满足同时使用多个测试连接的需求。另外它没有实现对 WebSocket 的支持,在 MQTT over WebSockets 的测试场景中无法使用。
预定义消息模板
通过系统主题 $SYS 获取 Broker 状态
记忆最近使用主题的
通过 Nashorn Engine ,支持 JavaScript 脚本
支持日志显示,显示连接中的日志信息
跨平台桌面,支持 Windows、MacOS 和 Linux
操作系统: Windows,macOS,Linux