青草国产精品久久久久久,国产高清一区二区三区视频,免费av一区二区三区,午夜熟女插插XX免费视频

產(chǎn)品
有人云 — 物聯(lián)網(wǎng)云平臺 零編程,組態(tài)拖拽即可實現(xiàn)遠程監(jiān)控。同時支持私有部署,擁有屬于自己的軟硬件一體化方案
200
+
私有云項目
數(shù)據(jù)本地化
業(yè)務(wù)個性化
10
+
萬 公有云注冊用戶
80%公有云功能免費
付費VIP享自定義品牌服務(wù)
有人云官網(wǎng)
有人智造 — ODM/EMS 依托自動化、智能化、柔性化、透明化的智能工廠,
提供代研、代料、代工一站式OEM/ODM服務(wù)
有人智造官網(wǎng)
有人智能 — 解決方案 打包提供云、管、邊、端整體解決方案
從問題診斷、方案設(shè)計,到實施落地、系統(tǒng)運維
有人智能官網(wǎng)
新聞資訊
什么是MQTT?為什么在IIoT中需要它
2020-11-26


  隨著行業(yè)的快速發(fā)展,數(shù)據(jù)管理和接收所需的設(shè)備數(shù)量也在增加。為了解決眾多設(shè)備之間的通信問題以及單個網(wǎng)絡(luò)中設(shè)備組合的問題,已經(jīng)創(chuàng)建了物聯(lián)網(wǎng)(IoT)概念-基于某些功能的單個網(wǎng)絡(luò)中設(shè)備的組合或特性,此網(wǎng)絡(luò)進一步與類似網(wǎng)絡(luò)組合在一起,從而創(chuàng)建更大的網(wǎng)絡(luò),依此類推。

什么是MQTT?為什么在IIoT中需要它

  在這樣的網(wǎng)絡(luò)中,設(shè)備通過各種接口和通信協(xié)議彼此交互。當我們正在考慮物聯(lián)網(wǎng)概念的工業(yè)實現(xiàn)時,應(yīng)使用具有自己的協(xié)議和硬件的工業(yè)設(shè)備,讓我們開始探討IIoT概念(工業(yè)物聯(lián)網(wǎng))。

  為了進行通信,設(shè)備可以使用各種工業(yè)協(xié)議。為此,MQTT很受歡迎。

  什么是MQTT?

  MQTT或消息隊列遙測傳輸是一種輕巧的開放式消息傳遞協(xié)議,用于在要求“代碼占用量小”或網(wǎng)絡(luò)帶寬受限的遠程位置進行數(shù)據(jù)傳輸。這些優(yōu)勢允許在M2M系統(tǒng)(機器對機器)和IIoT系統(tǒng)(工業(yè)物聯(lián)網(wǎng))中實現(xiàn)此協(xié)議。

  還存在一種協(xié)議變體MQTT-SN(用于傳感器網(wǎng)絡(luò)的MQTT),以前稱為MQTT-S,其設(shè)計用于不支持TCP / IP網(wǎng)絡(luò)的嵌入式無線設(shè)備,例如ZigBee。

  MQTT協(xié)議的功能

  MQTT協(xié)議的主要功能:

  ● 異步協(xié)議

  ● 緊湊的消息

  ● 在數(shù)據(jù)傳輸線連接不穩(wěn)定的情況下運行

  ● 支持多個服務(wù)質(zhì)量(QoS)級別

  ● 輕松集成新設(shè)備

  在應(yīng)用程序?qū)由?,MQTT協(xié)議在TCP / IP協(xié)議之上工作,并且默認使用端口1883(如果通過SSL連接則使用端口8883)。

MQTT協(xié)議的功能

  在MQTT協(xié)議中,消息交換在客戶端(可能是消息發(fā)布者或消息訂閱者)與消息代理(例如Mosquitto MQTT)之間進行。

  發(fā)布者在MQTT Broker上發(fā)送數(shù)據(jù),并在消息中指定了明確的主題。訂閱者可以根據(jù)對相應(yīng)主題的訂閱,從多個發(fā)布者接收各種數(shù)據(jù)。

  MQTT設(shè)備使用確定類型的消息來與代理進行通信。主要類型如下:

  ● 連接–建立與Message Broker的連接

  ● 斷開連接–斷開與消息代理的連接

  ● 發(fā)布–在Message Broker中發(fā)布有關(guān)主題的數(shù)據(jù)

  ● 訂閱–訂閱消息代理上的主題

  ● 退訂–退訂主題

MQTT設(shè)備使用確定類型的消息來與代理進行通信。

  消息的結(jié)構(gòu)

  MQTT消息包含以下幾部分:

  ● 固定的標頭(出現(xiàn)在所有消息中)

  ● 可變標頭(出現(xiàn)在某些消息中)

  ● 數(shù)據(jù),有效負載(存在于某些消息中)

  固定頭

MQTT消息包含哪那幾部分

  消息類型-例如:CONNECT,SUBSCRIBE,PUBLISH等。

  每個MQTT數(shù)據(jù)包特有的標志–這4位用于輔助標志,輔助標志的存在和狀態(tài)取決于消息類型。

  剩余長度–當前消息長度(可變報頭+數(shù)據(jù)),大小為1到4個字節(jié)。

  總體而言,MQTT協(xié)議中有15種消息類型:

訊息類型 流向 描述
已預留 0000(0) 禁止的 已預留
連接 0001(1) C *-> S ** 客戶端請求連接到服務(wù)器
康納克 0010(2) C <- 連接確認
發(fā)布 0011(3) C <-S,C-> S 發(fā)布訊息
回送 0100(4) C <-S,C-> S 發(fā)布確認
PUBREC 0101(5) C <-S,C-> S 發(fā)布收到
公開 0110(6) C <-S,C-> S 發(fā)布發(fā)行
PUBCOMP 0111(7) C <-S,C-> S 發(fā)布完成
訂閱 1000(8) C-> S 客戶訂閱請求
后退 1001(9) C <- 訂閱確認
取消訂閱 1010(10) C-> S 退訂請求
取消訂閱 1011(11) C <- 退訂確認
PINGREQ 1100(12) C-> S PING請求
平RESP 1101(13) C <- PING回應(yīng)
斷開 1110(14) C-> S 客戶端斷開連接
已預留 1111(15) 禁止的 已預留

   標志

  固定標頭的前4個最高有效位用作特定標志:

固定標頭的前4個最高有效位用作特定標志

  DUP –當客戶端或MQTT代理提交重發(fā)的數(shù)據(jù)包(在PUBLISH,SUBSCRIBE,UNSUBSCRIBE,PUBREL中使用)時,將設(shè)置Duplicate。如果設(shè)置了該標志,則變量頭必須包含消息ID(消息標識符)。

  QoS –服務(wù)質(zhì)量(0,1,2)

  保留-發(fā)布帶有保留標志的數(shù)據(jù)時,代理將對其進行存儲。建立對該主題的新訂閱后,代理將立即發(fā)送帶有此標志的消息。僅在PUBISH類型的消息中使用。

  可變標題

  某些標頭中存在可變標頭。

  它包含以下數(shù)據(jù):

  ● 數(shù)據(jù)包標識符–存在于所有類型的消息中,但以下情況除外:CONNECT,CONNACK,PUBLISH(сQoS <1),PINGREQ,PINGRESP,DISCONNECT

  ● 協(xié)議名稱–僅在CONNECT消息類型中顯示

  ● 協(xié)議版本–僅在CONNECT消息類型中存在

  ● 連接標志–指定連接期間客戶端行為的標志

