MQTT图形化客户端比较
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工具都有各自的优缺点
- 根据使用习惯和使用场景自行选择