物聯(lián)網(wǎng)概述
物聯(lián)網(wǎng)——即Internet-of-Things,其實這個概念由來已久,簡單來講,物聯(lián)網(wǎng)是物與物、人與物之間的信息傳遞與控制簡稱。它和能源、電子信息、醫(yī)療、交通、零售、物流、工業(yè)制造等行業(yè)息息相關(guān)。要實現(xiàn)物聯(lián)網(wǎng),首先需要將具備信息感知和通信能力的設(shè)備嵌入到我們關(guān)心的物品中,使其能連接到因特網(wǎng)或企業(yè)網(wǎng)絡(luò)之上,實現(xiàn)互聯(lián)互通。之后,互通的物品不僅要通過設(shè)備采集信息、實現(xiàn)智能的感知,更要結(jié)合一切先進的信息處理、數(shù)據(jù)挖掘等手段,與業(yè)務(wù)應(yīng)用相結(jié)合,從后臺到前端設(shè)備,實現(xiàn)智能的控制。一句話來理解物聯(lián)網(wǎng)就是把所有物品通過信息傳感設(shè)備與互聯(lián)網(wǎng)連接起來,以實現(xiàn)智能化識別和管理。
MQTT簡介
MQTT是一個由IBM開發(fā)的物聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計用于輕量級的發(fā)布/訂閱式消息傳輸,旨在為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的物聯(lián)網(wǎng)設(shè)備提供可靠的網(wǎng)絡(luò)服務(wù)。MQTT是專門針對物聯(lián)網(wǎng)開發(fā)的輕量級傳輸協(xié)議。MQTT協(xié)議針對低帶寬網(wǎng)絡(luò),低計算能力的設(shè)備,做了特殊的優(yōu)化,使得其能適應(yīng)各種物聯(lián)網(wǎng)應(yīng)用場景。
MQTT 既有完全高級版可以在 TCP/IP 上運行,也有簡化版 MQTT-SN 用于非 IP 設(shè)備。其發(fā)布/訂閱模式能夠在讓拓?fù)浣Y(jié)構(gòu)進行擴展的同時保留實時的特性以及服務(wù)質(zhì)量的可配置性。
MQTT的設(shè)計思想是開源、可靠、輕巧、簡單,MQTT的傳輸格式非常精小,最小的數(shù)據(jù)包只有2個比特,且無應(yīng)用消息頭。MQTT可以保證消息的可靠性,它包括三種不同的服務(wù)質(zhì)量(最多只傳一次、最少被傳一次、一次且只傳一次),如果客戶端意外掉線,可以使用“遺愿”發(fā)布一條消息,同時支持持久訂閱。MQTT在物聯(lián)網(wǎng)應(yīng)用中的優(yōu)勢有:
可靠傳輸。MQTT可以保證消息可靠安全的傳輸,并可以與企業(yè)應(yīng)用簡易集成。
消息推送。支持消息實時通知、豐富的推送內(nèi)容、靈活的Pub-Sub以及消息存儲和過濾。
低帶寬、低耗能、低成本。占用移動應(yīng)用程序帶寬小,并且?guī)捓寐矢?,耗電量較少。
物聯(lián)網(wǎng)接入的挑戰(zhàn)
當(dāng)前物聯(lián)網(wǎng)領(lǐng)域的消息傳輸依采用單一的實施規(guī)范,它是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴展的網(wǎng)絡(luò),用戶端從傳統(tǒng)的計算機延伸和擴展到了任何物品與物品之間,物品通過嵌入的傳感器進行信息采集,然后通過小型計算設(shè)備進行網(wǎng)絡(luò)信息交換與通信。然而當(dāng)前移動互聯(lián)網(wǎng)正處于起步階段,物聯(lián)網(wǎng)中的數(shù)據(jù)傳輸會面臨很多問題,比如在網(wǎng)絡(luò)不穩(wěn)定的情況下,如何保證數(shù)據(jù)的傳輸沒有問題,如何保證數(shù)據(jù)不被重復(fù)發(fā)送,連接斷開后如何進行重連??傮w來說,物聯(lián)網(wǎng)的接入會面臨以下幾個方面的挑戰(zhàn):
設(shè)備、傳感器。物聯(lián)網(wǎng)接入對終端采集和控制設(shè)備要求高,且終端的改造以及網(wǎng)絡(luò)費用成本也比較高。另外,其對終端的能耗要求也比較高。
通信協(xié)議。設(shè)備往往不具備較高的計算能力和存儲空間,因此很難支持諸如 HTTP、SSL 和 XML 這樣的傳輸協(xié)議,它需要一套簡單高效的傳輸協(xié)議以滿足通信需求。
網(wǎng)絡(luò)?,F(xiàn)有的網(wǎng)絡(luò)傳輸貸款參差不齊,傳輸網(wǎng)絡(luò)不穩(wěn)定。
信息安全。如何保證信息傳輸?shù)陌踩约皹I(yè)務(wù)層身份鑒別。
基于物聯(lián)網(wǎng)的MQTT技術(shù)則恰好可以很好地彌補這一方面的缺陷,在云計算和移動設(shè)備之間架起一道橋梁,在低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中提供可靠的網(wǎng)絡(luò)服務(wù)。
對于信息安全,并不僅僅是信息傳輸安全,物聯(lián)網(wǎng)時代的安全是物理安全、信息采集安全、信息傳輸安全和信息處理安全的綜合,物聯(lián)網(wǎng)時代還需要一個強大的云以完成信息傳輸安全,信息處理安全以及信息的存儲,分析等,當(dāng)然您還需要一個強大的服務(wù)管理系統(tǒng)來管理您為了處理特定的業(yè)務(wù)邏輯而運行的服務(wù)。
使用MQTT連接云
設(shè)備使用MQTT客戶端可以在特定的主題上發(fā)布消息,也可以通過訂閱特定的主題以接收其他設(shè)備或者用戶發(fā)布的消息,從而實現(xiàn)M2M,M2P,P2M的通信。
下圖是使用MQTT作為設(shè)備接入?yún)f(xié)議的整體解決方案。
云網(wǎng)關(guān)gateway負(fù)責(zé)設(shè)備的接入,協(xié)議適配,消息轉(zhuǎn)發(fā)等功能,如果要支持海量設(shè)備的接入,gateway集群是必須的。
設(shè)備管理負(fù)責(zé)設(shè)備接入認(rèn)證,設(shè)備與用戶綁定,操作授權(quán)等相關(guān)的功能。
賬號管理負(fù)責(zé)用戶賬號安全認(rèn)證,授權(quán)認(rèn)證等相關(guān)的功能,同時也支持第三方賬號安全認(rèn)證。
云服務(wù)負(fù)責(zé)設(shè)備業(yè)務(wù)邏輯。不同的設(shè)備廠商都有一套自己的業(yè)務(wù)邏輯和服務(wù),這種服務(wù)可以和容易的運行在云端提供的容器中,使用基于容器的微服務(wù)使得應(yīng)用程序能夠更快地進行創(chuàng)建,并且更易于維護,同時又能夠得到更高的質(zhì)量。而數(shù)據(jù)的存儲和分析使用云平臺提供的通用的存儲服務(wù)和大數(shù)據(jù)分析引擎。
用戶只要注冊賬號,綁定設(shè)備,就可以通過手機APP,微信或者web等終端輕松查看設(shè)備信息,與設(shè)備進行交互操作。
此解決方案具有的優(yōu)勢有:
· 移動設(shè)備
能在 8bit 位處理器上很好的運行 C /JavaScript/Java 的 client 庫分別只有 30/75/100KB
在移動設(shè)備上耗電率低,大約只需要 HTTP 的一半
· 很好的適應(yīng)各種復(fù)雜網(wǎng)絡(luò),特別是受限網(wǎng)絡(luò)
預(yù)期并適應(yīng)頻繁的網(wǎng)絡(luò)中斷,能應(yīng)對低速、低質(zhì)量的網(wǎng)絡(luò)
壓縮優(yōu)化過后的協(xié)議,可以有效降低網(wǎng)絡(luò)流量,從而節(jié)約網(wǎng)絡(luò)成本
完成同樣的數(shù)據(jù)通信,MQTT 只需要 HTTP 約 1/4 得數(shù)據(jù)流量
· 發(fā)布 - 訂閱的消息通信協(xié)議,允許一條消息只發(fā)布一次,便可被多個消費端(應(yīng)用程序 / 設(shè)備)所接收
實現(xiàn)系統(tǒng)間松耦合,簡化開發(fā),方便擴展,整合。
· 提供靈活便捷的系統(tǒng)整合能力
使用微服務(wù)+docker的方式,快速部署高效運行云端服務(wù)
提供可靠的設(shè)備管理和賬號管理體系,您只需要關(guān)注核心業(yè)務(wù)
提供通用的數(shù)據(jù)存儲和數(shù)據(jù)分析服務(wù)
提供與第三方云平臺的對接功能
提供協(xié)議適配功能,客戶端可以使用多種通信協(xié)議與設(shè)備進行通信。
· 提供豐富的安全性
使用 SSL 提供的認(rèn)證和加密來保證傳輸安全性
采用賬號安全認(rèn)證+設(shè)備安全認(rèn)證結(jié)合的方式保證內(nèi)容安全
· 強大的性能提高系統(tǒng)的高可靠性
高連接數(shù)下系統(tǒng)低計算資源使用
高連接數(shù)下系統(tǒng)高信息處理速度
· 提供多種消息服務(wù)質(zhì)量,滿足不同場景需求
0 :消息最多被傳遞一次,比如一般類廣告,通知
1 :消息會被傳遞但可能會重復(fù)傳遞,比如賬戶余額通知
2 :消息保證傳遞且僅有一次傳遞,比如交易支付批復(fù)通知
結(jié)束語
人類正走向“物聯(lián)網(wǎng)”時代,但是這個過程可能需要很長的時間。毫無疑問,如果“物聯(lián)網(wǎng)”時代來臨,人們的日常生活將發(fā)生翻天覆地的變化。不管物聯(lián)網(wǎng)如何發(fā)展,在未來幾年,相信MQTT的應(yīng)用會越來越廣。
作者:賀大偉,AbleCloud云平臺高級開發(fā)工程師。曾在大唐負(fù)責(zé)通信領(lǐng)域LTE協(xié)議一致性儀表軟件開發(fā),負(fù)責(zé)高性能10000兆安網(wǎng)閘捕包平臺開發(fā)和參與網(wǎng)絡(luò)分析系統(tǒng)架構(gòu)設(shè)計開發(fā)。2014年加入AbleCloud,主要負(fù)責(zé)AbleCloud云平臺設(shè)備接入網(wǎng)關(guān)和OTA升級分布式開發(fā)部署維護等工作,對分布式,高并發(fā)充滿興趣。
(審核編輯: 智匯張瑜)
分享