-
您的位置:
- 網(wǎng)站首頁
- > 物聯(lián)百科
- > 技術(shù)問答
您的位置:
物聯(lián)網(wǎng)(Internet of Things)這個概念讀者應(yīng)該不會陌生。物聯(lián)網(wǎng)的概念最早于1999年被提出來,曾被稱為繼計算機、互聯(lián)網(wǎng)之后,世界信息產(chǎn)業(yè)發(fā)展的第三次浪潮,到現(xiàn)在已經(jīng)發(fā)展了20余年。那么物聯(lián)網(wǎng)通訊設(shè)備有哪些常見的工業(yè)協(xié)議呢?
1. MQTT協(xié)議
MQTT協(xié)議(Message Queue Telemetry Transport,消息隊列遙測傳輸協(xié)議)是IBM的Andy Stanford-Clark和Arcom的Arlen Nipper于1999年為了一個通過衛(wèi)星網(wǎng)絡(luò)連接輸油管道的項目開發(fā)的。為了滿足低電量消耗和低網(wǎng)絡(luò)帶寬的需求,MQTT協(xié)議在設(shè)計之初就包含了以下幾個特點:
·實現(xiàn)簡單
·提供數(shù)據(jù)傳輸?shù)腝oS
·輕量、占用帶寬低
·可傳輸任意類型的數(shù)據(jù)
·可保持的會話(Session)
·隨著多年的發(fā)展,MQTT協(xié)議的重點不再只是嵌入式系統(tǒng),而是更廣泛的物聯(lián)網(wǎng)世界。
簡單來說,MQTT協(xié)議有以下特性:
·基于TCP協(xié)議的應(yīng)用層協(xié)議
·采用C/S架構(gòu)
·使用訂閱/發(fā)布模式,將消息的發(fā)送方和接受方解耦
·提供3種消息的QoS(Quality of Service):至多一次、最少一次、只有一次
·收發(fā)消息都是異步的,發(fā)送方不需要等待接收方應(yīng)答
·MQTT協(xié)議的架構(gòu)由Broker和連接到Broker的多個Client組成,如圖2-1所示。
MQTT協(xié)議可以為大量的低功率、工作網(wǎng)絡(luò)環(huán)境不可靠的物聯(lián)網(wǎng)設(shè)備提供通信保障。而它在移動互聯(lián)網(wǎng)領(lǐng)域也大有作為,很多Android App的推送功能都是基于MQTT協(xié)議實現(xiàn)的,一些IM的實現(xiàn)也是基于MQTT協(xié)議的。
2. MQTT-SN協(xié)議
MQTT-SN(MQTT for Sensor Network)協(xié)議是MQTT協(xié)議的傳感器版本。MQTT協(xié)議雖然是輕量的應(yīng)用層協(xié)議,但是MQTT協(xié)議是運行于TCP協(xié)議棧之上的,TCP協(xié)議對于某些計算能力和電量非常有限的設(shè)備來說,比如傳感器,就不太適用了。
MQTT-SN運行在UDP協(xié)議上,同時保留了MQTT協(xié)議的大部分信令和特性,如訂閱和發(fā)布等。MQTT-SN協(xié)議引入了MQTT-SN網(wǎng)關(guān)這一角色,網(wǎng)關(guān)負責(zé)把MQTT-SN協(xié)議轉(zhuǎn)換為MQTT協(xié)議,并和遠端的MQTT Broker進行通信。MQTT-SN協(xié)議支持網(wǎng)關(guān)的自動發(fā)現(xiàn)。MQTT-SN協(xié)議的通信模型如圖2-2所示。
3. CoAP協(xié)議
CoAP(Constrained Application Protocol)協(xié)議是一種運行在資源比較緊張的設(shè)備上的協(xié)議。CoAP協(xié)議通常也是運行在UDP協(xié)議上的。
CoAP協(xié)議設(shè)計得非常小巧,最小的數(shù)據(jù)包只有4個字節(jié)。CoAP協(xié)議采用C/S架構(gòu),使用類似于HTTP協(xié)議的請求-響應(yīng)的交互模式。設(shè)備可以通過類似于
coap://192.168.1.150:5683/2ndfloor/temperature的URL來標識一個實體,并使用類似于HTTP的PUT、GET、POST、DELET請求指令來獲取或者修改這個實體的狀態(tài)。
同時,CoAP提供一種觀察模式,觀察者可以通過OBSERVE指令向CoAP服務(wù)器指明觀察的實體對象。當(dāng)實體對象的狀態(tài)發(fā)生變化時,觀察者就可以收到實體對象的最新狀態(tài),類似于MQTT協(xié)議中的訂閱功能。CoAP協(xié)議的通信模型如圖2-3所示。
4. LwM2M協(xié)議
LwM2M( Lightweight Machine-To-Machine )協(xié)議是由Open Mobile Alliance(OMA)定義的一套適用于物聯(lián)網(wǎng)的輕量級協(xié)議。它使用RESTful接口,提供設(shè)備的接入、管理和通信功能,也適用于資源比較緊張的設(shè)備。LwM2M協(xié)議的架構(gòu)如圖2-4所示。
LwM2M協(xié)議底層使用CoAP協(xié)議傳輸數(shù)據(jù)和信令。而在LwM2M協(xié)議的架構(gòu)中,CoAP協(xié)議可以運行在UDP或者SMS(短信)之上,通過DTLS(數(shù)據(jù)報傳輸層安全)來實現(xiàn)數(shù)據(jù)的安全傳輸。
LwM2M協(xié)議架構(gòu)主要包含3種實體——LwM2M Bootstrap Server、LwM2M Server和LwM2M Client。
LwM2M Bootstrap Server負責(zé)引導(dǎo)LwM2M Client注冊并接入LwM2M Server,之后LwM2M Server和LwM2M Client就可以通過協(xié)議指定的接口進行交互了。
5. HTTP協(xié)議
正如我們之前所講,物聯(lián)網(wǎng)也是互聯(lián)網(wǎng),HTTP這個在互聯(lián)網(wǎng)中廣泛應(yīng)用的協(xié)議,在合適的環(huán)境下也可以應(yīng)用到物聯(lián)網(wǎng)中。
在一些計算和硬件資源比較充沛的設(shè)備上,比如運行安卓操作系統(tǒng)的設(shè)備,完全可以使用HTTP協(xié)議上傳和下載數(shù)據(jù),就好像在開發(fā)移動應(yīng)用一樣。設(shè)備也可以使用運行在HTTP協(xié)議上的WebSocket主動接收來自服務(wù)器的數(shù)據(jù)。
6. LoRaWAN協(xié)議
LoRaWAN協(xié)議是由LoRa聯(lián)盟提出并推動的一種低功率廣域網(wǎng)協(xié)議,它和我們之前介紹的幾種協(xié)議有所不同。MQTT協(xié)議、CoAP協(xié)議都是運行在應(yīng)用層,底層使用TCP協(xié)議或者UDP協(xié)議進行數(shù)據(jù)傳輸,整個協(xié)議棧運行在IP網(wǎng)絡(luò)上。而LoRaWAN協(xié)議則是物理層/數(shù)據(jù)鏈路層協(xié)議,它解決的是設(shè)備如何接入互聯(lián)網(wǎng)的問題,并不運行在IP網(wǎng)絡(luò)上。
LoRa(Long Range)是一種無線通信技術(shù),它具有使用距離遠、功耗低的特點。在上面的場景下,用戶就可以使用LoRaWAN技術(shù)進行組網(wǎng),在工程設(shè)備上安裝支持LoRa的模塊。
通過LoRa的中繼設(shè)備將數(shù)據(jù)發(fā)往位于隧道外部的、有互聯(lián)網(wǎng)接入的LoRa網(wǎng)關(guān),LoRa網(wǎng)關(guān)再將數(shù)據(jù)封裝成可以在IP網(wǎng)絡(luò)中通過TCP協(xié)議或者UDP協(xié)議傳輸?shù)臄?shù)據(jù)協(xié)議包(比如MQTT協(xié)議),然后發(fā)往云端的數(shù)據(jù)中心。
7. NB-IoT協(xié)議
NB-IoT(Narrow Band Internet of Things)協(xié)議和LoRaWAN協(xié)議一樣,是將設(shè)備接入互聯(lián)網(wǎng)的物理層/數(shù)據(jù)鏈路層的協(xié)議。
與LoRA不同的是,NB-IoT協(xié)議構(gòu)建和運行在蜂窩網(wǎng)絡(luò)上,消耗的帶寬較低,可以直接部署到現(xiàn)有的GSM網(wǎng)絡(luò)或者LTE網(wǎng)絡(luò)。設(shè)備安裝支持NB-IoT的芯片和相應(yīng)的物聯(lián)網(wǎng)卡,然后連接到NB-IoT基站就可以接入互聯(lián)網(wǎng)。而且NB-IoT協(xié)議不像LoRaWAN協(xié)議那樣需要網(wǎng)關(guān)進行協(xié)議轉(zhuǎn)換,接入的設(shè)備可以直接使用IP網(wǎng)絡(luò)進行數(shù)據(jù)傳輸。
NB-IoT協(xié)議相比傳統(tǒng)的基站,增益提高了約20dB,可以覆蓋到地下車庫、管道、地下室等之前信號難以覆蓋的地方。