您好,登錄后才能下訂單哦!
這篇文章主要介紹“MQTT客戶端工具有哪些”,在日常操作中,相信很多人在MQTT客戶端工具有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MQTT客戶端工具有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在學習和使用 MQTT 的過程中,一個得心應手的客戶端工具可以極大的方便使用者進行 MQTT 特性的探索和功能組件的調試。來自世界各地的開發者們圍繞不同操作系統、運行平臺,開發出了許多針對 MQTT 協議的客戶端測試工具。
這些客戶端工具種類繁多,功能側重點不盡相同,質量層次不齊,因此,對于初學者乃至 MQTT 專家來說,如何選擇一個適用的 MQTT 客戶端工具是一個難題。
MQTT 客戶端工具常用于建立與 MQTT Broker 的連接,進行主題訂閱、消息收發等操作。一個 MQTT 客戶端工具的功能特點可以從以下方面評估:
每個使用環節中工具需要盡可能提供全面的參數配置能力、使用到 MQTT 的全部特性,以便用戶應對任何使用場景、使用方式的模擬測試。這部分特性包括支持客戶端認證,支持配置證書及多種加密方式連接,支持 MQTT 連接、發布、訂閱過程中多項參數的配置,支持 MQTT 5 等;
在功能全面的基礎上提升用戶的交互便捷性;
提供其他拓展功能,如同時支持多個客戶端連接、MQTT 協議調試;
跨平臺,不同操作系統下都可以使用
本文將結合每個客戶端工具的特點,從以上幾點進行測評介紹,參選的客戶端工具如下:
Mosquito CLI
MQTTX
MQTT.fx
MQTT Box
mqtt-spy
MQTT Lens
Mosquitto 是一個開源(EPL/EDL 許可證)的消息代理,Mosquitto 安裝之后默認提供了 mosquitto_pub 和 mosquitto_sub 兩個命令行 MQTT 客戶端工具。
項目地址:Github Mosquitto
下載地址:Mosquitto 官網
Mosquito CLI 有多個配置選項,支持 TLS 證書連接、通過代理服務器連接,支持 debug 模式,在 debug 模式下可以獲取更詳細的消息信息。
Mosquito CLI 足夠輕量緊湊且便于安裝,可以以多種連接方式并行的建立多個 MQTT 客戶端,完成消息的發布/訂閱測試。
它的使用也非常簡便,默認使用環境只需提供少許參數即可使用:
## 開啟 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 ## 發布一條消息到 testtopic/1 主題 mosquitto_pub -t "testtopic/1" -m "Hello"
有關 Mosquitto 和 Mosquitto CLI 的安裝使用詳見 Mosquitto 官網。
MQTTX 是 EMQ 開發的跨平臺可視化 MQTT 客戶端工具,在 Apache License 2.0 協議下開源。
項目地址:Github MQTTX
下載地址:Github MQTTX Release
MQTTX 具備以下特性:
可以創建任何 MQTT Broker 連接
支持 MQTT/WebSocket 連接和 MQTT/TCP 連接
支持訂閱主題
支持消息的發送和接收
跨平臺桌面,支持 Windows、MacOS 和 Linux
MQTTX 是最新推出的產品,采用了 Electron 跨平臺技術,界面美觀且資源占用較低。MQTTX 在交互上一改常見的單一客戶端模式,按照 Broker 配置來組織客戶端信息,允許在同一份 Broker 配置下保存多個客戶端信息;以消息聊天的交互形式收發消息,允許同時建立多個客戶端連接并自由切換互相通信,有較好的交互性,大大提高了交互調試的效率。
截止目前 MQTTX 發布了 v1.1.1 版本,后續更多功能還在開發中讓我們拭目以待。
MQTT.fx 是 Jens Deters 個人開發的、目前主流的 MQTT 客戶端,可以快速驗證是否可以與 IoT Hub 服務交互發布或訂閱消息,MQTT.fx 適用 Apache License 2.0 協議但并未提供源碼。
項目地址:未提供源碼
下載地址:MQTT.FX
MQTT fx 具備以下特性:
預定義消息模板
通過系統主題 $SYS
獲取 Broker 狀態(支持 HiveMQ 和 Mosquitto)
記憶最近使用主題的
通過 Nashorn Engine ,支持 JavaScript 腳本
支持日志顯示,顯示連接中的日志信息
跨平臺桌面,支持 Windows、MacOS 和 Linux
MQTT.fx 是一個老牌的 MQTT 客戶端工具,Azure IoT Hub、AWS IoT、阿里云 IoT 等云服務提供商相關產品文檔教程均以 MQTT.fx 為例。MQTT.fx 使用 JavaFX 技術開發,由于 Java 虛擬機的關系可能在某些老舊機器上會有卡頓的體驗。
基礎功能上 MQTT .fx 可以保存多個連接配置,支持多種類型 TCL 加密方式,指定多種類型的證書。創建連接時可以指定使用 HTTP 代理服務器,連接成功后整個發布、訂閱功能使用相對來說比較合理流暢,Topics Collector
功能可以發現通過其他方式如 Broker 端代理訂閱訂閱的主題是一個功能亮點。MQTT.fx 還支持 Google Cloud Iot 的連接測試。
高級功能中 MQTT.fx 有最大的亮點支持執行 JavaScript 功能腳本,借助 Nashorn Engine 用戶編寫的 JavaScript 代碼可以訪問 Java 方法與字段實現功能擴展,熟悉 MQTT.fx 相關 API 后用戶可以編寫出適應業務的測試腳本,模擬傳感器上報數據,甚至是性能測試工具等更多強大的功能。
如果您使用的是 HiveMQ 或者 Mosquitto Broker,MQTT.fx 提供專門的一個選項卡,通過訂閱這兩者的系統主題(用于發布 Broker 運行信息的主題)實現 Broker 狀態可視化查看,可即時獲取到 Broker 的版本、時間等系統信息和客戶端數量、消息數量網絡流量和負載狀況等運行信息。
總的來說 MQTT.fx 有豐富且成熟的功能,支持了 TCP 連接中所有可能遇到的配置項,除了交互性略差,用戶同一時間只能建立一個連接,不能滿足同時使用多個測試連接的需求。另外它沒有實現對 WebSocket 的支持,在 MQTT over WebSockets 的測試場景中無法使用。
MQTT Box 是 Sathya Vikram 個人開發的 MQTT 客戶端工具,最初僅在 Chrome 上使用,作為瀏覽器拓展安裝使用, 后經重寫開源成為桌面端跨平臺獨立軟件。
項目地址:GitHub MQTTBox
下載地址:http://workswithweb.com/mqttbox.html
MQTT Box 具備以下特性:
通過支持 Chrome OS,Linux,Mac OS,Windows 的 Chrome 存儲易于安裝,支持 Linux、Mac OS、Windows 獨立安裝
支持 MQTT、MQTT over WebSocket,多種 TCP 加密方式的連接
保存發送的歷史記錄
復制/粘貼歷史記錄中的消息
保存訂閱消息歷史記錄
簡單的性能測試,對 Broker 的負載做出測試并通過圖表可視化查看測試結果
MQTT Box 同樣采用了 Electron 跨平臺技術,界面簡單直接,支持多個客戶端同時在線,但客戶端之間的切換、互發消息等交互還是有一定不便。MQTT Box 借助 Chrome 有很強大的跨平臺特性,結合簡單的負載測試功能,是一款值得嘗試的 MQTT 客戶端工具。
mqtt-spy 是 Eclipse Paho 和 Eclipse IoT 的一部分,它通過直接啟動 JAR 文件在 Java 8 和 JavaFX 之上運行,mqtt-spy 有一種很好的交互方式來展現基本的 MQTT發布/訂閱機制。
項目地址:GitHub mqtt-spy
下載地址:https://github.com/eclipse/paho.mqtt-spy/releases
mqtt-spy 具備以下特性:
支持 MQTT 和 MQTT over WebSocket
交互方便,可以同時發布和訂閱,在不同選項卡連接多個 Broker
可以關閉 pub/sub窗口的不同區域(發布,新訂閱,訂閱和消息),以便為當前使用的空間騰出空間
搜索功能允許查找常用 MQTT 消息,支持將發布/訂閱消息輸出到標準輸出或記錄到文件中以供后續分析
mqtt-spy 沒有提供獨立的安裝包,使用前需要用戶自行安裝 Java 運行環境。但是啟動后 mqtt-spy 擁有友好的上手體驗,啟動引導功能讓人眼前一亮,MQTT 新手可以輕松的使用 mqtt-spy 連接到公共 MQTT Broker 進行探索。mqtt-spy 的功能界面略顯復雜,但熟悉每個部件的功能后它將成為開發調試利器。還有有一點不得不提的是 mqtt-spy 的性能和穩定性有所欠缺,也有可能是筆者使用的版本為最新 Beta 版,連接多個 Broker 后頻頻出現卡頓和假死。
MQTT Lens 是有一個 Chrome 拓展工具,可以通過 Chrome 網上應用商店安裝。MQTT Lens 界面非常簡潔,提供基礎的發布訂閱功能。
下載地址:Chrome Web Store
MQTT Lens 具備以下特性:
同時接受與多個經紀人的連接,采用不同顏色關聯
訂閱,發布和查看所有收到的消息的界面非常簡單且易于掌握
支持 MQTT 和 MQTT over WebSocket
MQTT Lens 足夠簡單,但是提供了基礎的 MQTT 和 MQTT over WebSocket 連接功能,可以快速滿足入門探索使用。
到此,關于“MQTT客戶端工具有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。