1. MQTT協議
MQTT協議(Message Queue Telemetry Transport,訊息佇列遙測傳輸協議)是IBM的Andy Stanford-Clark和Arcom的Arlen Nipper于1999年為了一個通過衛星網路連接輸油管道的專案開發的,為了滿足低電量消耗和低網路帶寬的需求,MQTT協議在設計之初就包含了以下幾個特點:
實作簡單
提供資料傳輸的QoS
輕量、占用帶寬低
可傳輸任意型別的資料
可保持的會話(Session)
隨著多年的發展,MQTT協議的重點不再只是嵌入式系統,而是更廣泛的物聯網世界,
簡單來說,MQTT協議有以下特性:
基于TCP協議的應用層協議
采用C/S架構
使用訂閱/發布模式,將訊息的發送方和接受方解耦
提供3種訊息的QoS(Quality of Service):至多一次、最少一次、只有一次
收發訊息都是異步的,發送方不需要等待接收方應答
MQTT協議的架構由Broker和連接到Broker的多個Client組成,如圖2-1所示,

MQTT協議可以為大量的低功率、作業網路環境不可靠的物聯網設備提供通信保障,而它在移動互聯網領域也大有作為,很多Android App的推送功能都是基于MQTT協議實作的,一些IM的實作也是基于MQTT協議的,
2. MQTT-SN協議
MQTT-SN(MQTT for Sensor Network)協議是MQTT協議的傳感器版本,MQTT協議雖然是輕量的應用層協議,但是MQTT協議是運行于TCP協議堆疊之上的,TCP協議對于某些計算能力和電量非常有限的設備來說,比如傳感器,就不太適用了,
MQTT-SN運行在UDP協議上,同時保留了MQTT協議的大部分信令和特性,如訂閱和發布等,MQTT-SN協議引入了MQTT-SN網關這一角色,網關負責把MQTT-SN協議轉換為MQTT協議,并和遠端的MQTT Broker進行通信,MQTT-SN協議支持網關的自動發現,MQTT-SN協議的通信模型如圖2-2所示,

3. CoAP協議
CoAP(Constrained Application Protocol)協議是一種運行在資源比較緊張的設備上的協議,CoAP協議通常也是運行在UDP協議上的,
CoAP協議設計得非常小巧,最小的資料包只有4個位元組,CoAP協議采用C/S架構,使用類似于HTTP協議的請求-回應的互動模式,設備可以通過類似于coap://192.168.1.150:5683/2ndfloor/temperature的URL來標識一個物體,并使用類似于HTTP的PUT、GET、POST、DELET請求指令來獲取或者修改這個物體的狀態,
同時,CoAP提供一種觀察模式,觀察者可以通過OBSERVE指令向CoAP服務器指明觀察的物體物件,當物體物件的狀態發生變化時,觀察者就可以收到物體物件的最新狀態,類似于MQTT協議中的訂閱功能,CoAP協議的通信模型如圖2-3所示,

4. LwM2M協議
LwM2M( Lightweight Machine-To-Machine )協議是由Open Mobile Alliance(OMA)定義的一套適用于物聯網的輕量級協議,它使用RESTful介面,提供設備的接入、管理和通信功能,也適用于資源比較緊張的設備,LwM2M協議的架構如圖2-4所示,

LwM2M協議底層使用CoAP協議傳輸資料和信令,而在LwM2M協議的架構中,CoAP協議可以運行在UDP或者SMS(短信)之上,通過DTLS(資料報傳輸層安全)來實作資料的安全傳輸,
LwM2M協議架構主要包含3種物體——LwM2M Bootstrap Server、LwM2M Server和LwM2M Client,
LwM2M Bootstrap Server負責引導LwM2M Client注冊并接入LwM2M Server,之后LwM2M Server和LwM2M Client就可以通過協議指定的介面進行互動了,
5. HTTP協議
正如我們之前所講,物聯網也是互聯網,HTTP這個在互聯網中廣泛應用的協議,在合適的環境下也可以應用到物聯網中,
在一些計算和硬體資源比較充沛的設備上,比如運行安卓作業系統的設備,完全可以使用HTTP協議上傳和下載資料,就好像在開發移動應用一樣,設備也可以使用運行在HTTP協議上的WebSocket主動接收來自服務器的資料,
6. LoRaWAN協議
LoRaWAN協議是由LoRa聯盟提出并推動的一種低功率廣域網協議,它和我們之前介紹的幾種協議有所不同,MQTT協議、CoAP協議都是運行在應用層,底層使用TCP協議或者UDP協議進行資料傳輸,整個協議堆疊運行在IP網路上,而LoRaWAN協議則是物理層/資料鏈路層協議,它解決的是設備如何接入互聯網的問題,并不運行在IP網路上,
LoRa(Long Range)是一種無線通信技術,它具有使用距離遠、功耗低的特點,在上面的場景下,用戶就可以使用LoRaWAN技術進行組網,在工程設備上安裝支持LoRa的模塊,
通過LoRa的中繼設備將資料發往位于隧道外部的、有互聯網接入的LoRa網關,LoRa網關再將資料封裝成可以在IP網路中通過TCP協議或者UDP協議傳輸的資料協議包(比如MQTT協議),然后發往云端的資料中心,
7. NB-IoT協議
NB-IoT(Narrow Band Internet of Things)協議和LoRaWAN協議一樣,是將設備接入互聯網的物理層/資料鏈路層的協議,
與LoRA不同的是,NB-IoT協議構建和運行在蜂窩網路上,消耗的帶寬較低,可以直接部署到現有的GSM網路或者LTE網路,設備安裝支持NB-IoT的芯片和相應的物聯網卡,然后連接到NB-IoT基站就可以接入互聯網,而且NB-IoT協議不像LoRaWAN協議那樣需要網關進行協議轉換,接入的設備可以直接使用IP網路進行資料傳輸,
NB-IoT協議相比傳統的基站,增益提高了約20dB,可以覆寫到地下車庫、管道、地下室等之前信號難以覆寫的地方,
8. DDS協議
這個協議是實時通訊的,它的安全性很高,而且因為能夠實時的傳輸資料,所以在某些重要場合比如說航空、工業等等行業里應用就比較的廣泛了,其中很重要的一點就是它的優點,
9.AMQP協議
一般在金融行業里面,這個協議就比較流行,它可以讓手持的設備和后臺的詩句中性完成通訊,不過現在它會在更多的領域里使用到,其互操作性是很強的,
10.XMPP協議
這也是一個事實通訊的協議,但一般會在網路的管理,游戲服務器、遠程的系統監控方面使用,它可以擴展,同時也是開源的,
11.JMS協議
專門用于java的一種物聯網的協議,能夠讓兩個不同的程式之間完成通訊,可異步通訊,而且大部分的MOM都是可以對JMS提供支持的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290518.html
標籤:其他
上一篇:盤點物聯網架構的4個必要階段
下一篇:這個智能家居專案開源了
