溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MQTT客戶端工具有哪些

發(fā)布時(shí)間:2021-12-07 09:29:34 來源:億速云 閱讀:249 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“MQTT客戶端工具有哪些”,在日常操作中,相信很多人在MQTT客戶端工具有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MQTT客戶端工具有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

前言

在學(xué)習(xí)和使用 MQTT 的過程中,一個(gè)得心應(yīng)手的客戶端工具可以極大的方便使用者進(jìn)行 MQTT 特性的探索和功能組件的調(diào)試。來自世界各地的開發(fā)者們圍繞不同操作系統(tǒng)、運(yùn)行平臺(tái),開發(fā)出了許多針對 MQTT 協(xié)議的客戶端測試工具。

這些客戶端工具種類繁多,功能側(cè)重點(diǎn)不盡相同,質(zhì)量層次不齊,因此,對于初學(xué)者乃至 MQTT 專家來說,如何選擇一個(gè)適用的 MQTT 客戶端工具是一個(gè)難題。

MQTT 客戶端工具需要具備的功能特點(diǎn)

MQTT 客戶端工具常用于建立與 MQTT Broker 的連接,進(jìn)行主題訂閱、消息收發(fā)等操作。一個(gè) MQTT 客戶端工具的功能特點(diǎn)可以從以下方面評估:

  • 每個(gè)使用環(huán)節(jié)中工具需要盡可能提供全面的參數(shù)配置能力、使用到 MQTT 的全部特性,以便用戶應(yīng)對任何使用場景、使用方式的模擬測試。這部分特性包括支持客戶端認(rèn)證,支持配置證書及多種加密方式連接,支持 MQTT 連接、發(fā)布、訂閱過程中多項(xiàng)參數(shù)的配置,支持 MQTT 5 等;

  • 在功能全面的基礎(chǔ)上提升用戶的交互便捷性;

  • 提供其他拓展功能,如同時(shí)支持多個(gè)客戶端連接、MQTT 協(xié)議調(diào)試;

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

本文將結(jié)合每個(gè)客戶端工具的特點(diǎn),從以上幾點(diǎn)進(jìn)行測評介紹,參選的客戶端工具如下:

  • Mosquito CLI

  • MQTTX

  • MQTT.fx

  • MQTT Box

  • mqtt-spy

  • MQTT Lens

Mosquito CLI

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

項(xiàng)目地址:Github Mosquitto

下載地址:Mosquitto 官網(wǎng)

Mosquito CLI 有多個(gè)配置選項(xiàng),支持 TLS 證書連接、通過代理服務(wù)器連接,支持 debug 模式,在 debug 模式下可以獲取更詳細(xì)的消息信息。

Mosquito CLI 足夠輕量緊湊且便于安裝,可以以多種連接方式并行的建立多個(gè) MQTT 客戶端,完成消息的發(fā)布/訂閱測試。

它的使用也非常簡便,默認(rèn)使用環(huán)境只需提供少許參數(shù)即可使用:

## 開啟 DEBUG 模式訂閱 testtopic/# 主題
wivwiv-mac:workspace emqtt$ mosquitto_sub -t "testtopic/#" -d
Client mosqsub/66418-wivwiv-ma sending CONNECT
Client mosqsub/66418-wivwiv-ma received CONNACK
Client mosqsub/66418-wivwiv-ma sending SUBSCRIBE (Mid: 1, Topic: testtopic/#, QoS: 0)
Client mosqsub/66418-wivwiv-ma received SUBACK
Subscribed (mid: 1): 0
Client mosqsub/66418-wivwiv-ma received PUBLISH (d0, q0, r0, m0, 'testtopic/1', ... (5 bytes))
Hello

## 發(fā)布一條消息到 testtopic/1 主題
mosquitto_pub -t "testtopic/1" -m "Hello"

有關(guān) Mosquitto 和 Mosquitto CLI 的安裝使用詳見 Mosquitto 官網(wǎng)。

MQTTX

MQTTX 是 EMQ 開發(fā)的跨平臺(tái)可視化 MQTT 客戶端工具,在 Apache License 2.0 協(xié)議下開源。

項(xiàng)目地址:Github MQTTX

下載地址:Github MQTTX Release

MQTTX 具備以下特性:

  • 可以創(chuàng)建任何 MQTT Broker 連接

  • 支持 MQTT/WebSocket 連接和 MQTT/TCP 連接

  • 支持訂閱主題

  • 支持消息的發(fā)送和接收

  • 跨平臺(tái)桌面,支持 Windows、MacOS 和 Linux

MQTTX 是最新推出的產(chǎn)品,采用了 Electron 跨平臺(tái)技術(shù),界面美觀且資源占用較低。MQTTX 在交互上一改常見的單一客戶端模式,按照 Broker 配置來組織客戶端信息,允許在同一份 Broker 配置下保存多個(gè)客戶端信息;以消息聊天的交互形式收發(fā)消息,允許同時(shí)建立多個(gè)客戶端連接并自由切換互相通信,有較好的交互性,大大提高了交互調(diào)試的效率。

MQTT客戶端工具有哪些

截止目前 MQTTX 發(fā)布了 v1.1.1 版本,后續(xù)更多功能還在開發(fā)中讓我們拭目以待。

MQTT.fx

MQTT.fx 是 Jens Deters 個(gè)人開發(fā)的、目前主流的 MQTT 客戶端,可以快速驗(yàn)證是否可以與 IoT Hub 服務(wù)交互發(fā)布或訂閱消息,MQTT.fx 適用 Apache License 2.0 協(xié)議但并未提供源碼。

項(xiàng)目地址:未提供源碼

下載地址:MQTT.FX

MQTT fx 具備以下特性:

  • 預(yù)定義消息模板

  • 通過系統(tǒng)主題 $SYS 獲取 Broker 狀態(tài)(支持 HiveMQ 和 Mosquitto)

  • 記憶最近使用主題的

  • 通過 Nashorn Engine ,支持 JavaScript 腳本

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

  • 跨平臺(tái)桌面,支持 Windows、MacOS 和 Linux

MQTT.fx 是一個(gè)老牌的 MQTT 客戶端工具,Azure IoT Hub、AWS IoT、阿里云 IoT 等云服務(wù)提供商相關(guān)產(chǎn)品文檔教程均以 MQTT.fx 為例。MQTT.fx 使用 JavaFX 技術(shù)開發(fā),由于 Java 虛擬機(jī)的關(guān)系可能在某些老舊機(jī)器上會(huì)有卡頓的體驗(yàn)。

基礎(chǔ)功能上 MQTT .fx 可以保存多個(gè)連接配置,支持多種類型 TCL 加密方式,指定多種類型的證書。創(chuàng)建連接時(shí)可以指定使用 HTTP 代理服務(wù)器,連接成功后整個(gè)發(fā)布、訂閱功能使用相對來說比較合理流暢,Topics Collector 功能可以發(fā)現(xiàn)通過其他方式如 Broker 端代理訂閱訂閱的主題是一個(gè)功能亮點(diǎn)。MQTT.fx 還支持 Google Cloud Iot 的連接測試。

高級功能中 MQTT.fx 有最大的亮點(diǎn)支持執(zhí)行 JavaScript 功能腳本,借助 Nashorn Engine 用戶編寫的 JavaScript 代碼可以訪問 Java 方法與字段實(shí)現(xiàn)功能擴(kuò)展,熟悉 MQTT.fx 相關(guān) API 后用戶可以編寫出適應(yīng)業(yè)務(wù)的測試腳本,模擬傳感器上報(bào)數(shù)據(jù),甚至是性能測試工具等更多強(qiáng)大的功能。

如果您使用的是 HiveMQ 或者 Mosquitto Broker,MQTT.fx 提供專門的一個(gè)選項(xiàng)卡,通過訂閱這兩者的系統(tǒng)主題(用于發(fā)布 Broker 運(yùn)行信息的主題)實(shí)現(xiàn) Broker 狀態(tài)可視化查看,可即時(shí)獲取到 Broker 的版本、時(shí)間等系統(tǒng)信息和客戶端數(shù)量、消息數(shù)量網(wǎng)絡(luò)流量和負(fù)載狀況等運(yùn)行信息。

總的來說 MQTT.fx 有豐富且成熟的功能,支持了 TCP 連接中所有可能遇到的配置項(xiàng),除了交互性略差,用戶同一時(shí)間只能建立一個(gè)連接,不能滿足同時(shí)使用多個(gè)測試連接的需求。另外它沒有實(shí)現(xiàn)對 WebSocket 的支持,在 MQTT over WebSockets 的測試場景中無法使用。

MQTT客戶端工具有哪些

MQTT Box

MQTT Box 是 Sathya Vikram 個(gè)人開發(fā)的 MQTT 客戶端工具,最初僅在 Chrome 上使用,作為瀏覽器拓展安裝使用, 后經(jīng)重寫開源成為桌面端跨平臺(tái)獨(dú)立軟件。

項(xiàng)目地址:GitHub MQTTBox

下載地址:http://workswithweb.com/mqttbox.html

MQTT Box 具備以下特性:

  • 通過支持 Chrome OS,Linux,Mac OS,Windows 的 Chrome 存儲(chǔ)易于安裝,支持 Linux、Mac OS、Windows 獨(dú)立安裝

  • 支持 MQTT、MQTT over WebSocket,多種 TCP 加密方式的連接

  • 保存發(fā)送的歷史記錄

  • 復(fù)制/粘貼歷史記錄中的消息

  • 保存訂閱消息歷史記錄

  • 簡單的性能測試,對 Broker 的負(fù)載做出測試并通過圖表可視化查看測試結(jié)果

MQTT Box 同樣采用了 Electron 跨平臺(tái)技術(shù),界面簡單直接,支持多個(gè)客戶端同時(shí)在線,但客戶端之間的切換、互發(fā)消息等交互還是有一定不便。MQTT Box 借助 Chrome 有很強(qiáng)大的跨平臺(tái)特性,結(jié)合簡單的負(fù)載測試功能,是一款值得嘗試的 MQTT 客戶端工具。

MQTT客戶端工具有哪些

mqtt-spy

mqtt-spy 是 Eclipse Paho 和 Eclipse IoT 的一部分,它通過直接啟動(dòng) JAR 文件在 Java 8 和 JavaFX 之上運(yùn)行,mqtt-spy 有一種很好的交互方式來展現(xiàn)基本的 MQTT發(fā)布/訂閱機(jī)制。

項(xiàng)目地址:GitHub mqtt-spy

下載地址:https://github.com/eclipse/paho.mqtt-spy/releases

mqtt-spy 具備以下特性:

  • 支持 MQTT 和 MQTT over WebSocket

  • 交互方便,可以同時(shí)發(fā)布和訂閱,在不同選項(xiàng)卡連接多個(gè) Broker

  • 可以關(guān)閉 pub/sub窗口的不同區(qū)域(發(fā)布,新訂閱,訂閱和消息),以便為當(dāng)前使用的空間騰出空間

  • 搜索功能允許查找常用 MQTT 消息,支持將發(fā)布/訂閱消息輸出到標(biāo)準(zhǔn)輸出或記錄到文件中以供后續(xù)分析

mqtt-spy 沒有提供獨(dú)立的安裝包,使用前需要用戶自行安裝 Java 運(yùn)行環(huán)境。但是啟動(dòng)后 mqtt-spy 擁有友好的上手體驗(yàn),啟動(dòng)引導(dǎo)功能讓人眼前一亮,MQTT 新手可以輕松的使用 mqtt-spy 連接到公共 MQTT Broker 進(jìn)行探索。mqtt-spy 的功能界面略顯復(fù)雜,但熟悉每個(gè)部件的功能后它將成為開發(fā)調(diào)試?yán)鳌_€有有一點(diǎn)不得不提的是 mqtt-spy 的性能和穩(wěn)定性有所欠缺,也有可能是筆者使用的版本為最新 Beta 版,連接多個(gè) Broker 后頻頻出現(xiàn)卡頓和假死。

MQTT客戶端工具有哪些

MQTT客戶端工具有哪些

MQTT Lens

MQTT Lens 是有一個(gè) Chrome 拓展工具,可以通過 Chrome 網(wǎng)上應(yīng)用商店安裝。MQTT Lens 界面非常簡潔,提供基礎(chǔ)的發(fā)布訂閱功能。

下載地址:Chrome Web Store

MQTT Lens 具備以下特性:

  • 同時(shí)接受與多個(gè)經(jīng)紀(jì)人的連接,采用不同顏色關(guān)聯(lián)

  • 訂閱,發(fā)布和查看所有收到的消息的界面非常簡單且易于掌握

  • 支持 MQTT 和 MQTT over WebSocket

MQTT Lens 足夠簡單,但是提供了基礎(chǔ)的 MQTT 和 MQTT over WebSocket 連接功能,可以快速滿足入門探索使用。

到此,關(guān)于“MQTT客戶端工具有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI