博客專欄

        EEPW首頁 > 博客 > 2023 年值得嘗試的 7 個 MQTT 客戶端工具

        2023 年值得嘗試的 7 個 MQTT 客戶端工具

        發布人:電子禪石 時間:2023-02-12 來源:工程師 發布文章

        隨著物聯網行業的飛速發展,MQTT 協議也被越來越多的公司及開發者所使用。在學習和使用 MQTT 的過程中,一個得心應手的客戶端工具可以極大的方便開發者進行 MQTT 特性的探索及物聯網應用的調試,縮短開發周期。

        目前 MQTT 客戶端工具種類繁多,功能側重點也不盡相同。對于初學者乃至 MQTT 專家來說,如何選擇一個合適的 MQTT 客戶端工具是一個難題。

        我們根據自身的使用經驗,對目前市面上常見的客戶端工具進行了篩選和整理,選擇了截至 2023 年最新、最實用的 7 個 MQTT 客戶端工具,并按桌面端、瀏覽器端、命令行分類列出。希望本文可以幫助 MQTT 開發者快速找到一個合適的客戶端工具,開展 MQTT 連接測試。

        如何選擇一個 MQTT 客戶端?

        MQTT 客戶端工具常用于建立與 MQTT 服務器 的連接,進行主題訂閱、消息收發等操作。一個優秀的 MQTT 客戶端工具應該具備如下特性:

        • 支持加密連接;

        • 支持 MQTT 5 特性;

        • 在功能全面的基礎上保持易用性;

        • 支持多個客戶端同時在線;

        • 跨平臺,不同操作系統下都可以使用;

        • 支持 MQTT over WebSocket;

        • 進階功能:支持自定義腳本、日志記錄、 MQTT Payload 格式轉換等。

        MQTT 桌面客戶端MQTT X

        MQTT X 是 EMQ 開源的一款跨平臺 MQTT 5.0 客戶端工具,它支持 macOS, Linux, Windows,并且支持 MQTT 消息格式轉換。

        MQTT X 的用戶界面借助聊天軟件的形式簡化了頁面的操作邏輯,用戶可以快速創建連接保存并同時建立多個連接客戶端,方便用戶快速測試 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 的 連接/發布/訂閱 功能及其他特性。

        MQTT X 致力于打造優雅、易用的全平臺 MQTT 客戶端,并在最近發布了 MQTT X CLI 及 MQTT X Web 兩個版本,目前在 GitHub Star 數已達到 2K,已成為使用場景最完整的 MQTT 測試客戶端。

        MQTT X

        特性
        • 跨平臺,支持 Windows,macOS 和 Linux

        • 支持 MQTT v3.1.1 以及 MQTT v5.0 協議

        • 單/雙向 SSL 認證:支持 CA、自簽名證書,以及單、雙向 SSL 認證

        • 支持 Light、Dark、Night 三種主題模式切換

        • 支持 WebSocket 連接至 MQTT 服務器

        • 支持 Hex, Base64, JSON, Plaintext

        • 支持簡體中文、英文、日文、土耳其文及匈牙利文

        • 訂閱 Topic 支持自定義顏色標記

        • 支持 $SYS 主題自動訂閱,查看流量統計

        • 自定義編輯腳本測試和模擬收發數據

        • 完整的日志記錄

        下載
        • 官網下載:https://mqttx.app/zh

        • GitHub 下載:https://github.com/emqx/MQTTX/releases

        MQTT Explorer

        MQTT Explorer 是一個全面的 MQTT 客戶端,它的一大亮點是提供了 MQTT 主題的結構化展示及動態預覽。

        MQTT Explorer 還支持對接收到的 payload 消息進行差異對比及可視化圖表展示。與 MQTT.fx 相似,MQTT Explorer 只能創建一個單一的客戶端連接,不能多個客戶端同時在線。

        MQTT Explorer

        特性
        • 可視化 Topics 和 Topic 變化的動態預覽

        • 刪除保留的 Topics

        • 搜索/過濾 Topics

        • 遞歸刪除 Topics

        • 當前和以前收到的消息的差異視圖

        • 發布 Toipcs

        • 繪制數字 Topics

        • 保留每個 Topic 的歷史記錄

        • Dark/Light 主題

        下載

        下載地址:https://github.com/thomasnordquist/MQTT-Explorer/releases

        MQTT.fx

        MQTT.fx 是由 Jens Deters 個人開發的,MQTT.fx 適用 Apache License 2.0 協議但并未提供源碼。遺憾的是 MQTT.fx ?前已經停?維護,并轉為由 Softblade 公司資助開發另發?了其商業版本 MQTT.fx? 5.0,采?收費許可證?式經營該軟件。

        MQTT.fx 使用 JavaFX 技術開發,可以保存多個連接配置,支持多種類型的加密方式,指定多種類型的證書,創建連接時可以指定使用 HTTP 代理服務器。

        總的來說 MQTT.fx 有豐富且成熟的功能,支持了 TCP 連接中所有可能遇到的配置項,但是用戶同一時間只能建立一個連接,不能滿足同時使用多個測試連接的需求。另外它沒有實現對 WebSocket 的支持,在 MQTT over WebSocket 的測試場景中無法使用。

        MQTT.fx

        特性
        • 預定義消息模板

        • 通過系統主題 $SYS 獲取 broker 狀態

        • 記憶最近使用主題的

        • 通過 Nashorn Engine ,支持 JavaScript 腳本

        • 支持日志顯示,顯示連接中的日志信息

        • 跨平臺桌面,支持 Windows、MacOS 和 Linux

        下載

        下載地址:https://www.jensd.de/wordpress/?p=2746

        MQTT 在線客戶端MQTT X Web

        MQTT X Web 是一款開源的 MQTT 5.0 瀏覽器客戶端,也是一個在線 MQTT WebSocket 客戶端工具。開發者無需在本地下載和安裝 MQTT X,即可使用 WebSocket 在瀏覽器中快速連接到 MQTT 服務器,更快地開發和調試 MQTT 服務和應用。

        立即體驗:http://www.emqx.io/online-mqtt-client

        更多詳情,請查看 GitHub 倉庫:https://github.com/emqx/MQTTX/tree/main/web

        MQTT 命令行客戶端MQTT X CLI

        MQTT X CLI 是一款全開源的、強大而易用的 MQTT 5.0 命令行客戶端工具,也是命令行上的 MQTT X,旨在幫助開發者無需使用圖形化界面,也能快速開發和調試 MQTT 服務與應用。

        MQTT CLI

        特性
        • 無依賴限制:基于命令行的安裝和使用,無任何環境依賴要求

        • MQTT 基準測試: 開箱即用的 MQTT 性能測試工具

        • 配置文件: 支持為 連接、發布 和 訂閱 保存為本地配置文件

        • 優雅的輸出: 輸出對用戶友好、易于理解的命令行內容,便于查看測試步驟及內容

        下載

        MQTT X CLI 可以快速下載并安裝到 macOS、Linux 和 Windows 系統上,安裝前不需要任何的依賴環境準備,只需在終端內執行命令,即可安裝和使用 MQTT X CLI。

        立即下載試用:https://mqttx.app/zh/cli

        快速開始

        訂閱

        mqttx sub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883

        發布

        mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -m 'hello from MQTTX CLI!'

        發布多條消息

        mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -s -M

        MQTT X CLI 支持一個 pub 命令可以發布多條消息的功能,只需要在編輯是在命令中添加一個 -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

        MQTT CLI

        NanoMQ CLI

        NanoMQ 是用于物聯網邊緣的超輕量級 MQTT 消息服務器,它同時也內置了一個強大的 MQTT 協議性能測試工具 bench 及 MQTT 測試客戶端。

        特性
        • 支持性能測試

        • 支持 MQTT 5.0

        • 可運行在邊緣端

        • 支持從文件讀取數據作為 payload

        下載

        下載地址:https://nanomq.io/zh/downloads

        快速開始

        性能測試工具 bench

        # 啟動 10 個連接,每秒向主題 t 發送 100 條 Qos0 消息,其中每個消息負載的大小為 16 字節nanomq_cli bench pub -t t -h broker.emqx.io -s 16 -q 0 -c 10 -I 10# 啟動 500 個連接,每個連接使用 Qos0 訂閱 t 主題nanomq_cli bench sub -t t -h broker.emqx.io -c 500# 啟動 100 個連接nanomq_cli bench conn -h broker.emqx.io -c 100

        MQTT 測試客戶端

        # 向主題 t 發送 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 CLI

        Mosquitto 是一個開源(EPL/EDL 許可證)的消息代理,安裝之后默認提供了 mosquitto_pub 和 mosquitto_sub 兩個命令行 MQTT 客戶端工具。

        Mosquitto CLI 有多個配置選項,支持 TLS 證書連接、通過代理服務器連接,支持 debug 模式,在 debug 模式下可以獲取更詳細的消息信息。

        特性
        • 輕量級命令行工具,支持 debug 模式

        • 支持加密及非加密連接至 MQTT 服務器

        • 便于在遠程服務器測試

        下載

        下載地址:https://github.com/eclipse/mosquitto

        快速開始

        訂閱

        mosquitto_sub -t 'test/topic' -v

        發布

        mosquitto_pub -t 'test/topic' -m 'hello world'

        2023 年值得嘗試的 7 個 MQTT 客戶端工具 | EMQ (emqx.com)

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: mqtt

        技術專區

        關閉
        主站蜘蛛池模板: 东乡| 上犹县| 红河县| 象州县| 神木县| 萨迦县| 栖霞市| 汉阴县| 宁河县| 普宁市| 梁河县| 阿拉尔市| 鲁甸县| 滨海县| 文登市| 泸水县| 万盛区| 龙山县| 星子县| 保康县| 合肥市| 响水县| 霍林郭勒市| 嘉峪关市| 涿鹿县| 镇原县| 宁陕县| 民县| 西乌| 乐平市| 青龙| 当涂县| 兴宁市| 交口县| 湖北省| 五家渠市| 香河县| 漳浦县| 松溪县| 蒙阴县| 蕲春县|