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

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

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

什么是MQTT?它如何工作?

倍加福 ? 來源:倍加福 ? 2024-10-27 13:58 ? 次閱讀

工業(yè)4.0、物聯(lián)網(wǎng)(IIoT)、智能工廠和智能設(shè)備等前沿概念的推動下,我們正邁向一個全新的自動化未來。設(shè)備之間將互聯(lián)互通,每個節(jié)點相互連接,交換數(shù)據(jù)。為構(gòu)建智能網(wǎng)絡(luò),設(shè)備必具備IIoT的關(guān)鍵特性:標(biāo)準(zhǔn)化、可擴展性、與IT和OT系統(tǒng)的兼容性,以及互操作性。同時,確保通信的安全性也是至關(guān)重要的。

倍加福支持包括MQTT、OPC UA、AMQP和REST API的四種基于TCP的通信協(xié)議。本期內(nèi)容中,我們將首先探索MQTT通信協(xié)議,了解它是如何為智能網(wǎng)絡(luò)提供強大支持,適用于哪些不同應(yīng)用場景。

什么是MQTT?

它如何工作?

MQTT(消息隊列遙測傳輸)是ISO 標(biāo)準(zhǔn)(ISO/IEC PRF 20922)下基于發(fā)布/訂閱范式的消息協(xié)議。MQTT協(xié)議輕量、簡單、開放和易于實現(xiàn),這些特點使它適用范圍非常廣泛。

自1999年誕生以來,MQTT作為石油管道帶寬和電池能效監(jiān)控問題的技術(shù)解決方案。2013年,IBM將其提交給OASIS規(guī)范委員會,隨后在2014年成為正式的OASIS標(biāo)準(zhǔn)。

MQTT的普及得益于其在工業(yè)領(lǐng)域的廣泛應(yīng)用,特別是在對代碼精簡、開銷減少和網(wǎng)絡(luò)流量受限的環(huán)境中。其基本工作原理如下圖所示:MQTT 客戶端(包括發(fā)布者和訂閱者)連接到 MQTT 代理。一些 MQTT 客戶端通過訂閱一個特定主題,例如下圖中的主題為溫度值,MQTT 客戶端(發(fā)布者)向代理發(fā)送數(shù)據(jù),然后代理將此消息發(fā)送到所有訂閱的MQTT 客戶端。這種拓?fù)浣Y(jié)構(gòu)的顯著優(yōu)勢在于發(fā)布者和訂閱者的解耦。代理只負(fù)責(zé)將數(shù)據(jù)從一端傳輸?shù)搅硪欢耍瑹o需在它們之間建立大量連接。

25d3315e-92bc-11ef-a511-92fbcf53809c.jpg

MQTT的工作原理——典型的MQTT應(yīng)用

MQTT 主要特性

1:主題

主題是MQTT協(xié)議中的一個基礎(chǔ)元素,每條消息都包含一個主題和有效載荷,以及頭部信息。主題是代理用來過濾消息和訂閱者訂閱的依據(jù)。

主題可以有多個層級,如“home/sensor1/identification”包含三個層級,“home/sensor1/data/temperature”則包含四個層級。每個層級用斜杠“/”分隔,且主題結(jié)構(gòu)區(qū)分大小寫。主題還可以包含一個或多個層級的占位符,例如使用“+”表示單個層級的占位符,如“home/+/data/temperature”。此外,使用“#”表示多層級占位符,如“home/sensor1/#”可以將sensor1發(fā)布的所有數(shù)據(jù)傳輸給訂閱的客戶端。

2:服務(wù)質(zhì)量

MQTT通過服務(wù)質(zhì)量等級來確保消息的可靠傳輸。QoS等級包括0(至多一次)、1(至少一次)和2(僅一次),其中QoS 2提供高級別的服務(wù)質(zhì)量,需要更多的通信確認(rèn)和實施措施。

3:會話感知

MQTT提供了多種機制來確保代理與發(fā)布者/訂閱者之間的連接穩(wěn)定?;镜臋C制是保持連接消息,客戶端會定期發(fā)送這類消息以確認(rèn)連接的有效性。此外,客戶端在初始連接時會向代理提供“遺囑消息”(Last Will and Testament, LWT),以便在客戶端離線時通知其他客戶端。

4:持久會話

當(dāng)代理與訂閱者之間建立了持久會話,代理會存儲消息,直到訂閱者準(zhǔn)備好接收。這一特性對于網(wǎng)絡(luò)環(huán)境不穩(wěn)定的情況尤其有用,確保了消息的可靠傳遞。

MQTT的實時性如何?

MQTT以其輕量級和高效性,在物聯(lián)網(wǎng)通信領(lǐng)域展現(xiàn)出杰出的實時性能。在發(fā)布者與代理間無延遲,且訂閱者與代理保持活躍連接的情況下,MQTT理論上能夠?qū)崿F(xiàn)近乎實時和無延遲的響應(yīng),滿足快速數(shù)據(jù)處理的需求。

MQTT的安全性如何?

在安全性方面,MQTT自連接初始化階段起就提供了用戶名和密碼的身份驗證機制。自MQTT 5起,密碼字段可用于令牌傳輸,同時引入了如質(zhì)詢響應(yīng)認(rèn)證等額外的安全機制,增強了通信的安全性。

MQTT適用于哪些應(yīng)用場景?

MQTT的應(yīng)用場景廣泛,尤其適合于那些需要簡單、緊湊解決方案的場合。無論是從多個傳感器收集數(shù)據(jù),還是向大量同類型傳感器發(fā)送信息,或是在低功耗和很低內(nèi)存需求的環(huán)境下,MQTT都能發(fā)揮出色。它在車聯(lián)網(wǎng)、軍事、工業(yè)設(shè)備網(wǎng)絡(luò)、無人機控制等多個領(lǐng)域都有著廣泛的應(yīng)用,展現(xiàn)了其強大的適應(yīng)性和實用性。

關(guān)于倍加福

倍加福–未來自動化的驅(qū)動者和創(chuàng)新者

倍加福以德國曼海姆為公司總部,憑借其持續(xù)不斷的對創(chuàng)新技術(shù)的研發(fā),向全球工廠自動化和過程行業(yè)的客戶提供豐富而多樣的產(chǎn)品,致力于自動化行業(yè)的傳統(tǒng)應(yīng)用和面向未來的應(yīng)用。同時,倍加福不斷推動前瞻性技術(shù)的開發(fā),為客戶迎接即將來臨的工業(yè) 4.0 的挑戰(zhàn)鋪平了道路。

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

    關(guān)注

    28

    文章

    826

    瀏覽量

    40197
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2899

    文章

    43826

    瀏覽量

    369384
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    642

    瀏覽量

    22370

原文標(biāo)題:解鎖IIoT潛力,詳解MQTT通信協(xié)議

