伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MQTT介紹

蘇州格拉尼 ? 來源:jf_84050716 ? 作者:jf_84050716 ? 2025-07-14 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、什么是MQTT
物聯(lián)網(wǎng)IoT)發(fā)展迅猛,傳感器、網(wǎng)關(guān)、云平臺之間如何高效通信成了核心問題。MQTT(Message Queuing Telemetry Transport)作為一種輕量級的消息傳輸協(xié)議,近年來被廣泛應用于智能家居工業(yè)控制、車聯(lián)網(wǎng)等場景。
MQTT 是一種基于發(fā)布/訂閱(Pub/Sub)模式的輕量級消息協(xié)議,設(shè)計初衷是為低帶寬、不穩(wěn)定網(wǎng)絡環(huán)境下的設(shè)備通信而生。它更像是廣播電臺:你訂閱頻道,誰在頻道里發(fā)布了消息你就能收到,中間由一個叫做 Broker 的中間人來轉(zhuǎn)發(fā)消息。

二、MQTT 的三大角色
Broker(消息代理)
Broker 就是 MQTT 網(wǎng)絡的大腦。客戶端不互相通信,所有消息都通過 Broker 中轉(zhuǎn)。主流 Broker 有
Mosquitto(輕量、適合嵌入式開發(fā)
EMQX(高性能、支持百萬連接)
HiveMQ、RabbitMQ(企業(yè)級)
Publisher(發(fā)布者)
發(fā)布消息的人,比如你家的溫濕度傳感器,每隔 5 秒發(fā)布一次環(huán)境數(shù)據(jù)。
Subscriber(訂閱者)
對某類消息感興趣的接收者,比如你手機里的 APP 訂閱了“家里客廳/溫度”,只要 Broker 收到這個主題的消息,就會推送給你。

三、核心機制-主題、保留消息
主題(Topic)
MQTT 的消息沒有標題,靠的是主題(Topic)分類。
保留消息(Retained Message)
比如你家的空調(diào)狀態(tài)是“開啟”,訂閱者上線時希望立刻知道當前狀態(tài),可以發(fā)布一條“保留消息”,Broker 會記住它,并在有人訂閱時立刻推送。

四、GraniStudio是否支持MQTT

GraniStudio平臺是蘇州格拉尼視覺科技有限公司推出的對標Labview的零代碼工控開發(fā)平臺,該平臺支持MQTT服務器,客戶端,發(fā)送文本,接收文本和關(guān)閉MQTT通信。這幾個工具算子的介紹如下:
MQTT服務器

MQTT服務器屬于資源管理器算子部分,歸屬于資源管理器通用工具

wKgZPGhyj6aAXZ7AAAB73B1gxXY219.jpg

wKgZO2hyj6eAfq2lAABYaTlJtdA364.jpg

wKgZPGhyj6eAXHsmAAAQ6e7h2Po102.jpg

通過主界面可配置IP地址和端口號.然后選配高級設(shè)置是否啟用密碼功能,連接時是否需要驗證賬號密碼,并在列表中支持顯示客戶端連接列表和主題列表,消息列表方便用戶調(diào)試使用。

操作示例

步驟一、創(chuàng)建IP地址和端口號,一定要注意IP格式如:127.0.0.1 默認端口號:1883

wKgZO2hyj6eAP0JHAAAWmHU-Abs599.jpg

步驟二、如輸入IP地址格式不正確將出現(xiàn)彈窗提示。

wKgZPGhyj6iAGxqcAABPJgLeBGU039.jpg

步驟三、如需要客戶端連接時需要輸入正確的賬號和密碼,就需要開啟高級設(shè)置,設(shè)置連接驗證,用戶名和密碼。

wKgZO2hyj6iAZPEUAAAUTmvt5Os502.jpg

步驟四、設(shè)置完畢后點擊開啟服務即可。

wKgZPGhyj6iADFReAAAXTEvUFGM727.jpg

步驟五、打開MQTT客戶端測試工具。注意客戶端IP為自動分配

wKgZO2hyj6iAReYOAAAphbxFZMk165.jpg

步驟六、點擊連接

wKgZPGhyj6mAUZm8AAAtz5yb75w426.jpg

連接不成功原因是因為服務器那邊開啟了連接驗證,所以需要輸入正確的驗證信息才能連接成功。

步驟七、服務器列表中已顯示該客戶端的連接

wKgZO2hyj6mABxEHAAIlo25zuds854.jpg

步驟八、再次開啟客戶端連接該服務器

wKgZPGhyj6qAenQZAAGaXqvvpXU307.jpg

列表中已顯示兩個客戶端的連接,

步驟九、客戶端1訂閱主題,客戶端2發(fā)布主題

wKgZO2hyj6qAFAgxAARc_oL9bog970.jpg

步驟十、客戶端1顯示客戶端2發(fā)布主題。

wKgZPGhyj6uAOUVmAAA6erkvmw0150.jpg

從上圖可看出 MQTT服務器是一個代理服務,不同客戶端之間的通信。

wKgZO2hyj6uABwyKAACTIkSCI08034.jpg

一個客戶端可訂閱多個主題,。

MQTT客戶端

MQTT客戶端屬于資源管理器算子部分,歸屬于資源管理器通用工具

wKgZPGhyj6uAOg8oAABiESmzl0o998.jpg

wKgZO2hyj6yAbABuAABu-s0bR60414.jpg

wKgZPGhyj6yAM5CMAAAPckqeths355.jpg

算子內(nèi)部自動分配客戶端ID,通過主界面輸入MQTT服務器IP地址和端口號可連接MQTT服務器,然后選配高級設(shè)置是否啟用密碼功能,連接時是否需要驗證賬號密碼,并支持顯示接收消息列表,通過界面可訂閱主題和發(fā)布主題,實現(xiàn)與MQTT服務器與MQTT其他客戶端的通信。

操作示例

步驟一、打開客戶端算子后將默認配分客戶端ID,無法修改

wKgZO2hyj6yAM8sFAAAM4BKge5I581.jpg

步驟二、配置IP和端口號,IP格式:127.0.0.1 端口號:1883 默認端口號:1883

wKgZPGhyj62ARKkIAAATQ209q24074.jpg

步驟三、是否開啟高級設(shè)置,開啟高級設(shè)置需輸入用戶名和密碼,,未開啟將無需輸入, 默認未開啟。如果服務器開啟用戶名驗證將開啟。

wKgZO2hyj62AEeH0AAARvLpHnH8616.jpg

步驟四、點擊連接按鈕

wKgZPGhyj66AFg3tAAAUMvbdbnA382.jpg

wKgZO2hyj66ARN-aAABfKCMiWfU587.jpg


即可在連接列表中顯示該客戶端連接信息

步驟五、點擊斷開按鈕

wKgZPGhyj6-AEAYmAAAT41wqT58132.jpg

wKgZO2hyj6-AcDzGAAA35FBGadM929.jpg

點擊斷開連接后服務器列表那會刷新,當前客戶端處于未連接狀態(tài)

步驟六、訂閱主題

wKgZPGhyj6-AaDmoAAIZMmUYeDY771.jpg

服務器將顯示客戶端訂閱列表。
使用客戶端2發(fā)布該主題

wKgZO2hyj7CAVe4CAAIHAG6utRQ677.jpg

客戶端2發(fā)布主題并附加消息Test

步驟七、發(fā)布主題消息

wKgZPGhyj7CAfTx6AAAsScy37sI914.jpg

客戶端2訂閱T1主題, 客戶端1發(fā)布主題T1

wKgZO2hyj7GAH5mzAACTE3NMmQs603.jpg

MQTT發(fā)送文本

MQTT發(fā)送文本屬于主任務設(shè)計器算子部分,歸屬于主任務設(shè)計器通用工具

wKgZPGhyj7GAQeDdAACJmhFx-uw625.jpg

wKgZO2hyj7KAS-afAABmbMzeTaU869.jpg

wKgZPGhyj7KAHlrPAAAQXxMVxSg239.jpg

算子內(nèi)部無需連接操作,通過引用依賴引用MQTT客戶端對象即可,實現(xiàn)代理客戶端對象發(fā)布主題消息功能,通過界面配置可配置主題,可引用主題和手動輸入主題,也可引用消息和手動輸入消息兩種方式。

需要發(fā)送消息必須有主題,需要發(fā)布主題必須消息,如用戶輸入主題當前客戶端未發(fā)布將自動發(fā)布該主題消息。

操作示例

wKgZO2hyj7OAYk9FAAAwvtO0bNk426.jpg

創(chuàng)建服務器調(diào)試工具。

wKgZPGhyj7OAMczzAAB4m_nJUUQ275.jpg

GS MQTT客戶端連接該服務器

wKgZO2hyj7OATcrsAAEQ0C9rG7A870.jpg

創(chuàng)建兩個客戶端,模擬兩個客戶端之間通信

步驟一、引用MQTT 客戶端 對象

wKgZPGhyj7SABFxJAAAh0TXI2t4561.jpg

步驟二、使用自定義主題方式,輸入文本 R1

wKgZO2hyj7SAKmCPAAARUltLvP0371.jpg

步驟三、使用自定義消息方式,輸入消息 Test

wKgZPGhyj7WAPjd2AAARo3BEkk0619.jpg

步驟四、注意事項主題和消息兩者均不可為空。

步驟五、點擊執(zhí)行按鈕

wKgZPGhyj7WAPjd2AAARo3BEkk0619.jpg

wKgZO2hyj7WAdOxpAADAZwvZO5I556.jpg

服務器已接收到MQTT客戶端發(fā)布主題和消息

wKgZPGhyj7WAAX-gAACi6j0uEtM824.jpg

客戶端2訂閱R1主題,與 GS MQTT客戶端建立連接

wKgZO2hyj7aAO4hUAAA0Pg4P1aI613.jpg

訂閱主題成功, 將剛GS MQTT客戶端發(fā)布主題和消息發(fā)送至該客戶端中

步驟六、使用引用方式

wKgZPGhyj7aAO_SYAABXvkrq570530.jpg

使用局部變量定義兩個變量,一個主題一個消息變量 均是GString類型

步驟七、引用主題方式

wKgZPGhyj7aAfIsZAACiv6SOpuw337.jpg

步驟八、引用消息方式

wKgZO2hyj7eARSg0AAAkRI0WdTw248.jpg

wKgZPGhyj7eAVplRAALiZaOC1rQ362.jpg

因為客戶端2訂閱R1主題,發(fā)送文本發(fā)送的主題為R1 消息為GRaniTest。正常發(fā)送主題消息

MQTT接收文本

MQTT接收文本屬于主任務設(shè)計器算子部分,歸屬于主任務設(shè)計器通用工具

wKgZO2hyj7iAe-ErAACLSPVv50Q002.jpg

wKgZPGhyj7iAaF0fAABQ-o5v4ko550.jpg

wKgZO2hyj7iAMKC3AAAYjGZMky4457.jpg

算子內(nèi)部無需連接操作,通過引用依賴引用MQTT服務器或客戶端對象即可,實現(xiàn)代理接收MQTT服務器或客戶端消息功能,通過界面選配項可配置接收超時功能,如在設(shè)置時長內(nèi)未接收文本消息將視為超時,如未打開超時功能將默認持續(xù)不斷等待接收,直到接收到文本即可。

時長單位設(shè)置以毫秒為單位。

接收到文本將設(shè)置為本算子輸出項,輸出結(jié)果字符串類型未字符串類型,字節(jié)類型未Byte字節(jié)類型。

操作示例

步驟一、訂閱客戶端主題 T1

wKgZPGhyj7mAEKb-AAPidRfShuc458.jpg

步驟二、接收文本選擇引用對象

wKgZO2hyj7mASjrXAAAiRh-juHw955.jpg

步驟三、是否打開高級設(shè)置,默認 未打開

wKgZPGhyj7qADtSbAAAM_PUV5Hw642.jpg

未打開高級設(shè)置將一直等待文本接收

步驟四、是否打開高級設(shè)置,打開超時設(shè)置需要設(shè)置一個時長,如在規(guī)定時間內(nèi)為未接收到文本消息,則視為超時,否則將接收文本顯示到輸出界面

wKgZO2hyj7qATrvZAAAUDt38AyI732.jpg

打開高級設(shè)置將在規(guī)定時間段內(nèi)接收文本

wKgZPGhyj7uAD-zAAAGDJSkhuqo883.jpg

3000毫秒內(nèi)未接收到文本

步驟五、主動和被動觸發(fā),當引用一個MQTT通信對象時,內(nèi)部已為此通信建立起一個接收事件,如果用戶點擊執(zhí)行按鈕為主動觸發(fā)等待接收功能,如果是程序在流程中正常執(zhí)行到此處為被動觸發(fā)等待接收功能,一般主動觸發(fā)適用于調(diào)試階段的使用,被動出發(fā)適用于在自動流程中接收信號的使用。

wKgZO2hyj7uAB4z5AAIsDPkiRoQ848.jpg

wKgZPGhyj7uAA06JAAJb5wDGBck579.jpg

主動執(zhí)行接收

wKgZO2hyj7yAKWd9AAIQ5ds5gy0483.jpg

wKgZPGhyj7yAZBHIAAKNrIoDWpA552.jpg

被動接收

wKgZO2hyj72Ae3STAACkdqrcZLY299.jpg

被動接收

MQTT關(guān)閉

MQTT關(guān)閉屬于主任務設(shè)計器算子部分,歸屬于主任務設(shè)計器通用工具

wKgZPGhyj72AcsdsAAB9XQpuA3g997.jpg

wKgZO2hyj76AaYxiAABBQ9t7s-Y376.jpg

wKgZPGhyj76ARvDMAAANReqLggA691.jpg

MQTT關(guān)閉算子將代理MQTT服務器或客戶端關(guān)閉通信功能,可通過引用依賴配置MQTT服務器或客戶端,如內(nèi)部引用MQTT服務器將停止監(jiān)聽,禁止發(fā)送消息和客戶端的連接.如為MQTT客戶端將停止需MQTT服務器的連接,停止發(fā)送消息。

操作示例

步驟一、使用拖拉拽方式在主任務設(shè)計器工具箱中將關(guān)閉MQTT通信算子創(chuàng)建在畫布中。

wKgZO2hyj7-AWAVrAAAN1w9FrYI995.jpg

步驟二、選擇引用依賴框配置一個MQTT類相關(guān)算子如:GMQTT服務器,GMQTT客戶端。暫時支持類型(GMQTTClient,GMQTTServer)),兩種數(shù)據(jù)類型。

