MQTT (消息隊(duì)列遠(yuǎn)程傳送)是一種“輕量級”的通信協(xié)議,它是以發(fā)行/訂購方式為基礎(chǔ)的。MQTT工業(yè)協(xié)議網(wǎng)關(guān)的優(yōu)勢是能夠?yàn)檫h(yuǎn)程設(shè)備提供實(shí)時、可靠的信息服務(wù),而編碼量很小,帶寬也很小。它是一種低能耗、低帶寬的實(shí)時通信協(xié)議,可以應(yīng)用于物聯(lián)網(wǎng),小型設(shè)備,移動應(yīng)用等領(lǐng)域。
主要的功能是:
(1)接受來自客戶端的網(wǎng)絡(luò)連接
(2)接收客戶端發(fā)布的信息
(3)處理來自客戶端的訂閱和退訂的請求
(4)向訂閱的客戶轉(zhuǎn)發(fā)應(yīng)用程序的消息。
工業(yè)網(wǎng)關(guān)Modbus協(xié)議
自1979年首次出現(xiàn)至今, Modbus已經(jīng)演變?yōu)橐惶兹娴闹С侄喾N物理鏈接的協(xié)議集(如 RS-485)。 Modbus 的核心是一個串行通信協(xié)議,采用主從模式。 主機(jī)向從機(jī)發(fā)送請求,從機(jī)予以回復(fù)。 借助 RS-485,主從機(jī)之間的通信發(fā)生在指示功能碼的幀中。 該功能碼可識別要操作的功能,如讀取獨(dú)立輸入;讀取先進(jìn)先出隊(duì)列;或執(zhí)行診斷函數(shù)。 然后,從機(jī)根據(jù)收到的功能碼進(jìn)行響應(yīng),該響應(yīng)較為簡單,由一組字節(jié)指示。 因此,從機(jī)可以是智能設(shè)備,也可以是只有一個傳感器的簡單設(shè)備。
從該描述中,您可以看到Modbus協(xié)議非常簡單,但是其作為協(xié)議的開放性使其成為整個行業(yè)或 SCADA 系統(tǒng)的實(shí)際通信協(xié)議。
工業(yè)網(wǎng)關(guān)MQTT協(xié)議
MQTT是一個開放的輕量級機(jī)器對機(jī)器協(xié)議,專為物聯(lián)網(wǎng)交互設(shè)計。 MQTT 網(wǎng)絡(luò)包含一個 MQTT 經(jīng)紀(jì)人 (broker),負(fù)責(zé)協(xié)調(diào) MQTT 代理之間的交互。 代理是發(fā)布器,負(fù)責(zé)發(fā)布供用戶使用的信息。
MQTT 的要求非常少,因?yàn)樗鼘橘Y源有限的嵌入式設(shè)備設(shè)計。 除了占地空間少之外,MQTT還可提供出色的通信高效性(即使通過低帶寬網(wǎng)絡(luò)進(jìn)行通信)和非常少的開銷(較之 HTTP 等協(xié)議)。 在 3G 網(wǎng)絡(luò)中,MQTT 的吞吐量速度是使用 HTTP 的表述性狀態(tài)轉(zhuǎn)移 (REST) 的 93 倍。
MQTT 可使用最少的方法指示要在特定主題上實(shí)施的操作,進(jìn)而實(shí)施發(fā)布/訂閱模式。 代理先連接到經(jīng)紀(jì)人,然后再發(fā)布或訂閱主題。 完成后,代理將從經(jīng)紀(jì)人上斷開連接。
MQTT工業(yè)協(xié)議網(wǎng)關(guān)的網(wǎng)絡(luò)傳輸是什么
MQTT建立了一個基本的網(wǎng)絡(luò)傳輸,能夠?qū)⒖蛻舳伺c服務(wù)器連接,并且基于字節(jié)流的有序、非破壞性的雙向傳輸。
(1)協(xié)議原理
MQTT協(xié)議通訊過程,需要客戶端和服務(wù)器共同完成,一共有三個身份,發(fā)布者(Publish),代理(Broker)、訂閱者(Subscribe),其中消息發(fā)發(fā)布者和訂閱者都可以是客戶端,消息代理是mqtt服務(wù)器。
①M(fèi)QTT的實(shí)現(xiàn)方式
Topic:主題,可以理解為消息的類型;
Payload:消息內(nèi)容,可以理解為具體要使用的數(shù)據(jù)內(nèi)容
?、贛QTT客戶端
MQTT工業(yè)協(xié)議網(wǎng)關(guān)是一種以 mqtt為基礎(chǔ)的網(wǎng)絡(luò)連接,經(jīng)常被用來發(fā)布信息、訂購、刪除或刪除應(yīng)用的消息、中斷與服務(wù)器的連接。
(2) MQTT協(xié)議特性
該協(xié)議是為在低帶寬、不可靠的網(wǎng)絡(luò)中的遠(yuǎn)程傳感和控制裝置通信而設(shè)計的,具有如下幾個主要特點(diǎn):
?、偈褂冒l(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合。
?、趯ω?fù)載內(nèi)容屏蔽的消息傳輸。
?、凼褂肨cp/IP提供網(wǎng)絡(luò)連接。
?、苡腥N消息發(fā)布服務(wù)質(zhì)量,消息發(fā)布(Qos:0至多一次,1至少一次,2只有一次)
?、菪⌒蛡鬏?、流量需求小。
標(biāo)準(zhǔn)化MQTT協(xié)議
?、儆嗛?subscripTIon)
訂閱包含主題篩選器(Topic Filter)和服務(wù)質(zhì)量(QoS)。訂閱會與一個會話(Session)關(guān)聯(lián)。一個會話可以包含多個訂閱。每一個會話中的每個訂閱都有一個不同的主題篩選器。
?、跁?session)
每個客戶端與服務(wù)器建立連接后就是應(yīng)該會話客戶端和服務(wù)器之間有狀態(tài)交互,會話存在與一個網(wǎng)絡(luò)之間,也可能在客戶端和服務(wù)器之間跨越多個連續(xù)的網(wǎng)絡(luò)連接。
?、壑黝}名(Topic name)
連接到一個應(yīng)用程序消息的標(biāo)簽,該標(biāo)簽與服務(wù)器的訂閱相匹配服務(wù)器會將消息發(fā)送給訂閱所匹配標(biāo)簽的每一個客戶端
?、軘?shù)據(jù)上傳(Data upload)
電表無線傳輸做到了小型傳輸、流量需求小,這款電表的數(shù)據(jù)上傳流程簡潔,(詳細(xì)見附錄)將多余的數(shù)據(jù)上傳步驟優(yōu)化,促使定制化數(shù)據(jù)上傳,其中包含了常用的電參量數(shù)據(jù)、信號強(qiáng)度、有功需量、電壓電流變比、溫度、DI狀態(tài)、電壓電流諧波畸變率、尖峰平谷電能等等。
綜上所述,在現(xiàn)在物聯(lián)網(wǎng)技術(shù)的大環(huán)境下,MQTT服務(wù)器的已經(jīng)陸續(xù)被各個商家企業(yè)采用,因?yàn)镸QTT服務(wù)器與協(xié)議能夠滿足他們智能化管理需求。很多企業(yè)的一些生產(chǎn)車間配電柜都需要使用無線設(shè)備監(jiān)測用電設(shè)備的工作狀態(tài),通過MQTT工業(yè)協(xié)議網(wǎng)關(guān)對電纜以及生產(chǎn)線的各種設(shè)備參數(shù)進(jìn)行采集,主要包含電流、電壓等電參量數(shù)據(jù),并且將獲得的數(shù)據(jù)實(shí)時上傳到MQTT服務(wù)器云端,然后通過物聯(lián)網(wǎng)平臺和數(shù)據(jù)庫訂閱服務(wù)器端主題,來獲取終端監(jiān)測設(shè)備的數(shù)據(jù),實(shí)現(xiàn)終端和云端的雙向通信,搭建強(qiáng)大的數(shù)據(jù)通道,獲得的數(shù)據(jù)被存儲到MQTT服務(wù)器的云數(shù)據(jù)庫中,能夠保證數(shù)據(jù)的安全性,搭建用電管理和顯示系統(tǒng),通過云技術(shù)、大數(shù)據(jù)、互聯(lián)網(wǎng)將獲得的數(shù)據(jù)顯示到前臺,用戶可以通過登錄頁面等實(shí)時監(jiān)控設(shè)備和電纜的電力數(shù)據(jù)情況。