物聯(lián)網(wǎng)在使用商業(yè)以及工業(yè)方向上,可以被劃分為IoT(物聯(lián)網(wǎng))和IIoT(工業(yè)物聯(lián)網(wǎng)),二者在使用上存在著些許區(qū)別:
IoT可用于很多細(xì)分市場(chǎng),包括消費(fèi)品、農(nóng)業(yè)、制造業(yè)和醫(yī)療等;而IIoT主要面向工業(yè)應(yīng)用,比如制造和能源行業(yè)。IoT涉及的范圍比IIoT更廣。IIoT更加側(cè)重于對(duì)數(shù)據(jù)的訪問(wèn),以便工業(yè)領(lǐng)域可以及時(shí)的調(diào)整相應(yīng)的制作流程。
了解了IoT和IIoT的區(qū)別,現(xiàn)在讓我們來(lái)了解MQTT。
首先,要了解MQTT是什么,我們可以從它的名稱入手,既MQTT是哪些單詞的縮寫:
消息(Message ):簡(jiǎn)單來(lái)講,MQTT包括一個(gè)數(shù)據(jù)源,它會(huì)向“代理”(Broker)發(fā)布消息,然后由代理將消息推送給所有已經(jīng)訂閱了該主題的設(shè)備或終端。
隊(duì)列(Queue或Queuing):盡管名字中包含“隊(duì)列”一詞,但MQTT并不是一種基于隊(duì)列的協(xié)議,顯然這一項(xiàng)在整個(gè)協(xié)議更多過(guò)程中都沒(méi)有使用過(guò)。
遙測(cè)(Telemetry):IoT(物聯(lián)網(wǎng))和IIoT(工業(yè)物聯(lián)網(wǎng))的關(guān)鍵,數(shù)據(jù)傳輸是遙測(cè)技術(shù)的核心。
傳輸(Transport):通過(guò)中央集線器或代理進(jìn)行點(diǎn)到點(diǎn)的數(shù)據(jù)傳輸。
MQTT是一個(gè)簡(jiǎn)單的中心輻射型系統(tǒng):傳感器、應(yīng)用和設(shè)備之間的通信是通過(guò)運(yùn)行在數(shù)據(jù)中心的中央代理來(lái)實(shí)現(xiàn)的。從處理需求的角度來(lái)看,這些設(shè)備也不會(huì)嘗試彼此通信,因?yàn)樗袛?shù)據(jù)都通過(guò)一個(gè)中央代理來(lái)實(shí)現(xiàn)的。MQTT是輕量級(jí)的,因此它可以用于帶寬和延遲受限的網(wǎng)絡(luò)環(huán)境中的各種應(yīng)用。MQTT簡(jiǎn)單快捷,整個(gè)操作分為:連接、身份驗(yàn)證、通信和終止。隨著數(shù)據(jù)量的增加,MQTT協(xié)議的簡(jiǎn)單性和輕量級(jí)使得它具有很強(qiáng)的可擴(kuò)展性。MQTT協(xié)議非常適合于涉及許多傳感器的大型遠(yuǎn)程網(wǎng)絡(luò)系統(tǒng),如輸電線、管道、油井等。
上面,我們介紹了工業(yè)物聯(lián)網(wǎng)(IIoT)和物聯(lián)網(wǎng)(IoT)之間的區(qū)別,以及MQTT的含義。接下來(lái),我們將介紹MQTT協(xié)議的應(yīng)用。
除了能夠監(jiān)控長(zhǎng)距離石油管道和其他能源傳輸場(chǎng)景監(jiān)控?cái)?shù)據(jù)傳輸之外,MQTT精簡(jiǎn)的低帶寬特性使其適合于許多其他應(yīng)用。家庭自動(dòng)化應(yīng)用包括供暖、通風(fēng)、空調(diào)(HVAC)、照明、智能設(shè)備和安全系統(tǒng)。例如,在家庭園藝中,光、溫、濕度傳感器將采集到的實(shí)時(shí)數(shù)據(jù)傳輸?shù)较鄳?yīng)的接收端,然后根據(jù)這些數(shù)據(jù)自動(dòng)遠(yuǎn)程澆水,實(shí)現(xiàn)高科技管理。醫(yī)療監(jiān)測(cè)、交通網(wǎng)絡(luò)監(jiān)測(cè)、資產(chǎn)跟蹤、環(huán)境狀況監(jiān)測(cè)、氣候數(shù)據(jù)記錄和自動(dòng)報(bào)亭監(jiān)測(cè)等,這些環(huán)境同樣也在使用MQTT協(xié)議。
家庭自動(dòng)化 — MQTT協(xié)議的一種應(yīng)用
MQTT在協(xié)議設(shè)計(jì)時(shí)就考慮到了不同設(shè)備的計(jì)算性能的差異,所以所有的協(xié)議采用二進(jìn)制格式編解碼,并且編解碼格式都非常易于開發(fā)和實(shí)現(xiàn)。最小的數(shù)據(jù)包只有2個(gè)字節(jié),對(duì)于低功耗低速網(wǎng)絡(luò)也有很好的適應(yīng)性。同時(shí),MQTT占用極少的帶寬,使得在進(jìn)行長(zhǎng)距離數(shù)據(jù)傳輸?shù)臅r(shí)候能夠?qū)?shù)據(jù)響應(yīng)延遲的問(wèn)題降低到很小,使得數(shù)據(jù)、指令的傳輸更加的迅速。
Mqtt的優(yōu)點(diǎn)
1、Mqtt有許多優(yōu)點(diǎn)
1.mqtt的獨(dú)特功能是每個(gè)消息頭可以縮短為2個(gè)字節(jié)。對(duì)于HTTP,為每個(gè)新請(qǐng)求消息重新建立HTTP連接會(huì)產(chǎn)生相當(dāng)大的開銷。MQ和mqtt使用的持久連接可以極大地減少這種開銷。
2.遏制不穩(wěn)定網(wǎng)絡(luò)。Mqtt和MQ可以從諸如斷開連接之類的故障中恢復(fù),而無(wú)需進(jìn)壹步的代碼要求。但是,HTTP本身無(wú)法實(shí)現(xiàn)這壹目標(biāo),客戶端必須重試編碼,這將增
加身份問(wèn)題。
3.低功耗mqtt設(shè)計(jì)用于低功耗。
HTTP設(shè)計(jì)中未考慮此因素,這將增加功耗。
4.當(dāng)連接數(shù)百萬(wàn)個(gè)客戶端時(shí),在HTTP堆棧中維護(hù)數(shù)百萬(wàn)個(gè)并發(fā)連接需要大量工作來(lái)提供支持。
盡管這種支持是可行的,但大多數(shù)商業(yè)產(chǎn)品都經(jīng)過(guò)優(yōu)化,以處理此訂單上的持久連接??梢酝ㄟ^(guò)mqtt處理多達(dá)壹百萬(wàn)個(gè)并發(fā)設(shè)備。相比之下,MQ不是為許多同時(shí)出現(xiàn)的客戶設(shè)計(jì)的。
5.推送通知。
您需要能夠及時(shí)向客戶發(fā)送通知。為此,應(yīng)使用常規(guī)輪詢或推送方法。就電池、系統(tǒng)負(fù)載和帶寬而言,推送是最好的解決方案。
6.客戶端平臺(tái)之間的差異。HTTP和mqtt客戶端都在許多平臺(tái)上實(shí)現(xiàn)。mqtt的簡(jiǎn)單性幫助您在其他客戶機(jī)上以最小的工作量實(shí)現(xiàn)mqtt。
7.防火墻容錯(cuò)。某些公司防火墻將出站連接限制為某些預(yù)定義端口。這些端口通常限于HTTP(端口80)、HTTPS(端口443)等。HTTP顯然在這種情況下起作用。Mqtt封裝在WebSockets連接中,并顯示為HTTP升級(jí)請(qǐng)求,因此它可以在這種情況下運(yùn)行。
mqtt的缺點(diǎn)
事實(shí)上,mqtt被廣泛使用,幾乎可以在任何大型硬件和互聯(lián)網(wǎng)公司中找到,如Facebook、BP、阿里巴巴和百度。
由于mqtt的技術(shù)優(yōu)勢(shì),越來(lái)越多的公司選擇mqtt作為物聯(lián)網(wǎng)產(chǎn)品通信的標(biāo)準(zhǔn)協(xié)議。因此,工程師們逐漸意識(shí)到mqtt協(xié)議的功能需要通過(guò)大規(guī)模商業(yè)化來(lái)改進(jìn)。例如:
1.如果沒(méi)有完整的SDK,則需要不同異構(gòu)設(shè)備的軟件SDK包與mqtt服務(wù)器(如MCU、Linux、Android、IOS、web)進(jìn)行通信,實(shí)現(xiàn)互聯(lián)互通。
2.不支持文件和AV。在壹些應(yīng)用場(chǎng)景中,要傳輸?shù)男畔⒖赡懿幌抻谛枰ㄟ^(guò)AV與文件通信的指令,例如語(yǔ)音和視頻信號(hào)。
3.不支持與第叁方HTTP集成。Mqtt協(xié)議優(yōu)于傳統(tǒng)的HTTP協(xié)議,但基于傳統(tǒng)HTTP協(xié)議的Web服務(wù)器在主流市場(chǎng)上仍占據(jù)主導(dǎo)地位。這些服務(wù)器應(yīng)與mqtt協(xié)議互連,以降低升級(jí)成本。
4.不支持負(fù)載分配。負(fù)載分布服務(wù)器對(duì)于高并發(fā)性和防止惡意攻擊也至關(guān)重要。
5.不支持用戶管理界面。這在用戶分析設(shè)備行為數(shù)據(jù)時(shí)尤為重要。在工業(yè)4.0和大數(shù)據(jù)時(shí)代,這是壹種必然的需求。
6.設(shè)備脫機(jī)后,不支持脫機(jī)消息來(lái)補(bǔ)償從mqtt服務(wù)器到設(shè)備的控制信息丟失。
7.不支持點(diǎn)對(duì)點(diǎn)通信,使用標(biāo)準(zhǔn)mqtt協(xié)議。理論上,點(diǎn)對(duì)點(diǎn)通信可以通過(guò)相互訂閱來(lái)實(shí)現(xiàn),但邏輯相對(duì)復(fù)雜,涉及設(shè)備安全。
8、不支持集團(tuán)溝通和集團(tuán)管理,實(shí)現(xiàn)集團(tuán)成員的管理。團(tuán)隊(duì)成員可以交換消息,如果壹臺(tái)設(shè)備由多人控制或多臺(tái)設(shè)備由一人控制,這一點(diǎn)尤其有用。