文章出處:【微信號:gh_c9a84232a0b5,微信公眾號:倍加福】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    怎樣使用micropython去實現(xiàn)mqtt的協(xié)議測試呢

    1、MQTT協(xié)議介紹MQTT是一個基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。工作在 TCP/IP協(xié)議族上。MQTT協(xié)議是輕量、簡單、開放
    發(fā)表于 03-24 14:58

    將ESP8266與OTA和MQTT一起使用,為什么無法正常工作的原因?

    我正在嘗試將 ESP8266 與 OTA 和 MQTT 一起使用,但無法正常工作。如果我只嘗試 MQTT,我可以讓工作。如果我只嘗試 OT
    發(fā)表于 02-23 08:23

    如何使用Nodemcu的Mqtt開關(guān)?

    我是此類編程的初學(xué)者,也是一名試圖熟悉物聯(lián)網(wǎng)系統(tǒng)的機械工程師。首先,我想為我的 nodemcu V2 編寫代碼,以在打開和關(guān)閉開關(guān)時發(fā)布 mqtt 有效載荷連接在 GPIO 引腳 2 和地之間。我
    發(fā)表于 02-24 08:58

    淺談MQTT與Modbus協(xié)議的區(qū)別

    MQTT協(xié)議(消息隊列遙測傳輸)是ISO 標(biāo)準(zhǔn)(ISO/IEC PRF 20922)下基于發(fā)布/訂閱范式的消息協(xié)議。 工作在TCP/IP協(xié)議上,是為硬件性能低下的遠(yuǎn)程設(shè)備以及網(wǎng)絡(luò)狀況糟糕的情況下
    發(fā)表于 04-07 11:09 ?1.7w次閱讀
    淺談<b class='flag-5'>MQTT</b>與Modbus協(xié)議的區(qū)別

    OpenHarmony開發(fā)之MQTT講解

    MQTT這個名稱大家都不陌生,物聯(lián)網(wǎng)的開發(fā)必然會遇到MQTT相關(guān)知識的應(yīng)用。那么什么是MQTT?它有什么特點?它能解決什么問題?它是如何工作的?OpenAtom OpenHarmony
    的頭像 發(fā)表于 11-15 22:50 ?1008次閱讀

    基于OpenHarmony的本地MQTT服務(wù)實現(xiàn)

    一、MQTT協(xié)議簡介MQTT(消息隊列遙測傳輸)是一個基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議,是ISO標(biāo)準(zhǔn)(ISO/IECPRF20922)下基于發(fā)布/訂閱范式的消息協(xié)議。MQTT工作
    的頭像 發(fā)表于 05-30 12:12 ?681次閱讀
    基于OpenHarmony的本地<b class='flag-5'>MQTT</b>服務(wù)實現(xiàn)

    Node搭建本地MQTT服務(wù)器

    搭建MQTT一、MQTT介紹MQTT是一種基于發(fā)布/訂閱模式的輕量級物聯(lián)網(wǎng)消息傳輸協(xié)議,可以用極少的代碼和帶寬為聯(lián)網(wǎng)設(shè)備提供實時可靠的消息服務(wù),廣泛應(yīng)用于物聯(lián)網(wǎng)
    的頭像 發(fā)表于 05-26 14:11 ?1466次閱讀
    Node搭建本地<b class='flag-5'>MQTT</b>服務(wù)器

    強大的MQTT! 關(guān)于你應(yīng)該知道什么

    MQTT指消息隊列遙測傳輸,是物聯(lián)網(wǎng)的機器對機器(M2M,machine-to-machine)連接協(xié)議。MQTT是一個輕量級的發(fā)布和訂閱協(xié)議,通過它可以在低帶寬環(huán)境中發(fā)送和接收機器對機器的遙測消息。
    的頭像 發(fā)表于 08-03 11:15 ?1219次閱讀
    強大的<b class='flag-5'>MQTT</b>! 關(guān)于<b class='flag-5'>它</b>你應(yīng)該知道什么

    MQTT的主要特性有哪些

    MQTT 的主要特性 MQTT 協(xié)議是為工作在低帶寬、不可靠網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備之間的通訊而設(shè)計的協(xié)議,具 有以下主要的幾項特性: ①、使用發(fā)布/訂閱消息模式,提供一對多的消息
    的頭像 發(fā)表于 07-30 14:42 ?1790次閱讀

    MQTT發(fā)布特性有哪些

    MQTT 發(fā)布/訂閱特性 從以上實例我們可以看到,MQTT 通信的核心樞紐是 MQTT 服務(wù)端,負(fù)責(zé)將 MQTT 客戶端發(fā)送來的信息傳遞給
    的頭像 發(fā)表于 07-30 15:16 ?647次閱讀

    MQTT是什么 MQTT特點

    MQTT 是 Message Queuing Telemetry Transport 的縮寫,是一種輕量級的、基于發(fā)布/訂閱模式的物聯(lián)網(wǎng)通信協(xié)議。 具有以下特點: ?簡單易用:MQTT 的協(xié)議規(guī)范
    的頭像 發(fā)表于 11-09 15:20 ?2266次閱讀

    什么是MQTT?MQTT協(xié)議中的方法

    MQTT是一種輕量級消息傳遞協(xié)議,由IBM開發(fā),于1999年首次發(fā)布。使用發(fā)布/訂閱模式并在設(shè)備、服務(wù)器和應(yīng)用程序之間轉(zhuǎn)換消息。
    的頭像 發(fā)表于 02-25 17:04 ?1200次閱讀
    什么是<b class='flag-5'>MQTT</b>?<b class='flag-5'>MQTT</b>協(xié)議中的方法

    MQTT網(wǎng)關(guān)是什么?MQTT網(wǎng)關(guān)的功能

    MQTT網(wǎng)關(guān)是支持MQTT協(xié)議的物聯(lián)網(wǎng)網(wǎng)關(guān),是一種用于連接不同設(shè)備和云端平臺之間的中間件。充當(dāng)了設(shè)備和云端服務(wù)之間的數(shù)據(jù)傳輸橋梁。MQTT網(wǎng)關(guān)能夠接收來自各種設(shè)備的數(shù)據(jù),并將其發(fā)送到
    的頭像 發(fā)表于 03-18 17:10 ?692次閱讀

    MQTT工業(yè)網(wǎng)關(guān)的工作原理及其在實際生產(chǎn)中的重要作用解析[天拓四方]

    )協(xié)議以其輕量級、開放性和可靠性,在工業(yè)物聯(lián)網(wǎng)領(lǐng)域得到了廣泛應(yīng)用。本文將通過一個實際應(yīng)用案例,解析MQTT工業(yè)網(wǎng)關(guān)的工作原理及其在實際生產(chǎn)中的重要作用。 一、MQTT工業(yè)網(wǎng)關(guān)概述 MQTT
    的頭像 發(fā)表于 05-24 16:58 ?405次閱讀

    MQTT協(xié)議網(wǎng)關(guān)的工作原理及功能特性

    的數(shù)據(jù)傳輸。本文將詳細(xì)探討 MQTT協(xié)議網(wǎng)關(guān) 的工作原理、功能特性及其在物聯(lián)網(wǎng)應(yīng)用中的重要作用。 一、MQTT協(xié)議網(wǎng)關(guān)的工作原理 1、連接設(shè)備 MQ
    的頭像 發(fā)表于 09-18 17:00 ?277次閱讀
    <b class='flag-5'>MQTT</b>協(xié)議網(wǎng)關(guān)的<b class='flag-5'>工作</b>原理及功能特性