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

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

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

MQTT 5協(xié)議中的基礎(chǔ)更改(一)

虹科工業(yè)物聯(lián)網(wǎng)技術(shù) ? 來源:虹科工業(yè)物聯(lián)網(wǎng)技術(shù) ? 作者:虹科工業(yè)物聯(lián)網(wǎng)技 ? 2023-04-25 09:35 ? 次閱讀

01 協(xié)議的基礎(chǔ)性變化

MQTT 5是對現(xiàn)有協(xié)議規(guī)范的重大更新,新版本協(xié)議具有以下特征:輕量級、易用性、極強(qiáng)的可擴(kuò)展性、對移動網(wǎng)絡(luò)的適用性以及通信參與者的解耦。

02 MQTT仍然是MQTT

如果您熟悉MQTT3.1.1,那么您之前知道的關(guān)于MQTT的所有原則和功能同樣適用于MQTT v5。不同的是,以往功能的部分細(xì)節(jié),如“Last Will and Testament”發(fā)生了一點變化,某些功能也得到擴(kuò)展。此外,由虹科HiveMQ實現(xiàn)的額外的流行功能,如“TTL”或“共享訂閱”被添加到新的規(guī)范中。

協(xié)議也稍有變化,增加了一個額外的控制包(AUTH)。

但總的來說,MQTT5仍然可以清楚地識別為MQTT。

03 MQTT 頭部屬性和原因代碼

MQTT5最靈活的新功能之一是可以在MQTT頭部中添加自定義鍵值(key-value)屬性。與HTTP等協(xié)議類似,MQTT客戶端和代理可以添加任意數(shù)量的自定義(或預(yù)定義)頭部來攜帶元數(shù)據(jù)。這種元數(shù)據(jù)可用于應(yīng)用程序的特定數(shù)據(jù),而預(yù)先定義的頭部信息被用于實現(xiàn)大多數(shù)新的MQTT功能。

許多MQTT數(shù)據(jù)包現(xiàn)在也包括原因代碼(Reason Codes)。一個原因代碼表明發(fā)生了一個預(yù)先定義的協(xié)議錯誤。這些原因代碼通常是在確認(rèn)數(shù)據(jù)包中進(jìn)行,允許客戶端和代理解釋錯誤情況(并有可能解決錯誤情況)。原因代碼有時也被稱為否定確認(rèn)(Negative Acknowledgements)。以下MQTT數(shù)據(jù)包可以攜帶原因代碼:

CONNACK

PUBACK

PUBREC

PUBREL

PUBCOMP

SUBACK

UNSUBACK

AUTH

DISCONNECT

04 CONNACK Return Codes—指示不支持/未實現(xiàn)功能

隨著MQTT的普及,許多公司創(chuàng)建并提供了許多MQTT部署。但并非所有的這些實現(xiàn)都是完全兼容MQTT規(guī)范的,因為有時候一些功能并沒有實現(xiàn),比如QoS 2、保留消息持久會話。值得一提的是,虹科HiveMQ是完全符合MQTT規(guī)范的,并且支持所有的功能。

MQTT 5為不完整的MQTT實現(xiàn)提供了一種方法,用來表明該代理不支持特定的功能。客戶端的工作是確保不使用不支持的功能。代理的部署是在CONNACK數(shù)據(jù)包(客戶端發(fā)送CONNECT數(shù)據(jù)包后由代理發(fā)送)中使用預(yù)定義的標(biāo)頭來表明不支持特定的功能。當(dāng)然,這些標(biāo)頭也可以用來向客戶端發(fā)送通知,說明它沒有使用特定功能的權(quán)限。

在MQTT 5中,有以下預(yù)定義的頭部用于指示未實現(xiàn)的功能(或不允許客戶端使用的功能):

wKgaomRHLnGAf0pUAADKNge1PFc75.webp