可變標題數(shù)據(jù)

  用戶名–如果設(shè)置了該標志,則有效負載中必須存在一個用戶名(用于客戶端身份驗證)

  密碼–如果設(shè)置了此標志,則有效負載中必須存在密碼(用于客戶端身份驗證)

  將會保留-如果該標志設(shè)置為1,則代理將存儲一個意愿消息。

  Will QoS – Will Message的服務(wù)質(zhì)量。如果設(shè)置了意愿標記,則必須存在意愿QoS和意愿保留。

  意志標志-如果設(shè)置了該標志,則在客戶端斷開代理而不發(fā)送DISCONNECT命令(如果發(fā)生不可預知的關(guān)閉,失敗等情況)之后,代理將通過所謂的意志消息通知所有已連接的客戶端。

  干凈會話-如果將該標志設(shè)置為0,則代理存儲一個會話,所有客戶端訂閱都將通過客戶端的下一個連接發(fā)送,并且在客戶端斷開連接時,代理將接收來自QoS1和QoS2的所有消息。因此,如果該標志設(shè)置為1,則到下一個連接,客戶端必須再次訂閱所有主題。

  ● 會話存在–在CONNACK類型的消息中應(yīng)用。如果Broker接受將Clean Session設(shè)置為1的連接,則必須將Session Present(SP)設(shè)置為0。如果Broker接受Clean Session設(shè)置為0的連接,則SP中設(shè)置的值取決于Broker是否已存儲此客戶端的會話狀態(tài)(如果是,則必須將SP設(shè)置為1,反之亦然)。會話存在標志使客戶端能夠確定是否已經(jīng)存儲了會話狀態(tài)。

  ● 連接返回碼–如果代理出于某種原因無法從客戶端接收格式正確的CONNACK數(shù)據(jù)包,則必須在下表的CONNACK數(shù)據(jù)包的第二個字節(jié)中設(shè)置適當?shù)闹担?/p>

返回碼響應(yīng) 描述
0 0x00接受連接 接受連接
1個 0x01連接被拒絕,協(xié)議版本不可接受 代理不支持客戶端請求的協(xié)議版本
2 0x02連接被拒絕,標識符被拒絕 用于連接的客戶端的客戶端ID不在具有允許ID的列表中
3 0x03連接被拒絕,服務(wù)器不可用 已建立網(wǎng)絡(luò)連接,但MQTT服務(wù)不可用
4 0x04連接被拒絕,用戶名或密碼錯誤 用戶名或密碼中的數(shù)據(jù)格式錯誤
5 0x05連接被拒絕,未授權(quán) 客戶端無權(quán)連接
6-255 保留以備將來使用

  數(shù)據(jù),有效載荷

  通過MQTT消息傳輸?shù)臄?shù)據(jù)的內(nèi)容和格式在設(shè)備中定義??梢酝ㄟ^從剩余長度中減去變量頭的長度來計算數(shù)據(jù)大小。

  返回目錄

  MQTT協(xié)議(QoS)中的服務(wù)質(zhì)量

  發(fā)送消息時,MQTT支持三個級別的服務(wù)質(zhì)量(QoS)。

  QoS 0最多一次。在此級別上,發(fā)布者一次向代理發(fā)送一條消息,并且不等待任何響應(yīng),即發(fā)送并忘記它。

QoS 0最多一次

  QoS 1至少一次。此級別可確保將消息傳遞到代理,但是可以從發(fā)布者復制消息。一旦收到副本,代理將再次將此消息發(fā)送給訂閱服務(wù)器,并將消息接收確認轉(zhuǎn)發(fā)給發(fā)布服務(wù)器。如果發(fā)布者未從代理獲取PUBACK消息,它將嘗試重新傳遞此數(shù)據(jù)包,將DUP設(shè)置為1。

QoS 1至少一次。

  QoS 2恰好一次。在此級別上,可以確保將消息傳遞到客戶端,并且不可能重復副本。

QoS 2恰好一次。

  發(fā)布者向代理發(fā)送消息。該消息包含唯一的數(shù)據(jù)包ID,QoS = 2和DUP = 0。發(fā)布者存儲未經(jīng)確認的消息,除非它從代理獲得PUBREC響應(yīng)。代理回復包含相同分組ID的PUBREC消息。收到此消息后,發(fā)布者發(fā)送具有相同數(shù)據(jù)包ID的PUBREL。代理必須存儲消息副本,直到獲得PUBREL。代理收到PUBREL后,它將刪除消息副本,并將有關(guān)已完成的事務(wù)的PUBCOMP消息發(fā)送給發(fā)布者。

工作日每天: 14:00~17:00
抖音、天貓 "有人旗艦店"

關(guān)注有人微信公眾號
了解更多信息