隨著物聯(lián)網(wǎng)(IoT)的快速發(fā)展,MQTT協(xié)議被許多公司和開發(fā)人員廣泛使用。在學(xué)習(xí)和使用 MQTT 的過程中,MQTT 客戶端工具用于連接 MQTT 代理進(jìn)行發(fā)布、訂閱和消息發(fā)送和接收。
一個方便的客戶端工具可以極大地方便開發(fā)者探索 MQTT 特性和調(diào)試物聯(lián)網(wǎng)應(yīng)用,縮短開發(fā)周期。鑒于 MQTT 客戶端工具種類繁多,功能重點不同,選擇合適的 MQTT 客戶端工具對于初學(xué)者甚至 MQTT 專業(yè)人士來說尤為重要。
我們選取了7個 MQTT 客戶端工具,并按桌面、瀏覽器、命令行和移動端類別列出它們。希望能幫助您快速找到適合 MQTT 開發(fā)的客戶端工具。
如何選擇 MQTT 客戶端
一個好的 MQTT 客戶端工具應(yīng)該具備以下關(guān)鍵功能。
支持單向和雙向 SSL 身份驗證。
支持 MQTT 5 功能。
在全功能的基礎(chǔ)上保持易用性。
支持多個客戶端同時在線。
跨平臺,可在不同的操作系統(tǒng)下使用。
支持 MQTT over WebSocket。
高級功能:自定義腳本、日志記錄、有效負(fù)載格式轉(zhuǎn)換等。
MQTT 桌面客戶端工具
MQTTX
MQTTX 是一個跨平臺 MQTT 5.0 桌面客戶端,可在 macOS、Linux 和 Windows 上運(yùn)行。其用戶友好的聊天式界面使用戶能夠輕松創(chuàng)建多個 MQTT/MQTTS 連接并訂閱/發(fā)布 MQTT 消息。
MQTTX 完全支持 MQTT 版本 5.0 和 3.1.1、基于 TLS 的 MQTT、基于 WebSocket 的 MQTT 以及單向和雙向 SSL 身份驗證。除了這些基本功能之外,MQTTX 還提供高級功能,例如用于 MQTT 發(fā)布/訂閱模擬的可自定義腳本以及對十六進(jìn)制、Base64 和 JSON 有效負(fù)載等編解碼器的支持。
MQTTX 是一個與 Electron 一起開發(fā)并由 EMQX 團(tuán)隊維護(hù)的開源項目。
GitHub 項目:https://github.com/emqx/mqttx
此圖像來源于網(wǎng)絡(luò)素材,如有侵權(quán)聯(lián)系刪除
特征
用戶友好且易于使用的用戶體驗設(shè)計
用于發(fā)送/接收 MQTT 消息的聊天框
完全支持 MQTT 版本 5.0 和 3.1.1
支持 MQTT over TLS 和 MQTT over WebSocket
支持單向和雙向 SSL 身份驗證
十六進(jìn)制、Base64、JSON 和明文有效負(fù)載編解碼器
針對不同 MQTT 訂閱的自定義顏色
MQTT 發(fā)布/訂閱場景模擬的自定義腳本
跨平臺,在 Windows、macOS 和 Linux 上運(yùn)行
安裝方法
命令行安裝:
brew install --cask mqttx
下載地址
https://mqttx.app/
MQTT 瀏覽器
MQTT 資源管理器是一個開源的 MQTT 客戶端工具,它提供了一個易于使用的圖形用戶界面 (GUI) 和結(jié)構(gòu)化的主題概述。它采用分層主視圖,并支持接收到的有效負(fù)載消息的可視化圖表顯示。
MQTT 資源管理器支持 MQTT 5.0 和 3.1.1 協(xié)議,允許開發(fā)者同時創(chuàng)建一個 MQTT/MQTTS 連接。
MQTT Explorer是用Typescript編寫的,由Thomas Nordquist開發(fā)。它是跨平臺的,可以在Windows,macOS和Linux上運(yùn)行。
GitHub:
https://github.com/thomasnordquist/MQTT-Explorer
此圖像來源于網(wǎng)絡(luò)素材,如有侵權(quán)聯(lián)系刪除
特征
可視化主題和主題更改的動態(tài)預(yù)覽
刪除保留的主題
搜索/篩選主題
遞歸刪除主題
當(dāng)前和以前收到的消息的差異視圖
發(fā)布主題
繪制數(shù)字主題
保留每個主題的歷史記錄
深色/淺色主題
下載
http://mqtt-explorer.com/
MQTT 在線客戶端工具
MQTTXWeb
MQTTX Web 是一個用戶友好的、基于瀏覽器的工具,用于在線調(diào)試、開發(fā)和測試 MQTT 應(yīng)用程序。它通過 WebSocket 客戶端連接到 MQTT 代理,并提供直觀的界面。
MQTTX Web 由 EMQX 團(tuán)隊開發(fā),是一款支持 MQTT 3.1.1 和 MQTT 5.0 協(xié)議以及 WebSocket 傳輸?shù)拈_源工具。它是在Apache版本2.0下授權(quán)的。
GitHub 項目:
https://github.com/emqx/MQTTX/tree/main/web
立即嘗試:
http://www.emqx.io/online-mqtt-client
此外,MQTTX Web 支持使用 Docker 進(jìn)行私有部署,這在只有瀏覽器可用或在受限的內(nèi)聯(lián)網(wǎng)環(huán)境中進(jìn)行測試時非常有用。從 Docker 映像部署:
docker pull emqx/mqttx-web docker run -d --name mqttx-web -p 80:80 emqx/mqttx-web
此圖像來源于網(wǎng)絡(luò)素材,如有侵權(quán)聯(lián)系刪除
MQTT.Cool Test Client
MQTT.Cool Test Client是一個非常簡單和線性的GUI(基于MQTT。MQTT.Cool API),通過它可以測試 MQTT 之間的交互。Cool服務(wù)器和 MQTT 代理。它支持在瀏覽器中通過 MQTT TCP 連接到代理。
立即嘗試:
https://testclient-cloud.mqtt.cool/
MQTT 命令行界面工具
MQTTX CLI
MQTTX CLI 是一個輕量級且易于使用的 MQTT 5.0 命令行工具。具有用于 MQTT 發(fā)布、訂閱、基準(zhǔn)測試和物聯(lián)網(wǎng)數(shù)據(jù)模擬的各種命令,是 MQTT 開發(fā)最強(qiáng)大的工具之一。
MQTTX CLI 是一個用 Node 編寫的開源項目.js由 EMQX 團(tuán)隊開發(fā)。它是跨平臺的,可以在Windows,macOS和Linux上運(yùn)行。
GitHub 項目:https://github.com/emqx/MQTTX/tree/main/cli
此圖像來源于網(wǎng)絡(luò)素材,如有侵權(quán)聯(lián)系刪除
特征
完全支持 MQTT v3.1.1 和 MQTT v5.0
與 Windows、MacOS 和 Linux 的跨平臺兼容性
無依賴性設(shè)置,無需先決條件即可快速安裝
支持 CA、自簽名證書以及單向和雙向 SSL 身份驗證
用于快速評估 MQTT 服務(wù)性能的性能測試功能。
安裝
MQTTX CLI 與 Windows、macOS 和 Linux 兼容。有關(guān)其他安裝選項,請參閱文檔。
Docker安裝
docker pull emqx/mqttx-cli docker run -it --rm emqx/mqttx-cli
命令安裝
brew install emqx/mqttx/mqttx-cli
下載地址
https://mqttx.app/cli
使用示例
連接
測試連接到 MQTT 代理:
mqttx conn -h 'broker.emqx.io' -p 1883 -u 'test' -P 'test'
訂閱
訂閱 MQTT 主題:
mqttx sub -t 'topic/#' -h 'broker.emqx.io' -p 1883
發(fā)布
將 QoS1 消息發(fā)布到 MQTT 主題:
mqttx pub -t 'topic' -q 1 -h 'broker.emqx.io' -p 1883 -m 'Hello from MQTTX CLI'
發(fā)布多消息
MQTTX CLI 還支持發(fā)布多條消息。將 -M 參數(shù)和 -s 參數(shù)添加到編輯器中的命令中,并在每個條目后換行。
此圖像來源于網(wǎng)絡(luò)素材,如有侵權(quán)聯(lián)系刪除
Bench命令
對于 MQTTX CLI,該命令的內(nèi)容輸出易于使用且簡潔明了。對于大量連接、訂閱和發(fā)布,通過動態(tài)更新實時數(shù)字來優(yōu)化顯示方式,避免在使用過程中被大量輸出日志淹沒。
此圖像來源于網(wǎng)絡(luò)素材,如有侵權(quán)聯(lián)系刪除
MosquittoCLI
Mosquitto是一個廣泛使用的開源MQTT代理,具有流行的命令行客戶端。這些 CLI 工具提供了廣泛的選項來連接、訂閱和發(fā)布消息到 MQTT 代理。mosquitto_pubmosquitto_sub
Mosquitto項目是用C/C++編寫的,由Eclipse基金會維護(hù)。Mosquitto具有高度的可移植性,可以部署在各種平臺上,包括Linux,Mac,Windows和Raspberry Pi。
GitHub 項目:
https://github.com/eclipse/mosquitto
特征
輕巧且易于使用
支持 MQTT v3.1.1 和 v5.0 協(xié)議
廣泛的命令行參數(shù)
支持 SSL/TLS 加密/身份驗證
MQTT v5.0 請求/響應(yīng)功能
安裝
Docker
docker pull eclipse-mosquitto
自行安裝
brew install mosquitto
下載地址
https://mosquitto.org/download/
使用示例
發(fā)布
將 QoS1 消息發(fā)布到 MQTT 主題:
mosquitto_pub -t 'topic' -q 1 -h 'broker.emqx.io' -p 1883 -m 'Hello from Mosquitto CLI'
訂閱
訂閱 MQTT 主題:
mosquitto_sub -t 'topic/#' -h 'broker.emqx.io' -p 1883
請求/響應(yīng)
mosquitto_rr -t 'req-topic' -e 'rep-topic' -m 'request message' -h 'broker.emqx.io' mosquitto_pub -t 'rep-topic' -m 'response message' -h 'broker.emqx.io'
MQTT 移動客戶端工具
EasyMQTT
EasyMQTT是適用于iPhone,iPad和macOS的MQTT客戶端,允許您與任何MQTT代理進(jìn)行交互。使用它來管理您的設(shè)置,控制諸如Zigbee2MQTT之類的東西或監(jiān)視遠(yuǎn)程代理。它具有簡單,用戶友好的界面,支持淺色和深色模式。
此圖像來源于網(wǎng)絡(luò)素材,如有侵權(quán)聯(lián)系刪除
寫在最后
MQTT 客戶端工具種類繁多,具有不同的功能,選擇合適的 MQTT 客戶端工具對于初學(xué)者甚至 MQTT 技術(shù)專家來說都是具有挑戰(zhàn)性,通過本期的解讀希望給開發(fā)者帶來更多的選擇!
審核編輯:湯梓紅
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44635瀏覽量
373366 -
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209499 -
WINDOWS
+關(guān)注
關(guān)注
3文章
3545瀏覽量
88694 -
客戶端
+關(guān)注
關(guān)注
1文章
290瀏覽量
16687 -
MQTT
+關(guān)注
關(guān)注
5文章
651瀏覽量
22505
原文標(biāo)題:#技術(shù)科普 | 盤點2023年值得嘗試的MQTT客戶端工具
文章出處:【微信號:ChaiHuoMakerSpace,微信公眾號:柴火創(chuàng)客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論