這些返回代碼對于在異構(gòu)環(huán)境中溝通各個MQTT客戶端的權(quán)限具有重要作用。這個新功能的缺點是:MQTT客戶端需要自己實現(xiàn)對這些代碼的解釋,并且需要確保應(yīng)用程序的程序員僅使用代理支持(客戶端有權(quán)限)的功能。虹科HiveMQ 100% 支持所有 MQTT 5 功能,因此只有在涉及到部署中的權(quán)限時,管理員才會使用這些自定義頭文件。

下期文章中,我們將繼續(xù)給大家介紹MQTT5協(xié)議中的基礎(chǔ)更改中其他新功能的細(xì)節(jié)描述。

05 關(guān)于虹科 HiveMQ

虹科HiveMQ 是一個基于 MQTT 數(shù)據(jù)傳輸?shù)耐ㄐ牌脚_,旨在將數(shù)據(jù)快速、高效、可靠地傳遞給連接的物聯(lián)網(wǎng)設(shè)備,HiveMQ 使用 MQTT 協(xié)議在設(shè)備和企業(yè)平臺之間進(jìn)行實時、雙向的數(shù)據(jù)推送。

wKgZomRHLnKAGfdrAABNxlBCX3o05.webp

虹科HiveMQ 的建立是為了解決企業(yè)在構(gòu)建新的物聯(lián)網(wǎng)應(yīng)用時面臨的一些關(guān)鍵技術(shù)挑戰(zhàn),包括:

構(gòu)建可靠、可擴(kuò)展的關(guān)鍵業(yè)務(wù)物聯(lián)網(wǎng)應(yīng)用

快速的數(shù)據(jù)交付,以滿足終端用戶對響應(yīng)式物聯(lián)網(wǎng)產(chǎn)品的期望

通過有效利用硬件、網(wǎng)絡(luò)和云資源降低運營成本

將物聯(lián)網(wǎng)數(shù)據(jù)整合到現(xiàn)有的企業(yè)系統(tǒng)中

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

    關(guān)注

    17

    文章

    2161

    瀏覽量

    67125
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    640

    瀏覽量

    22359
  • MQTT協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    5325
