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