wKgZPGhyj7-AJIxdAAAkw0yEV7Y954.jpg

步驟三、算子執(zhí)行成功,可繼續(xù)使用初始化算子再次初始化方可繼續(xù)使用標刻功能。

wKgZO2hyj8CAHYILAAAPA4mtp9Q651.jpg

五、為什么選擇GraniStudio MQTT通信協(xié)議?

保持 ClientID 唯一,防止連接互踢

合理規(guī)劃主題命名,避免混亂

連接長時間保持,不必頻繁重連

消息機制更靈活,低功耗設(shè)備友好

更適合物聯(lián)網(wǎng)中“一對多”或“多對多”的場景

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2948

    文章

    47988

    瀏覽量

    417232
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    734

    瀏覽量

    25221
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于LuatOS的MQTT物聯(lián)網(wǎng)通信全解

    在構(gòu)建物聯(lián)網(wǎng)終端設(shè)備時,通信協(xié)議的選擇直接決定系統(tǒng)的穩(wěn)定性與擴展性。LuatOS通過內(nèi)置MQTT客戶端支持,使開發(fā)者能以極少代碼實現(xiàn)設(shè)備上云。本文將從協(xié)議原理到代碼實現(xiàn),全面解析基于LuatOS
    的頭像 發(fā)表于 01-29 19:42 ?269次閱讀
    基于LuatOS的<b class='flag-5'>MQTT</b>物聯(lián)網(wǎng)通信全解

    MQTT網(wǎng)關(guān)支持5G通信嗎

    MQTT網(wǎng)關(guān)可以支持5G通信 ,且在實際應用中,5G與MQTT協(xié)議的結(jié)合為物聯(lián)網(wǎng)領(lǐng)域帶來了顯著優(yōu)勢,以下為具體分析: 一、5G與MQTT協(xié)議的結(jié)合優(yōu)勢 高速數(shù)據(jù)傳輸 :5G網(wǎng)絡提供了極高的數(shù)據(jù)傳輸
    的頭像 發(fā)表于 12-08 11:13 ?934次閱讀

    北向MQTT工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

    北向MQTT工業(yè)網(wǎng)關(guān)是工業(yè)物聯(lián)網(wǎng)中連接底層設(shè)備與上層云平臺的核心設(shè)備,其核心功能是通過MQTT協(xié)議實現(xiàn)設(shè)備數(shù)據(jù)的高效、可靠上傳,并支持云端對設(shè)備的遠程監(jiān)控與管理。 以下從定義、功能、應用場
    的頭像 發(fā)表于 12-02 11:13 ?609次閱讀

    ESP32-C3 mqtt操作實踐

    。 2.環(huán)境搭建 主要是在Ubuntu20.04上進行開發(fā),首先需要安裝相關(guān)的開發(fā)環(huán)境,這一部分已經(jīng)在前面的文章中介紹過了,現(xiàn)在主要介紹下面的步驟。 首先搭建mosquitto的mqtt服務器。下面用
    發(fā)表于 10-31 06:52

    使用paho-mqtt里例程連接服務器失敗怎么解決?

    【rt-thread】【paho-mqtt】最近由于學習需要,了解了關(guān)于rt-thread軟件包paho-mqtt的使用,但是使用官方例程時,出現(xiàn)連接不上服務器的情況。具體報錯如下: msh
    發(fā)表于 09-18 06:38

    MQTT_協(xié)議中文資料

    電子發(fā)燒友網(wǎng)站提供《MQTT_協(xié)議中文資料.pdf》資料免費下載
    發(fā)表于 09-02 16:19 ?1次下載

    物聯(lián)網(wǎng)MQTT網(wǎng)關(guān)是什么

    物聯(lián)網(wǎng)MQTT網(wǎng)關(guān)是一種采用MQTT物聯(lián)網(wǎng)協(xié)議的智能設(shè)備或軟件組件,其核心功能是連接不同通信協(xié)議的物聯(lián)網(wǎng)設(shè)備與消息代理服務器,實現(xiàn)設(shè)備間的數(shù)據(jù)交換與集中管理,同時支持邊緣計算、安全防護和協(xié)議轉(zhuǎn)換
    的頭像 發(fā)表于 08-29 15:24 ?1149次閱讀

    IG502怎么管理MQTT

    IG502怎么管理MQTT
    發(fā)表于 08-05 07:50

    GraniStudio :MQTT 協(xié)議的深度剖析

    在工業(yè)物聯(lián)網(wǎng)(IIoT)的通信協(xié)議體系中,MQTT(Message Queuing Telemetry Transport)憑借其輕量級、發(fā)布 - 訂閱模式和低帶寬占用等特性,成為連接邊緣設(shè)備與云端
    的頭像 發(fā)表于 08-04 09:48 ?1123次閱讀
    GraniStudio :<b class='flag-5'>MQTT</b> 協(xié)議的深度剖析

    MQTT網(wǎng)關(guān)具備邊緣計算功能嗎?有什么功能?

    現(xiàn)代MQTT網(wǎng)關(guān)通常具備邊緣計算功能,尤其是為適應物聯(lián)網(wǎng)(IoT)場景中低延遲、高可靠、帶寬優(yōu)化等需求而設(shè)計的新一代網(wǎng)關(guān)。傳統(tǒng)MQTT網(wǎng)關(guān)的核心功能是協(xié)議轉(zhuǎn)換(如將Modbus、ZigBee等設(shè)備
    的頭像 發(fā)表于 07-15 15:01 ?990次閱讀
    <b class='flag-5'>MQTT</b>網(wǎng)關(guān)具備邊緣計算功能嗎?有什么功能?

    精通 MQTT:消息隊列遙測傳輸指南!

    引言MQTT(消息隊列遙測傳輸)是一種輕量級消息協(xié)議,專為低帶寬、高延遲和不可靠的網(wǎng)絡環(huán)境設(shè)計。它廣泛應用于物聯(lián)網(wǎng)(IoT)應用、消息系統(tǒng)以及實時數(shù)據(jù)通信領(lǐng)域。本指南深入探討了MQTT的工作原理
    的頭像 發(fā)表于 06-16 16:56 ?1091次閱讀
    精通 <b class='flag-5'>MQTT</b>:消息隊列遙測傳輸指南!

    MQTT 回調(diào)處理程序中遇到了隨機 MQTT 斷開連接的問題,怎么解決?

    MCU:CYW55913。 MQTT Broker 端點:Amazon AWS 云。 保持活動超時:60 秒 ping 響應超時:5 秒 我們在 MQTT 回調(diào)處理程序中遇到了隨機 MQTT
    發(fā)表于 06-05 07:14

    如何在MQTT中發(fā)布和訂閱實體

    MQTT中發(fā)布和訂閱實體(主題)是MQTT通信的核心操作,下面將詳細介紹其原理、步驟以及示例代碼,幫助你全面理解這一過程。 一、MQTT發(fā)布與訂閱的基本概念 發(fā)布(Publish):
    的頭像 發(fā)表于 05-20 17:21 ?1547次閱讀

    MQTT為何成為物聯(lián)網(wǎng)協(xié)議

    的優(yōu)勢,以下為你詳細介紹: 輕量級特性,適配資源受限設(shè)備 協(xié)議頭開銷小 :MQTT協(xié)議頭非常簡潔,相比其他協(xié)議,它在數(shù)據(jù)傳輸時添加的額外信息極少。例如,在一個簡單的物聯(lián)網(wǎng)設(shè)備向服務器發(fā)送數(shù)據(jù)的場景中,使用MQTT協(xié)議傳輸一條包含
    的頭像 發(fā)表于 05-20 09:54 ?920次閱讀

    KaihongOS多實例MQTT接口

    @ohos.net.khMqttExt (KaihongOS多實例MQTT接口) KaihongOS的khNetStack模塊提供了MQTT協(xié)議的多實例使用接口,支持同時使用多個mqtt的實例
    發(fā)表于 05-08 06:58