1. 程式人生 > >MQTT圖形化客戶端比較

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工具都有各自的優缺點
  • 根據使用習慣和使用場景自行選擇