摘要:MQTT是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議, 優(yōu)點(diǎn)是輕量,簡(jiǎn)單,開(kāi)放和易于實(shí)現(xiàn)的,這樣的特點(diǎn)在于物聯(lián)網(wǎng)設(shè)備中就十分適用,這也是它在物聯(lián)網(wǎng)中被廣泛應(yīng)用的原因之一。而物聯(lián)網(wǎng)產(chǎn)品的電表-adw300就可以基于物聯(lián)網(wǎng)技術(shù),通過(guò)mqtt服務(wù)器,實(shí)時(shí)向客戶平臺(tái)推送所監(jiān)測(cè)的設(shè)備的工作狀態(tài)。保障用電設(shè)備能夠安全、可靠、高效的運(yùn)行。
關(guān)鍵詞:物聯(lián)網(wǎng);mqtt服務(wù)器;可靠;
引言
物聯(lián)網(wǎng)(Internent of things),網(wǎng)上熱詞稱為,“物品與物品之間都存在網(wǎng)絡(luò)",它是基于互聯(lián)網(wǎng)的基礎(chǔ)上去延伸和擴(kuò)展的網(wǎng)絡(luò),形成新的概念——物聯(lián)網(wǎng)。其物品與物品之間進(jìn)行信息交互和通信,又被稱為,物物相息。物聯(lián)網(wǎng)通過(guò)智能感知,識(shí)別技術(shù)與普適計(jì)算等通信感知技術(shù),被廣泛的應(yīng)用在網(wǎng)絡(luò)融合中。
一、MQTT協(xié)議
1.MQTT通訊協(xié)議的概念
MQTT協(xié)議(Message Queuing Telemtry Transport),又稱消息隊(duì)列遙測(cè)傳輸協(xié)議,是一種基于發(fā)布/訂閱模式的“輕量級(jí)"通訊協(xié)議,它是構(gòu)建與Tcp/IP協(xié)議上,1999年發(fā)布的通訊協(xié)議。MQTT的優(yōu)點(diǎn)在于,可以以很少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低能耗、低帶寬占用的實(shí)時(shí)通訊協(xié)議,使其在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有較廣泛的應(yīng)用。
MQTT服務(wù)器(消息代理),常見(jiàn)的mqtt服務(wù)器并不是宏觀的機(jī)房里一堆柜子,而是基于Erlang/OTP平臺(tái)開(kāi)發(fā)的一個(gè)軟件,然后有電腦等等設(shè)備運(yùn)行這個(gè)軟件。直觀的理解成運(yùn)行了 MQTT 消息服務(wù)器軟件的一臺(tái)服務(wù)器或一個(gè)服務(wù)器集群。
主要的功能是:如下圖1-1所示。
(1)接受來(lái)自客戶端的網(wǎng)絡(luò)連接
(2)接受客戶端發(fā)布的信息
(3)處理來(lái)自客戶端的訂閱和退訂的請(qǐng)求
(4)向訂閱的客戶轉(zhuǎn)發(fā)應(yīng)用程序的消息。
圖1-1
二、MQTT協(xié)議網(wǎng)絡(luò)傳輸
MQTT會(huì)構(gòu)建底層網(wǎng)絡(luò)傳輸,它將建立的客戶端和服務(wù)器連接,,提供應(yīng)該有序的,無(wú)損的,基于字節(jié)流的雙向傳輸發(fā)送數(shù)據(jù)的時(shí)候,MQTT會(huì)把與之相關(guān)的服務(wù)質(zhì)量(Qos)和主題名(Topic)關(guān)聯(lián)。
(1)協(xié)議原理
MQTT協(xié)議通訊過(guò)程,需要客戶端和服務(wù)器共同完成,一共有三個(gè)身份,發(fā)布者(Publish),代理(Broker)、訂閱者(Subscribe),其中消息發(fā)發(fā)布者和訂閱者都可以是客戶端,消息代理是mqtt服務(wù)器。
①M(fèi)QTT的實(shí)現(xiàn)方式
Topic:主題,可以理解為消息的類型;
Payload:消息內(nèi)容,可以理解為具體要使用的數(shù)據(jù)內(nèi)容
②MQTT客戶端
一個(gè)使用mqtt協(xié)議的運(yùn)用程序或設(shè)備,它是基于mqtt服務(wù)器端的網(wǎng)絡(luò)連接,常用于發(fā)布信息,訂閱發(fā)布信息,退訂或刪掉應(yīng)用程序的消息,斷開(kāi)與服務(wù)器連接。
(2) MQTT協(xié)議特性
協(xié)議是工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計(jì)的協(xié)議,它具備以下主要的幾項(xiàng)特性:
①使用發(fā)布/訂閱消息模式,提供一對(duì)多的消息發(fā)布,解除應(yīng)用程序耦合。
②對(duì)負(fù)載內(nèi)容屏蔽的消息傳輸。
③使用Tcp/IP提供網(wǎng)絡(luò)連接。
④有三種消息發(fā)布服務(wù)質(zhì)量,消息發(fā)布(Qos:0至多一次,1至少一次,2只有一次)
⑤小型傳輸、流量需求小。
圖2-1
三、MQTT服務(wù)器與終端監(jiān)測(cè)設(shè)備通訊交流
很多的電表都是通過(guò)接網(wǎng)關(guān)的方式,是設(shè)備與mqtt服務(wù)器進(jìn)行數(shù)據(jù)交互,而ADW系列中,幾款電表中的一款——ADW300電表,本身具備上網(wǎng)的功能有4G和wifi兩種,它們通過(guò)物聯(lián)網(wǎng)卡或局域網(wǎng)的方式,使設(shè)備具備了聯(lián)網(wǎng)的功能,減少設(shè)備連接網(wǎng)關(guān)再上服務(wù)器瑣碎的過(guò)程,實(shí)現(xiàn)工業(yè)物聯(lián)網(wǎng)。
(1) ADW300無(wú)線計(jì)量?jī)x表
ADW300無(wú)線計(jì)量?jī)x表主要用于計(jì)量低壓網(wǎng)絡(luò)的三相有功電能,具有體積小、精度高、功能豐富等優(yōu)點(diǎn),并且可選通訊方式多,可支持RS485通訊和Lora、NB、4G、wifi等無(wú)線通訊方式,增加了外置互感器的電流采樣模式,從而方便用戶在不同場(chǎng)合進(jìn)行安裝使用??伸`活安裝于配電箱內(nèi),實(shí)現(xiàn)對(duì)不同區(qū)域和不同負(fù)荷的分項(xiàng)電能計(jì)量、運(yùn)維監(jiān)管或電力監(jiān)控等需求。
(2)標(biāo)準(zhǔn)化MQTT協(xié)議
①訂閱(subscription)
訂閱包含主題篩選器(Topic Filter)和服務(wù)質(zhì)量(QoS)。訂閱會(huì)與一個(gè)會(huì)話(Session)關(guān)聯(lián)。一個(gè)會(huì)話可以包含多個(gè)訂閱。每一個(gè)會(huì)話中的每個(gè)訂閱都有一個(gè)不同的主題篩選器。
②會(huì)話(session)
每個(gè)客戶端與服務(wù)器建立連接后就是應(yīng)該會(huì)話客戶端和服務(wù)器之間有狀態(tài)交互,會(huì)話存在與一個(gè)網(wǎng)絡(luò)之間,也可能在客戶端和服務(wù)器之間跨越多個(gè)連續(xù)的網(wǎng)絡(luò)連接。
③主題名(Topic name)
連接到一個(gè)應(yīng)用程序消息的標(biāo)簽,該標(biāo)簽與服務(wù)器的訂閱相匹配服務(wù)器會(huì)將消息發(fā)送給訂閱所匹配標(biāo)簽的每一個(gè)客戶端
④數(shù)據(jù)上傳(Data upload)
電表無(wú)線傳輸做到了小型傳輸、流量需求小,這款電表的數(shù)據(jù)上傳流程簡(jiǎn)潔,(詳細(xì)見(jiàn)附錄)將多余的數(shù)據(jù)上傳步驟優(yōu)化,促使定制化數(shù)據(jù)上傳,其中包含了常用的電參量數(shù)據(jù)、信號(hào)強(qiáng)度、有功需量、電壓電流變比、溫度、DI狀態(tài)、電壓電流諧波畸變率、尖峰平谷電能等等。
四.總結(jié)
綜上所述,在現(xiàn)在物聯(lián)網(wǎng)技術(shù)的大環(huán)境下,MQTT服務(wù)器的已經(jīng)陸續(xù)被各個(gè)商家企業(yè)采用,因?yàn)镸QTT服務(wù)器與mqtt協(xié)議能夠滿足他們智能化管理需求。很多企業(yè)的一些生產(chǎn)車間配電柜都需要使用無(wú)線設(shè)備監(jiān)測(cè)用電設(shè)備的工作狀態(tài),而企業(yè)的生產(chǎn)車間大多是分散獨(dú)立的用電設(shè)備,若每個(gè)設(shè)備都安裝網(wǎng)關(guān),那改造的成本是很大的資金。所以大部分企業(yè)為了節(jié)約成本常常會(huì)安裝一批用于無(wú)線監(jiān)控用電設(shè)備的電表——ADW300,通過(guò)傳感器對(duì)電纜以及生產(chǎn)線的各種設(shè)備參數(shù)進(jìn)行采集,主要包含電流、電壓等電參量數(shù)據(jù),并且將獲得的數(shù)據(jù)實(shí)時(shí)上傳到MQTT服務(wù)器云端,然后通過(guò)物聯(lián)網(wǎng)平臺(tái)和數(shù)據(jù)庫(kù)訂閱mqtt服務(wù)器端主題,來(lái)獲取終端監(jiān)測(cè)設(shè)備的數(shù)據(jù),實(shí)現(xiàn)終端和云端的雙向通信,搭建強(qiáng)大的數(shù)據(jù)通道,獲得的數(shù)據(jù)被存儲(chǔ)到MQTT服務(wù)器的云數(shù)據(jù)庫(kù)中,能夠保證數(shù)據(jù)的安全性,搭建用電管理和顯示系統(tǒng),通過(guò)云技術(shù)、大數(shù)據(jù)、互聯(lián)網(wǎng)將獲得的數(shù)據(jù)顯示到前臺(tái),用戶可以通過(guò)登錄手機(jī)APP、電腦頁(yè)面等實(shí)時(shí)監(jiān)控設(shè)備和電纜的電力數(shù)據(jù)情況。
附錄:
ADW300-4G的數(shù)據(jù)上傳流程圖