博客專(zhuān)欄

        EEPW首頁(yè) > 博客 > 2023 年值得嘗試的 7 個(gè) MQTT 客戶(hù)端工具

        2023 年值得嘗試的 7 個(gè) MQTT 客戶(hù)端工具

        發(fā)布人:電子禪石 時(shí)間:2023-02-12 來(lái)源:工程師 發(fā)布文章

        隨著物聯(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í)在線;

        • 跨平臺(tái),不同操作系統(tǒng)下都可以使用;

        • 支持 MQTT over WebSocket;

        • 進(jìn)階功能:支持自定義腳本、日志記錄、 MQTT Payload 格式轉(zhuǎn)換等。

        MQTT 桌面客戶(hù)端MQTT X

        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ù)端。

        MQTT X

        特性
        • 跨平臺(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

        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í)在線。

        MQTT Explorer

        特性
        • 可視化 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.fx

        MQTT.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è)連接,不能滿足同時(shí)使用多個(gè)測(cè)試連接的需求。另外它沒(méi)有實(shí)現(xiàn)對(duì) WebSocket 的支持,在 MQTT over WebSocket 的測(cè)試場(chǎng)景中無(wú)法使用。

        MQTT.fx

        特性
        • 預(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 在線客戶(hù)端MQTT X Web

        MQTT X Web 是一款開(kāi)源的 MQTT 5.0 瀏覽器客戶(hù)端,也是一個(gè)在線 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 CLI

        MQTT 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)用。

        MQTT CLI

        特性
        • 無(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

        MQTT CLI

        NanoMQ CLI

        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 CLI

        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)系工作人員刪除。



        關(guān)鍵詞: mqtt

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 凤山县| 怀柔区| 乌拉特中旗| 乃东县| 墨玉县| 开阳县| 太康县| 象州县| 客服| 邓州市| 嵩明县| 务川| 陇南市| 北京市| 凉山| 盐池县| 吕梁市| 平安县| 治多县| 武隆县| 汶川县| 蛟河市| 阿鲁科尔沁旗| 扎囊县| 平和县| 建瓯市| 西乌| 长泰县| 临夏县| 洪泽县| 乐山市| 玉屏| 连云港市| 措美县| 昌吉市| 瓦房店市| 凤台县| 乐安县| 万山特区| 格尔木市| 本溪|