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

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

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

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

虹科工業(yè)物聯(lián)網(wǎng)技術(shù) ? 2023-04-21 09:51 ? 次閱讀

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

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

MQTT仍然是MQTT

02

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

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

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

03

MQTT 頭部屬性和原因代碼

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


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

CONNACK

PUBACK

PUBREC

PUBREL

PUBCOMP

SUBACK

UNSUBACK

AUTH

DISCONNECT

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

04

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


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


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

6a1af8e8-dedf-11ed-ad0d-dac502259ad0.png

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

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

關(guān)于虹科 HiveMQ

05

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

6a44ef36-dedf-11ed-ad0d-dac502259ad0.png

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

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

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

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

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

虹科HiveMQ 提供免費(fèi)版、專業(yè)版、企業(yè)版 MQTT Broker 產(chǎn)品,并提供 Kafka、企業(yè)安全及 MQTT Broker 橋接三種企業(yè)級(jí)擴(kuò)展套件,HiveMQ 還提供高效的 MQTT 客戶端及云平臺(tái),多方位滿足用戶需求。

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

    關(guān)注

    18

    文章

    6032

    瀏覽量

    135992
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    651

    瀏覽量

    22505
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    萬字干貨!CAN XL研討會(huì)問答,你想知道的都在這里!

    CANXL國際研討會(huì)圓滿結(jié)束,感謝各位觀眾的熱情參與!攜手多位CANXL創(chuàng)始成員及行業(yè)領(lǐng)袖,包括來自國際CiA協(xié)會(huì)、博世、英飛凌以及恩智浦等,帶來
    的頭像 發(fā)表于 11-16 01:00 ?459次閱讀
    萬字<b class='flag-5'>干貨</b>!<b class='flag-5'>虹</b><b class='flag-5'>科</b>CAN XL研討會(huì)問答,你想知道的都在這里!

    物聯(lián)網(wǎng)行業(yè)MQTT通信協(xié)議詳解以及使用

    概述 MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測傳輸協(xié)議),是種基于發(fā)布/訂閱(publish/subscribe)模式的“輕
    的頭像 發(fā)表于 09-20 17:08 ?1450次閱讀
    物聯(lián)網(wǎng)行業(yè)<b class='flag-5'>中</b><b class='flag-5'>MQTT</b>通信<b class='flag-5'>協(xié)議</b>詳解以及使用

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

    在物聯(lián)網(wǎng)的快速發(fā)展,MQTT協(xié)議網(wǎng)關(guān)作為連接物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器的重要橋梁,扮演著不可或缺的角色。MQTT種基于發(fā)布/訂閱模式的
    的頭像 發(fā)表于 09-18 17:00 ?494次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)的工作原理及功能特性

    干貨 輕松掌握PCAN-Explorer 6,dll調(diào)用文打盡!

    導(dǎo)讀:PCAN-Explorer 6(下稱“PE6”)作為款專業(yè)的CAN/CAN FD網(wǎng)絡(luò)處理軟件,不僅提供了強(qiáng)大的報(bào)文監(jiān)控和發(fā)送功能,還通過其創(chuàng)新的dll加載功能,為用戶帶來了更加靈活和高效
    的頭像 發(fā)表于 08-29 10:00 ?486次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干貨</b> 輕松掌握PCAN-Explorer 6,dll調(diào)用<b class='flag-5'>一</b>文打盡!

    MQTT網(wǎng)關(guān):物聯(lián)網(wǎng)的關(guān)鍵橋梁

    MQTT網(wǎng)關(guān):物聯(lián)網(wǎng)的關(guān)鍵橋梁 在物聯(lián)網(wǎng)(IoT)的廣闊世界MQTT網(wǎng)關(guān)扮演著至關(guān)重要的角色。MQTT,全稱為Message Queu
    的頭像 發(fā)表于 08-22 14:15 ?409次閱讀
    <b class='flag-5'>MQTT</b>網(wǎng)關(guān):物聯(lián)網(wǎng)<b class='flag-5'>中</b>的關(guān)鍵橋梁

    基于MQTT協(xié)議云平臺(tái)的Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)

    鋇錸Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)BL100是款高性能、高性價(jià)比的物聯(lián)網(wǎng)網(wǎng)關(guān),它支持將Modbus協(xié)議(包括Modbus RTU和Modbus TCP)的數(shù)據(jù)轉(zhuǎn)換為MQTT
    的頭像 發(fā)表于 07-29 17:59 ?767次閱讀
    基于<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>云平臺(tái)的Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān)

    鋇錸協(xié)議網(wǎng)關(guān)輕松實(shí)現(xiàn)Modbus轉(zhuǎn)MQTT協(xié)議

    Modbus是種在工業(yè)自動(dòng)化領(lǐng)域廣泛使用的通信協(xié)議,以其簡單性和可靠性而著稱。然而,隨著物聯(lián)網(wǎng)技術(shù)的興起,傳統(tǒng)的Modbus協(xié)議需要與通信協(xié)議MQ
    的頭像 發(fā)表于 07-23 15:51 ?360次閱讀
    鋇錸<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)輕松實(shí)現(xiàn)Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>

    干貨丨輕松掌握PCAN-Explorer 6,dll調(diào)用文打盡!

    PCAN-Explorer 6(下稱“PE6”)作為款專業(yè)的CAN/CAN FD網(wǎng)絡(luò)處理軟件,不僅提供了強(qiáng)大的報(bào)文監(jiān)控和發(fā)送功能,還通過其創(chuàng)新的dll加載功能,為用戶帶來了更加靈活和高效的批量
    的頭像 發(fā)表于 04-19 10:36 ?809次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干貨</b>丨輕松掌握PCAN-Explorer 6,dll調(diào)用<b class='flag-5'>一</b>文打盡!

    mqtt協(xié)議和tcp協(xié)議區(qū)別

    帶寬和高延遲的網(wǎng)絡(luò)環(huán)境,尤其在物聯(lián)網(wǎng)環(huán)境中表現(xiàn)優(yōu)秀。而TCP協(xié)議是面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,主要用于互聯(lián)網(wǎng)和局域網(wǎng)的數(shù)據(jù)傳輸。 2. 連接方式:MQTT
    的頭像 發(fā)表于 04-01 09:15 ?1631次閱讀

    MQTT和Modbus的物聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議的區(qū)別分析

    MQTT和Modbus的物聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議區(qū)別分析 MQTT(Message Queuing Telemetry Transport)與Modbus是兩種廣泛應(yīng)用在物聯(lián)網(wǎng)環(huán)境的通信
    的頭像 發(fā)表于 03-18 16:50 ?823次閱讀
    <b class='flag-5'>MQTT</b>和Modbus的物聯(lián)網(wǎng)網(wǎng)關(guān)<b class='flag-5'>協(xié)議</b>的區(qū)別分析

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

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

    干貨|HK-TE-200x系列FAQ():如何定義EES的VLAN?

    導(dǎo)讀:在今天的干貨系列,我們將探討HK-TE-200x系列交換機(jī)的VLAN配置。VLAN(虛擬局域網(wǎng))在現(xiàn)代網(wǎng)絡(luò)架構(gòu)
    的頭像 發(fā)表于 03-04 14:26 ?407次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干貨</b>|HK-TE-200x系列FAQ(<b class='flag-5'>一</b>):如何定義EES的VLAN?

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

    MQTT種輕量級(jí)消息傳遞協(xié)議,由IBM開發(fā),于1999年首次發(fā)布。它使用發(fā)布/訂閱模式并在設(shè)備、服務(wù)器和應(yīng)用程序之間轉(zhuǎn)換消息。
    的頭像 發(fā)表于 02-25 17:04 ?1344次閱讀
    什么是<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é)議與終端監(jiān)測設(shè)備結(jié)合

    mqtt協(xié)議與終端監(jiān)測設(shè)備結(jié)合 摘要: MQTT個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議, 優(yōu)點(diǎn)是輕量,簡單,開放和易于實(shí)現(xiàn)的,這樣
    的頭像 發(fā)表于 01-30 13:13 ?397次閱讀
    <b class='flag-5'>mqtt</b><b class='flag-5'>協(xié)議</b>與終端監(jiān)測設(shè)備結(jié)合

    mqtt協(xié)議和http協(xié)議區(qū)別

    MQTT(Message Queuing Telemetry Transport)是種基于發(fā)布/訂閱模式的“輕量級(jí)”通訊協(xié)議,構(gòu)建于TCP/IP協(xié)議上。它是由IBM在1999年發(fā)布的
    的頭像 發(fā)表于 01-19 15:56 ?6940次閱讀