MQTT图形化客户端比较
阅读原文时间:2023年07月12日阅读:1

1 MQTT.fx

(1)协议支持

  • TCP(tcp)
  • TLS(tls)

(2)特点

  • 界面美观,操作便捷
  • 不支持WebSocket协议
  • 基于java开发
  • 支持代理
  • 通过Nashorn Engine的JS脚本支持
  • 全平台支持
  • Broker状态检测(HiveMQ & mosquitto),并没有emqtt
  • 操作日志查看
  • payload的格式解析:
    • 文本
    • JSON
    • HEX
    • Base64
    • Sparkplug
  • 免费(Apache 2.0)

(3)JS脚本

// mqttManager 支持 publish() subsribe() unsubscribe()
// 日志记录
var Thread = Java.type("java.lang.Thread");

function execute(action) {
    out("Test Script: " + action.getName());
    for (var i = 0; i < 10; i++) {
        switchON();
        Thread.sleep(500);
        switchOFF();
        Thread.sleep(500);
    }
    action.setExitCode(0);
    action.setResultText("done.");
    out("Test Script: Done");
    return action;
}

function switchON() {
    out("fountain ON");
    mqttManager.publish("home/garden/fountain", "ON");
}

function switchOFF() {
    out("fountain OFF");
    mqttManager.publish("home/garden/fountain", "OFF");
}

function out(message){
     output.print(message);
}

(4)地址

(5)相关图片

2 Eclipse Paho MQTT Utility

(1)协议支持

  • TCP(tcp)
  • TLS(tls)

(2)特点

  • 基于java开发
  • 基于Eclipase主体
  • 有中文版,同样全平台
  • 支持HA选项
  • 界面同样简洁美观,感觉比MQTTBOX整体性好一点
  • 操作同样便捷

(3)HA

(4)地址

3 MQTTBOX

(1)协议支持

  • TCP(tcp)
  • TLS(tls)
  • Web Sockets(ws)
  • Secure Web Sockets(wss)

(2)特点

  • 支持的协议全面,支持WebSocket
  • 界面美观但是简陋
  • 支持MQTT负载测试
    • 自定义订阅和发送比例
    • 支持10并发测试实例
    • 实时查看测试进程
    • 测试结果能以图表展示
  • 没有日志模块,没有脚本支持,没有Broker状态查看
  • payloads输出相对简陋

(3)MQTT负载测试

  • 测试参数

  • 测试过程

  • 测试结果

结论:

  • 测试时需要取消用户名密码
  • 简单测试Broker的性能
  • 结果展示比较直观

(4)地址

4 结论

  • 每款MQTT的GUI工具都有各自的优缺点
  • 根据使用习惯和使用场景自行选择