2023 年值得嘗試的 7 個(gè) MQTT 客戶(hù)端工具
隨著(zhù)物聯(lián)網(wǎng)行業(yè)的飛速發(fā)展,MQTT 協(xié)議也被越來(lái)越多的公司及開(kāi)發(fā)者所使用。在學(xué)習和使用 MQTT 的過(guò)程中,一個(gè)得心應手的客戶(hù)端工具可以極大的方便開(kāi)發(fā)者進(jìn)行 MQTT 特性的探索及物聯(lián)網(wǎng)應用的調試,縮短開(kāi)發(fā)周期。
目前 MQTT 客戶(hù)端工具種類(lèi)繁多,功能側重點(diǎn)也不盡相同。對于初學(xué)者乃至 MQTT 專(zhuān)家來(lái)說(shuō),如何選擇一個(gè)合適的 MQTT 客戶(hù)端工具是一個(gè)難題。
我們根據自身的使用經(jīng)驗,對目前市面上常見(jiàn)的客戶(hù)端工具進(jìn)行了篩選和整理,選擇了截至 2023 年最新、最實(shí)用的 7 個(gè) MQTT 客戶(hù)端工具,并按桌面端、瀏覽器端、命令行分類(lèi)列出。希望本文可以幫助 MQTT 開(kāi)發(fā)者快速找到一個(gè)合適的客戶(hù)端工具,開(kāi)展 MQTT 連接測試。
如何選擇一個(gè) MQTT 客戶(hù)端?MQTT 客戶(hù)端工具常用于建立與 MQTT 服務(wù)器 的連接,進(jìn)行主題訂閱、消息收發(fā)等操作。一個(gè)優(yōu)秀的 MQTT 客戶(hù)端工具應該具備如下特性:
支持加密連接;
支持 MQTT 5 特性;
在功能全面的基礎上保持易用性;
支持多個(gè)客戶(hù)端同時(shí)在線(xiàn);
跨平臺,不同操作系統下都可以使用;
支持 MQTT over WebSocket;
進(jìn)階功能:支持自定義腳本、日志記錄、 MQTT Payload 格式轉換等。
MQTT X 是 EMQ 開(kāi)源的一款跨平臺 MQTT 5.0 客戶(hù)端工具,它支持 macOS, Linux, Windows,并且支持 MQTT 消息格式轉換。
MQTT X 的用戶(hù)界面借助聊天軟件的形式簡(jiǎn)化了頁(yè)面的操作邏輯,用戶(hù)可以快速創(chuàng )建連接保存并同時(shí)建立多個(gè)連接客戶(hù)端,方便用戶(hù)快速測試 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 的 連接/發(fā)布/訂閱 功能及其他特性。
MQTT X 致力于打造優(yōu)雅、易用的全平臺 MQTT 客戶(hù)端,并在最近發(fā)布了 MQTT X CLI 及 MQTT X Web 兩個(gè)版本,目前在 GitHub Star 數已達到 2K,已成為使用場(chǎng)景最完整的 MQTT 測試客戶(hù)端。
跨平臺,支持 Windows,macOS 和 Linux
支持 MQTT v3.1.1 以及 MQTT v5.0 協(xié)議
單/雙向 SSL 認證:支持 CA、自簽名證書(shū),以及單、雙向 SSL 認證
支持 Light、Dark、Night 三種主題模式切換
支持 WebSocket 連接至 MQTT 服務(wù)器
支持 Hex, Base64, JSON, Plaintext
支持簡(jiǎn)體中文、英文、日文、土耳其文及匈牙利文
訂閱 Topic 支持自定義顏色標記
支持 $SYS 主題自動(dòng)訂閱,查看流量統計
自定義編輯腳本測試和模擬收發(fā)數據
完整的日志記錄
官網(wǎng)下載:https://mqttx.app/zh
GitHub 下載:https://github.com/emqx/MQTTX/releases
MQTT Explorer 是一個(gè)全面的 MQTT 客戶(hù)端,它的一大亮點(diǎn)是提供了 MQTT 主題的結構化展示及動(dòng)態(tài)預覽。
MQTT Explorer 還支持對接收到的 payload 消息進(jìn)行差異對比及可視化圖表展示。與 MQTT.fx 相似,MQTT Explorer 只能創(chuàng )建一個(gè)單一的客戶(hù)端連接,不能多個(gè)客戶(hù)端同時(shí)在線(xiàn)。
可視化 Topics 和 Topic 變化的動(dòng)態(tài)預覽
刪除保留的 Topics
搜索/過(guò)濾 Topics
遞歸刪除 Topics
當前和以前收到的消息的差異視圖
發(fā)布 Toipcs
繪制數字 Topics
保留每個(gè) Topic 的歷史記錄
Dark/Light 主題
下載地址:https://github.com/thomasnordquist/MQTT-Explorer/releases
MQTT.fxMQTT.fx 是由 Jens Deters 個(gè)人開(kāi)發(fā)的,MQTT.fx 適用 Apache License 2.0 協(xié)議但并未提供源碼。遺憾的是 MQTT.fx ?前已經(jīng)停?維護,并轉為由 Softblade 公司資助開(kāi)發(fā)另發(fā)?了其商業(yè)版本 MQTT.fx? 5.0,采?收費許可證?式經(jīng)營(yíng)該軟件。
MQTT.fx 使用 JavaFX 技術(shù)開(kāi)發(fā),可以保存多個(gè)連接配置,支持多種類(lèi)型的加密方式,指定多種類(lèi)型的證書(shū),創(chuàng )建連接時(shí)可以指定使用 HTTP 代理服務(wù)器。
總的來(lái)說(shuō) MQTT.fx 有豐富且成熟的功能,支持了 TCP 連接中所有可能遇到的配置項,但是用戶(hù)同一時(shí)間只能建立一個(gè)連接,不能滿(mǎn)足同時(shí)使用多個(gè)測試連接的需求。另外它沒(méi)有實(shí)現對 WebSocket 的支持,在 MQTT over WebSocket 的測試場(chǎng)景中無(wú)法使用。
預定義消息模板
通過(guò)系統主題 $SYS 獲取 broker 狀態(tài)
記憶最近使用主題的
通過(guò) Nashorn Engine ,支持 JavaScript 腳本
支持日志顯示,顯示連接中的日志信息
跨平臺桌面,支持 Windows、MacOS 和 Linux
下載地址:https://www.jensd.de/wordpress/?p=2746
MQTT 在線(xiàn)客戶(hù)端MQTT X WebMQTT X Web 是一款開(kāi)源的 MQTT 5.0 瀏覽器客戶(hù)端,也是一個(gè)在線(xiàn) MQTT WebSocket 客戶(hù)端工具。開(kāi)發(fā)者無(wú)需在本地下載和安裝 MQTT X,即可使用 WebSocket 在瀏覽器中快速連接到 MQTT 服務(wù)器,更快地開(kāi)發(fā)和調試 MQTT 服務(wù)和應用。
立即體驗:http://www.emqx.io/online-mqtt-client
更多詳情,請查看 GitHub 倉庫:https://github.com/emqx/MQTTX/tree/main/web
MQTT 命令行客戶(hù)端MQTT X CLIMQTT X CLI 是一款全開(kāi)源的、強大而易用的 MQTT 5.0 命令行客戶(hù)端工具,也是命令行上的 MQTT X,旨在幫助開(kāi)發(fā)者無(wú)需使用圖形化界面,也能快速開(kāi)發(fā)和調試 MQTT 服務(wù)與應用。
無(wú)依賴(lài)限制:基于命令行的安裝和使用,無(wú)任何環(huán)境依賴(lài)要求
MQTT 基準測試: 開(kāi)箱即用的 MQTT 性能測試工具
配置文件: 支持為 連接、發(fā)布 和 訂閱 保存為本地配置文件
優(yōu)雅的輸出: 輸出對用戶(hù)友好、易于理解的命令行內容,便于查看測試步驟及內容
MQTT X CLI 可以快速下載并安裝到 macOS、Linux 和 Windows 系統上,安裝前不需要任何的依賴(lài)環(huán)境準備,只需在終端內執行命令,即可安裝和使用 MQTT X CLI。
立即下載試用:https://mqttx.app/zh/cli
快速開(kāi)始訂閱
mqttx sub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883
發(fā)布
mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -m 'hello from MQTTX CLI!'
發(fā)布多條消息
mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -s -M
MQTT X CLI 支持一個(gè) pub 命令可以發(fā)布多條消息的功能,只需要在編輯是在命令中添加一個(gè) -M 參數和 -s 參數,每次輸入完成后換行即可。
性能測試
# Connect Benchmarkmqttx bench conn -c 5000# Subscribe Benchmarkmqttx bench sub -c 5000 -t bench/%i# Publish Benchmarkmqttx bench pub -c 5000 -t bench/%i
NanoMQ 是用于物聯(lián)網(wǎng)邊緣的超輕量級 MQTT 消息服務(wù)器,它同時(shí)也內置了一個(gè)強大的 MQTT 協(xié)議性能測試工具 bench 及 MQTT 測試客戶(hù)端。
特性支持性能測試
支持 MQTT 5.0
可運行在邊緣端
支持從文件讀取數據作為 payload
下載地址:https://nanomq.io/zh/downloads
快速開(kāi)始性能測試工具 bench
# 啟動(dòng) 10 個(gè)連接,每秒向主題 t 發(fā)送 100 條 Qos0 消息,其中每個(gè)消息負載的大小為 16 字節nanomq_cli bench pub -t t -h broker.emqx.io -s 16 -q 0 -c 10 -I 10# 啟動(dòng) 500 個(gè)連接,每個(gè)連接使用 Qos0 訂閱 t 主題nanomq_cli bench sub -t t -h broker.emqx.io -c 500# 啟動(dòng) 100 個(gè)連接nanomq_cli bench conn -h broker.emqx.io -c 100
MQTT 測試客戶(hù)端
# 向主題 t 發(fā)送 100 條 Qos2 消息測試。 nanomq_cli pub -t t -h broker.emqx.io -q 2 -L 100 -m test # 訂閱主題 tnanomq_cli sub -t t -h broker.emqx.io -q 1
Mosquitto 是一個(gè)開(kāi)源(EPL/EDL 許可證)的消息代理,安裝之后默認提供了 mosquitto_pub 和 mosquitto_sub 兩個(gè)命令行 MQTT 客戶(hù)端工具。
Mosquitto CLI 有多個(gè)配置選項,支持 TLS 證書(shū)連接、通過(guò)代理服務(wù)器連接,支持 debug 模式,在 debug 模式下可以獲取更詳細的消息信息。
特性輕量級命令行工具,支持 debug 模式
支持加密及非加密連接至 MQTT 服務(wù)器
便于在遠程服務(wù)器測試
下載地址:https://github.com/eclipse/mosquitto
快速開(kāi)始訂閱
mosquitto_sub -t 'test/topic' -v
發(fā)布
mosquitto_pub -t 'test/topic' -m 'hello world'
2023 年值得嘗試的 7 個(gè) MQTT 客戶(hù)端工具 | EMQ (emqx.com)
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。