2023年11月18日 星期六

2023 年 7 個值得嘗試的最佳 MQTT 用戶端工具

 2023 年 7 個值得嘗試的最佳 MQTT 用戶端工具

https://www.emqx.com/en/blog/mqtt-client-tools

李國偉
2023 年 5 月 24 日
2023 年 7 個值得嘗試的最佳 MQTT 用戶端工具

介紹

隨著物聯網(IoT)的快速發展,MQTT協定正被許多公司和開發者廣泛使用。MQTT客戶端工具用於連接MQTT代理來發布、訂閱、發送和接收訊息。

正確的工具可以幫助開發人員探索 MQTT 功能並調試 IoT 應用程序,從而縮短開發週期。鑑於 MQTT 用戶端工具種類繁多、功能重點不同,選擇合適的 MQTT 用戶端工具對於初學者和 MQTT 專家來說都是一個挑戰。

我們選擇了 2023 年七種最有用的 MQTT 用戶端工具,並按桌面、瀏覽器、命令列和行動類別列出它們。我們希望本文能幫助您快速找到適合您的 MQTT 開發的工具。

如何選擇MQTT客戶端?

一個好的 MQTT 用戶端工具應該具備以下關鍵特性。

  • 支援單向和雙向 SSL 身份驗證。
  • 支援MQTT 5功能。
  • 在功能齊全的基礎上保持易用性。
  • 支援多個客戶端同時線上。
  • 跨平台,可在不同作業系統下使用。
  • 支援基於 WebSocket 的 MQTT。
  • 進階功能:客製化腳本、日誌記錄、負載格式轉換等。

免費公共 MQTT 代理

在深入研究 MQTT 桌面工具之前,我們需要一個MQTT 代理來進行通訊和測試。我們選擇 上提供的免費公共 MQTT 代理broker.emqx.io

MQTT 經紀商資訊

  • 伺服器:broker.emqx.io
  • TCP連接埠:1883
  • WebSocket 端口:8083
  • SSL/TLS 連接埠:8883
  • 安全 WebSocket 連接埠:8084

欲了解更多信息,請查看:免費公共 MQTT 代理

開放製造中心
MQTT 代理選擇實用指南
下載此實用指南並了解選擇 MQTT 代理程式時應考慮的因素。
取得電子書 →

MQTT 桌面用戶端工具

MQTTX

MQTTX是一款優雅的跨平台 MQTT 5.0 桌面用戶端,可在 macOS、Linux 和 Windows 上運作。其用戶友好的聊天式介面使用戶能夠輕鬆創建多個 MQTT/MQTTS 連接並訂閱/發布 MQTT 訊息。

MQTTX 完全支援 MQTT 版本 5.0 和 3.1.1、基於 TLS 的 MQTT、基於 WebSocket 的 MQTT 以及單向和雙向 SSL 驗證。除了這些基本功能之外,MQTTX 還提供高級功能,例如用於MQTT Pub/Sub模擬的可自訂腳本以及對 Hex、Base64 和 JSON 有效負載等編解碼器的支援。

MQTTX 是一個與Electron一起開發並由EMQX 團隊維護的開源專案最新版本是 2023 年 4 月底發布的版本 1.9.2。

GitHub 專案:https://github.com/emqx/mqttx

MQTT X

特徵

  • 使用者友好且易於使用的 UX 設計
  • 用於發送/接收 MQTT 訊息的聊天框
  • 完全支援 MQTT 版本 5.0 和 3.1.1
  • 支援基於 TLS 的 MQTT 和基於 WebSocket 的 MQTT
  • 支援單向和雙向 SSL 身份驗證
  • Hex、Base64、JSON 和純文字負載編解碼器
  • 為不同的 MQTT 訂閱客製化顏色
  • 用於 MQTT Pub/Sub 場景模擬的客製化腳本
  • 跨平台,可在 Windows、macOS 和 Linux 上運行

安裝

MQTT 瀏覽器

MQTT Explorer 是一款開源 MQTT 用戶端工具,提供易於使用的圖形使用者介面 (GUI) 和結構化主題概述。它採用分層主視圖,支援接收到的負載訊息的可視化圖表顯示。

MQTT Explorer 支援 MQTT 5.0 和 3.1.1 協議,允許開發者同時建立一個 MQTT/MQTTS 連線。

MQTT Explorer 使用 Typescript 編寫,由Thomas Nordquist開發。它是跨平台的,可以在 Windows、macOS 和 Linux 上運行。可惜的是,該專案自2020年4月28日最後一次發布0.4.0-beta1版本以來就已經停止開發。

GitHub: https: //github.com/thomasnordquist/MQTT-Explorer

MQTT 瀏覽器

特徵

引自MQTT Explorer

  • 視覺化主題以及主題變化的動態預覽
  • 刪除保留的主題
  • 搜尋/過濾主題
  • 遞歸刪除主題
  • 當前和之前收到的訊息的差異視圖
  • 發布主題
  • 繪製數字主題
  • 保留每個主題的歷史記錄
  • 深色/淺色主題

下載

https://mqtt-explorer.com/

MQTT 線上用戶端工具

MQTTX 網路

MQTTX Web是一個用戶友好的、基於瀏覽器的工具,用於線上偵錯、開發和測試 MQTT 應用程式。它透過 WebSocket 用戶端連接到 MQTT 代理,並提供直覺的介面。

MQTTX Web由EMQX 團隊開發,是一款開源工具,支援 MQTT 3.1.1 和 MQTT 5.0 協定以及 WebSocket 傳輸。它是在 Apache 2.0 版下獲得許可的。

GitHub 專案:https://github.com/emqx/MQTTX/tree/main/web

