參考:服務器
https://blog.csdn.net/panwen1111/article/details/79245161網絡
1、REST/HTTP(鬆耦合服務調用)架構
REST即表述性狀態傳遞,是基於HTTP協議開發的一種通訊風格。異步
適用範圍:REST/HTTP主要爲了簡化互聯網中的系統架構,快速實現客戶端和服務器之間交互的鬆耦合,下降了客戶端和服務器之間的交互延遲。所以適合在物聯網的應用層面,經過REST開放物聯網中資源,實現服務被其餘應用所調用。分佈式
特色:ui
1. REST 指的是一組架構約束條件和原則。知足這些約束條件和原則的應用程序或設計就是RESTful。.net
2.客戶端和服務器之間的交互在請求之間是無狀態的。設計
3. 在服務器端,應用程序狀態和功能能夠分爲各類資源,它向客戶端公開,每一個資源都使用 URI 獲得一個惟一的地址。全部資源都共享統一的界面,以便在客戶端和服務器之間傳輸狀態。orm
4.使用的是標準的 HTTP 方法,好比:GET、PUT、POST 和 DELETE。中間件
2、CoAP協議
CoAP(Constrained Application Protocol),受限應用協議,應用於無線傳感網中協議。
適用範圍:CoAP是簡化了HTTP協議的RESTful API,CoAP是6LowPAN協議棧中的應用層協議,它適用於在資源受限的通訊的IP網絡。
3、MQTT協議(低帶寬)
MQTT (Message
Queuing Telemetry Transport ),消息隊列遙測傳輸,由IBM開發的即時通信協議,相比來講比較適合物聯網場景的通信協議。MQTT協議採用發佈/訂閱模式,全部的物聯網終端都經過TCP鏈接到雲端,雲端經過主題的方式管理各個設備關注的通信內容,負責將設備與設備之間消息的轉發。
適用範圍:在低帶寬、不可靠的網絡下提供基於雲平臺的遠程設備的數據傳輸和監控。
4、DDS協議(高可靠性、實時)
DDS(Data Distribution Service for Real-Time Systems),面向實時系統的數據分佈服務。
適用範圍:分佈式高可靠性、實時傳輸設備數據通訊。目前DDS已經普遍應用於國防、民航、工業控制等領域。
5、AMQP協議(互操做性)
AMQP(Advanced Message Queuing Protocol),先進消息隊列協議,用於業務系統例如PLM,ERP,MES等進行數據交換。
適用範圍:最先應用於金融系統之間的交易消息傳遞,在物聯網應用中,主要適用於移動手持設備與後臺數據中心的通訊和分析。
6、XMPP協議(即時通訊)
XMPP(Extensible Messaging and Presence Protocol)可擴展通信和表示協議,一個開源形式組織產生的網絡即時通訊協議。
適用範圍:即時通訊的應用程序,還能用在網絡管理、遊戲、遠端系統監控等。
7、JMS
JMS (Java Message Service),即消息服務,這是JAVA平臺中著名的消息隊列協議。
Java消息服務應用程序接口,是一個Java平臺中關於面向消息中間件(MOM)的API,用於在兩個應用程序之間,或分佈式系統中發送消息,進行異步通訊。Java消息服務是一個與具體平臺無關的API,絕大多數MOM提供商都對JMS提供支持。
物聯網協議對比
協議應用的側重方向
以智能家居爲例,智能家居中智能燈光控制,可使用XMPP協議控制燈的開關;智能家居的電力供給,發電廠的發動機組的監控可使用DDS協議;當電力輸送到千家萬戶時,電力線的巡查和維護,可使用MQTT協議;家裏的全部電器的電量消耗,可使用AMQP協議,傳輸到雲端或家庭網關中進行分析;最後用戶想把自家的能耗查詢服務公佈到互聯網上,那麼可使用REST/HTTP來開放API服務。