2023 年 7 個值得嘗試的最佳 MQTT 用戶端工具
https://www.emqx.com/en/blog/mqtt-client-tools
介紹
隨著物聯網(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 桌面用戶端工具
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
特徵
- 使用者友好且易於使用的 UX 設計
- 用於發送/接收 MQTT 訊息的聊天框
- 完全支援 MQTT 版本 5.0 和 3.1.1
- 支援基於 TLS 的 MQTT 和基於 WebSocket 的 MQTT
- 支援單向和雙向 SSL 身份驗證
- Hex、Base64、JSON 和純文字負載編解碼器
- 為不同的 MQTT 訂閱客製化顏色
- 用於 MQTT Pub/Sub 場景模擬的客製化腳本
- 跨平台,可在 Windows、macOS 和 Linux 上運行
安裝
自製
沖泡安裝--cask mqttx
下載
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 線上用戶端工具
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
MQTT.Cool 測試客戶端
MQTT.Cool 測試客戶端是一個非常簡單且線性的 GUI(基於 MQTT.Cool API),透過它您可以測試 MQTT.Cool 伺服器和 MQTT 代理之間的互動。它支援在瀏覽器中透過 MQTT TCP 連線到代理程式。
立即嘗試:https: //testclient-cloud.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
特徵
- 完全支援 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
下載
使用範例
連接
測試連接到 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,該
bench
命令易於使用且內容輸出簡潔。針對大量的連線、訂閱、發布,透過動態更新即時數字優化了顯示方式,避免使用過程中被大量輸出日誌淹沒。
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 請求/回應功能
安裝
碼頭工人
docker pull eclipse-mosquitto
自製
釀造安裝蚊子
下載
使用範例
發布
向 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 用戶端工具之一。
沒有留言:
張貼留言