兩款常用的 MQTT 調(diào)試工具

      網(wǎng)友投稿 1335 2025-04-02

      前言

      預(yù)備知識(shí)

      MQTTBox

      介紹

      下載

      入門使用

      負(fù)載測(cè)試

      前言

      預(yù)備知識(shí)

      MQTTBox

      介紹

      下載

      入門使用

      負(fù)載測(cè)試

      MQTT.fx

      介紹

      下載

      入門使用

      JS 腳本

      前言

      我們可以使用 MQTT 客戶端來測(cè)試 MQTT 的通訊功能,這里介紹常用的兩款工具 MQTTBox 和 MQTT.fx 。

      預(yù)備知識(shí)

      MQTT(MQ Telemetry Transport)協(xié)議,是 IBM 公司在 1999 年開發(fā)的輕量級(jí)網(wǎng)絡(luò)協(xié)議,它有三個(gè)主要特點(diǎn):

      采用二進(jìn)制的消息內(nèi)容編碼格式,所以二進(jìn)制數(shù)據(jù)、JSON 和圖片等負(fù)載內(nèi)容都可以方便傳輸。

      協(xié)議頭很緊湊,協(xié)議交互也簡(jiǎn)單,保證了網(wǎng)絡(luò)傳輸流量很小。

      支持 3 種 QoS(Quality of Service,服務(wù)質(zhì)量)級(jí)別,便于應(yīng)用根據(jù)不同的場(chǎng)景需求靈活選擇。

      這三個(gè)特點(diǎn),讓 MQTT 協(xié)議非常適合計(jì)算能力有限、網(wǎng)絡(luò)帶寬低、信號(hào)不穩(wěn)定的遠(yuǎn)程設(shè)備,所以它成為了物聯(lián)網(wǎng)系統(tǒng)事實(shí)上的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)。

      MQTT 相關(guān)概念:

      Publisher(發(fā)布者):消息的發(fā)出者,負(fù)責(zé)生產(chǎn)數(shù)據(jù)。發(fā)布者發(fā)送某個(gè)主題的數(shù)據(jù)給經(jīng)紀(jì)人,發(fā)布者不知道訂閱者。

      Subscriber(訂閱者):消息的訂閱者,訂閱經(jīng)紀(jì)人管理的某個(gè)或者某幾個(gè)主題。

      Broker(經(jīng)紀(jì)人):當(dāng)經(jīng)紀(jì)人接收到某個(gè)主題的數(shù)據(jù)時(shí),將數(shù)據(jù)發(fā)送給這個(gè)主題的所有訂閱者。

      Topic(主題):可以理解為消息隊(duì)列中的路由,訂閱者訂閱了主題之后,就可以收到發(fā)送到該主題的消息。

      Payload(負(fù)載);可以理解為發(fā)送消息的內(nèi)容。

      QoS(消息質(zhì)量):全稱 Quality of Service,即消息的發(fā)送質(zhì)量,主要有 QoS 0、QoS 1、QoS 2三個(gè)等級(jí),下面分別介紹下:

      QoS 0(Almost Once):至多一次,只發(fā)送一次,會(huì)發(fā)生消息丟失或重復(fù);

      QoS 1(Atleast Once):至少一次,確保消息到達(dá),但消息重復(fù)可能會(huì)發(fā)生;

      QoS 2(Exactly Once):只有一次,確保消息只到達(dá)一次。

      MQTTBox

      介紹

      協(xié)議支持:

      TCP(tcp)

      TLS(tls)

      Web Sockets(ws)

      Secure Web Sockets(wss)

      特點(diǎn):

      支持的協(xié)議全面,支持 WebSocket

      界面美觀但是簡(jiǎn)陋

      支持發(fā)布和訂閱多個(gè)主題

      支持主題的單級(jí)和多級(jí)訂閱

      支持 MQTT 負(fù)載測(cè)試

      自定義訂閱和發(fā)送比例

      支持查看每個(gè)主題已發(fā)布/已訂閱消息的歷史記錄

      支持MQTT負(fù)載測(cè)試

      支持并發(fā)測(cè)試實(shí)例,為同一個(gè)測(cè)試用例創(chuàng)建最多10個(gè)實(shí)例

      實(shí)時(shí)查看測(cè)試進(jìn)程

      測(cè)試結(jié)果能以圖表展示

      沒有日志模塊,沒有腳本支持,沒有 Broker 狀態(tài)查看

      payloads 輸出相對(duì)簡(jiǎn)陋

      官網(wǎng)地址:https://github.com/workswithweb/MQTTBox

      下載

      這款軟件支持在 Windows、Mac 和 Linux 上面運(yùn)行,我們到其官網(wǎng)選擇合適的版本下載安裝即可。

      -:http://workswithweb.com/mqttbox.html

      入門使用

      前提:已啟動(dòng) MQTT 服務(wù)器

      點(diǎn)擊Create MQTT Client 按鈕來創(chuàng)建一個(gè) MQTT 客戶端;

      接下來對(duì) MQTT 客戶端進(jìn)行配置,主要是配置好協(xié)議端口、連接用戶名密碼和 QoS 即可;

      Client Name:隨便填

      Protocol:選擇 mqtt / tcp

      Host:MQTT服務(wù)器的IP地址和端口,問后端同事要

      Username 和 Password:也是問服務(wù)端要

      再配置一個(gè)訂閱者,訂閱者訂閱 testTopicA 這個(gè)主題,我們會(huì)向這個(gè)主題發(fā)送消息;

      點(diǎn)擊頂部 Connection 按鈕進(jìn)行連接,綠色表示連接上了,紅色是連接斷開。你也可以添加更多的發(fā)布者和訂閱者。

      發(fā)布者向主題中發(fā)布消息,訂閱者可以實(shí)時(shí)接收到。

      負(fù)載測(cè)試

      測(cè)試參數(shù):

      兩款常用的 MQTT 調(diào)試工具

      測(cè)試過程:

      測(cè)試結(jié)果:

      結(jié)論:

      測(cè)試時(shí)需要取消用戶名密碼

      簡(jiǎn)單測(cè)試Broker的性能

      結(jié)果展示比較直觀

      MQTT.fx

      介紹

      協(xié)議支持:

      TCP(tcp)

      TLS(tls)

      特點(diǎn):

      界面美觀,操作便捷

      不支持WebSocket協(xié)議

      基于java開發(fā)

      支持代理

      通過 Nashorn Engine 的 JS 腳本支持

      全平臺(tái)支持

      Broker狀態(tài)檢測(cè)(HiveMQ & mosquitto),并沒有 emqtt

      操作日志查看

      payload的格式解析:

      文本

      JSON

      HEX

      Base64

      Sparkplug

      免費(fèi)(Apache 2.0,新版 5.0+ 需要license)

      下載

      -:http://www.jensd.de/apps/mqttfx/1.7.1/

      入門使用

      點(diǎn)擊 ? 按鈕來創(chuàng)建一個(gè) MQTT 客戶端;

      接下來對(duì) MQTT 客戶端進(jìn)行配置,主要是配置好協(xié)議端口、連接用戶名密碼和 QoS 即可;

      再配置一個(gè)訂閱者,訂閱者訂閱 testTopicA 這個(gè)主題,我們會(huì)向這個(gè)主題發(fā)送消息;

      發(fā)布者向主題中發(fā)布消息,訂閱者可以實(shí)時(shí)接收到。

      JS 腳本

      // mqttManager 支持 publish() subsribe() unsubscribe() // 日志記錄 var Thread = Java.type("java.lang.Thread"); function execute(action) { out("Test Script: " + action.getName()); for (var i = 0; i < 10; i++) { switchON(); Thread.sleep(500); switchOFF(); Thread.sleep(500); } action.setExitCode(0); action.setResultText("done."); out("Test Script: Done"); return action; } function switchON() { out("fountain ON"); mqttManager.publish("home/garden/fountain", "ON"); } function switchOFF() { out("fountain OFF"); mqttManager.publish("home/garden/fountain", "OFF"); } function out(message){ output.print(message); }

      軟件包網(wǎng)盤地址:

      鏈接:https://pan.baidu.com/s/1MX3adP3ZVopErfBO63MyOA

      提取碼:160z

      參考資料:

      [1]:《物聯(lián)網(wǎng)開發(fā)實(shí)戰(zhàn)》

      [2]:https://www.cnblogs.com/linzhanfly/p/9923577.html

      MQTT TCP/IP 設(shè)備接入 IoTDA

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:excel做餅圖(excel做餅圖時(shí)選中的數(shù)值行列)
      下一篇:Office 2013全新“紅色透視O”Logo曝光(office產(chǎn)品密鑰)
      相關(guān)文章
      亚洲国产精彩中文乱码AV| 亚洲人色婷婷成人网站在线观看| 亚洲第一中文字幕| 亚洲精品白浆高清久久久久久| 亚洲精品国产va在线观看蜜芽| 国产成人高清亚洲一区91| 国产精品亚洲av色欲三区| 亚洲AV永久无码精品网站在线观看| 国产亚洲精品影视在线| 色老板亚洲视频免在线观| 亚洲视频在线观看2018| 亚洲色欲色欲www| 99久久国产亚洲综合精品| 国产 亚洲 中文在线 字幕| 亚洲精品国产suv一区88| 亚洲欧美不卡高清在线| 国产精品亚洲精品日韩动图| 亚洲成AV人网址| 浮力影院亚洲国产第一页| 亚洲综合另类小说色区| 亚洲精品狼友在线播放| 亚洲av日韩av无码| 亚洲精品在线不卡| 亚洲色图激情文学| 欧美亚洲国产SUV| 亚洲国产天堂久久久久久| 亚洲一区二区三区自拍公司| 国精无码欧精品亚洲一区| 亚洲AV无码国产精品色午友在线| 亚洲精品福利视频| 亚洲专区一路线二| 亚洲精品国产摄像头| 亚洲一区二区三区无码影院| 国产亚洲人成无码网在线观看 | 亚洲一区动漫卡通在线播放| 亚洲依依成人精品| 亚洲色成人WWW永久在线观看| 久久亚洲色WWW成人欧美| 亚洲一区二区三区无码影院| 亚洲国产精品无码成人片久久 | 亚洲色图黄色小说|