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