收藏 人收藏

    評論

    相關(guān)推薦

    【OneNET麒麟座試用體驗】5.基于MQTT協(xié)議的OneNET應(yīng)用

    ,大體結(jié)構(gòu)都這樣。OneNET云官方文檔:http://open.iot.10086.cn/doc/art253.html#68圖 MQTT協(xié)議交互圖 二、OneNET MQTT
    發(fā)表于 05-06 00:12

    MQTT協(xié)議介紹之:發(fā)布/訂閱

    的環(huán)境,例如在機(jī)器到機(jī)器(M2M)和物聯(lián)網(wǎng)(IoT)環(huán)境的通信,只需要小的代碼占用和低網(wǎng)絡(luò)帶寬。MQTT規(guī)范的摘要很好地描述了MQTT是什么,它是非常輕量級的二進(jìn)制協(xié)議,相比于HTT
    發(fā)表于 08-25 19:58

    【HarmonyOS】 MQTT 協(xié)議開發(fā)入門

    客戶端的個或多個topics訂閱。(5)Publish。MQTT客戶端發(fā)送消息請求,發(fā)送完成后返回應(yīng)用程序線程。 五、MQTT協(xié)議數(shù)據(jù)包結(jié)
    發(fā)表于 11-03 17:38

    MQTT 協(xié)議開發(fā)入門

    個或多個topics訂閱。(5)Publish。MQTT客戶端發(fā)送消息請求,發(fā)送完成后返回應(yīng)用程序線程。五、MQTT協(xié)議數(shù)據(jù)包結(jié)構(gòu)在MQTT
    發(fā)表于 11-05 09:38

    MQTT 協(xié)議 開發(fā)入門

    ;(2)接受客戶發(fā)布的應(yīng)用信息;(3)處理來自客戶端的訂閱和退訂請求;(4)向訂閱的客戶轉(zhuǎn)發(fā)應(yīng)用程序消息。4.5 MQTT協(xié)議的訂閱、主題、會話、訂閱(Subscription)訂
    發(fā)表于 11-07 15:51

    MQTT協(xié)議的相關(guān)資料推薦

    支持,同樣的,在ApolloStudio,這標(biāo)準(zhǔn)協(xié)議也已被完整的集成在起,使得ApolloStudio既可以作為MQTT Broker
    發(fā)表于 12-13 06:42

    MQTT 5協(xié)議你知道多少?

    MQTT協(xié)議是當(dāng)今世界上最流行、接受度最高的物聯(lián)網(wǎng)協(xié)議。自推出以來,MQTT協(xié)議在各行業(yè)應(yīng)用廣泛。本文帶大家了解
    的頭像 發(fā)表于 02-23 13:14 ?752次閱讀

    MQTT協(xié)議簡介及協(xié)議原理

    MQTT協(xié)議全稱是Message Queuing Telemetry Transport,翻譯過來就是消息隊列遙測傳輸協(xié)議,它是物聯(lián)網(wǎng)常用的應(yīng)用層協(xié)議,運行在TCP/IP
    的頭像 發(fā)表于 02-28 16:16 ?6847次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>簡介及<b class='flag-5'>協(xié)議</b>原理

    MQTT 5協(xié)議的基礎(chǔ)更改(二)

    上期文章給大家介紹了MQTT 5協(xié)議基礎(chǔ)更改的信息和CONNACK返回碼,本篇文章我們繼續(xù)介
    的頭像 發(fā)表于 05-16 10:46 ?535次閱讀
    <b class='flag-5'>MQTT</b> <b class='flag-5'>5</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>中</b>的基礎(chǔ)<b class='flag-5'>更改</b>(二)

    虹科干貨 | MQTT 5協(xié)議你知道多少?

    虹科IIoTMQTT5協(xié)議你知道多少?虹科干貨01MQTT5簡介MQTT協(xié)議是當(dāng)今世界上最流行、接受度最高的物聯(lián)網(wǎng)
    的頭像 發(fā)表于 03-29 15:44 ?991次閱讀
    虹科干貨 | <b class='flag-5'>MQTT</b> <b class='flag-5'>5</b><b class='flag-5'>協(xié)議</b>你知道多少?

    虹科干貨 | MQTT 5協(xié)議的基礎(chǔ)更改

    虹科IIoTMQTT5協(xié)議的基礎(chǔ)更改)虹科干貨01協(xié)議的基礎(chǔ)性變化
    的頭像 發(fā)表于 04-21 09:51 ?491次閱讀
    虹科干貨 | <b class='flag-5'>MQTT</b> <b class='flag-5'>5</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>中</b>的基礎(chǔ)<b class='flag-5'>更改</b>(<b class='flag-5'>一</b>)

    虹科干貨 | MQTT 5協(xié)議的基礎(chǔ)更改(二)

    IIoTMQTT5協(xié)議的基礎(chǔ)更改(二)上期文章給大家介紹了MQTT規(guī)范版本
    的頭像 發(fā)表于 05-15 09:40 ?522次閱讀
    虹科干貨 | <b class='flag-5'>MQTT</b> <b class='flag-5'>5</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>中</b>的基礎(chǔ)<b class='flag-5'>更改</b>(二)

    物聯(lián)網(wǎng)MQTT協(xié)議概述

    MQTT協(xié)議已經(jīng)成了物聯(lián)網(wǎng)通信中的個熱詞,今天我們起來學(xué)習(xí)下關(guān)于MQTT
    的頭像 發(fā)表于 11-25 14:09 ?1229次閱讀

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

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

    MQTT協(xié)議網(wǎng)關(guān)解決方案設(shè)計與實施

    的主要功能包括協(xié)議轉(zhuǎn)換、消息過濾、安全認(rèn)證、負(fù)載均衡等,以確保消息的可靠傳輸和系統(tǒng)的穩(wěn)定運行。隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,MQTT協(xié)議作為種輕量級的發(fā)布/訂閱消息傳輸
    的頭像 發(fā)表于 03-11 14:07 ?418次閱讀