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