立即嘗試: http: //www.emqx.io/online-mqtt-client

此外,MQTTX Web 支援使用 Docker 進行私人部署,這在只有瀏覽器可用時或在受限的內部網路環境中進行測試時非常有用。從 Docker 映像部署:

docker pull emqx/mqttx-web
 docker run -d --name mqttx-web -p 80 : 80 emqx/mqttx-web

MQTTX 網路

MQTT.Cool 測試客戶端

MQTT.Cool 測試客戶端是一個非常簡單且線性的 GUI(基於 MQTT.Cool API),透過它您可以測試 MQTT.Cool 伺服器和 MQTT 代理之間的互動。它支援在瀏覽器中透過 MQTT TCP 連線到代理程式。

立即嘗試:https: //testclient-cloud.mqtt.cool/

MQTT.Cool 測試客戶端

MQTT CLI 工具

MQTTX CLI

MQTTX CLI是一個輕量級且易於使用的 MQTT 5.0 命令列工具。具有用於 MQTT 發布、訂閱、基準測試和 IoT 資料模擬的各種命令,是 MQTT 開發最強大的工具之一。

MQTTX CLI 是一個由EMQX 團隊開發、用 Node.js 編寫的開源專案它是跨平台的,可以在 Windows、macOS 和 Linux 上運行。

GitHub 專案:https://github.com/emqx/MQTTX/tree/main/cli

MQTTX CLI

特徵

  • 完全支援 MQTT v3.1.1 和 MQTT v5.0
  • 與 Windows、MacOS 和 Linux 的跨平台相容性
  • 無依賴性設置,無需先決條件即可快速安裝
  • 支援CA、自簽名憑證、單向和雙向SSL認證
  • 性能測試功能,用於快速評估MQTT服務性能。

安裝

MQTTX CLI 與 Windows、macOS 和 Linux 相容。有關其他安裝選項,請參閱文件

  • 碼頭工人

    docker pull emqx/mqttx- cli 
    docker run -it -- rm emqx/mqttx- cli
    
  • 自製

    brew install emqx /mqttx/m qttx-cli
    
  • 下載

    https://mqttx.app/cli

使用範例

  • 連接

    測試連接到 MQTT 代理:

    mqttx conn -h 'broker.emqx.io' -p 1883 -u '測試' -P '測試'
    
  • 訂閱

    訂閱MQTT 主題

    mqttx sub -t '主題/#' -h 'broker.emqx.io' -p 1883
    
  • 發布

    向 MQTT 主題發布 QoS1 訊息:

    mqttx pub -t 'topic' - q  1 -h 'broker.emqx.io' - p  1883 -m '來自 MQTTX CLI 的問候'
    
  • 發布多條訊息

    MQTTX CLI 也支援發布多個訊息。在編輯器中的命令中新增 -M 參數和 -s 參數,並在每個條目後換行。

    MQTTX CLI

  • 基準

    對於 MQTTX CLI,該bench命令易於使用且內容輸出簡潔。針對大量的連線、訂閱、發布,透過動態更新即時數字優化了顯示方式,避免使用過程中被大量輸出日誌淹沒。

    MQTT 基準測試

Mosquito CLI

Mosquitto 是一種廣泛使用的開源 MQTT 代理,具有流行的mosquitto_pub命令mosquitto_sub列用戶端。此 CLI 工具提供了廣泛的選項來連接、訂閱訊息以及將訊息發佈到 MQTT 代理。

Mosquitto 專案是用 C/C++ 編寫的,由 Eclipse 基金會維護。Mosquitto 具有高度可攜性,可部署在各種平台上,包括 Linux、Mac、Windows 和 Raspberry Pi。

GitHub 專案:https://github.com/eclipse/mosquitto

特徵

  • 重量輕且易於使用
  • 支援 MQTT v3.1.1 和 v5.0 協議
  • 豐富的命令列參數
  • 支援SSL/TLS加密/認證
  • MQTT v5.0 請求/回應功能

安裝

使用範例

  • 發布

    向 MQTT 主題發布 QoS1 訊息:

    mosquitto_pub -t 'topic' - q  1 -h 'broker.emqx.io' - p  1883 -m '來自 Mosquitto CLI 的問候'
    
  • 訂閱

    訂閱 MQTT 主題:

    mosquitto_sub -t '主題/#' -h 'broker.emqx.io' -p 1883
    
  • 請求/回應

    mosquitto_rr -t 'req -topic' -e 'rep -topic' -m '請求訊息' -h 'broker .emqx.io'
    mosquitto_pub -t 'rep -topic' -m '回應訊息' -h 'broker .emqx.io'
    

MQTT 行動用戶端工具

易MQTT

EasyMQTT 是適用於 iPhone、iPad 和 macOS 的 MQTT 用戶端,可讓您與任何 MQTT 代理進行互動。使用它來管理您自己的在家設定、控制 Zigbee2MQTT 等事物或監控遠端代理。它具有簡單、用戶友好的介面,支援淺色和深色模式。

下載

https://apps.apple.com/us/app/easymqtt/id1523099606?platform=iphone

結論

總之,我們對不同類別的 MQTT 用戶端工具進行了詳細介紹。

其中,MQTTX 開源專案作為快速發展的客戶端工具脫穎而出,提供現代聊天風格的介面、完整的 MQTT 5.0 支援以及提供出色使用者體驗的豐富功能。MQTTX 提供桌面版、命令列版和瀏覽器版三個版本,可滿足您在不同場景下的 MQTT 測試需求。毫無疑問,MQTTX是 2023 年頂級 MQTT 用戶端工具之一。

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...