物聯網終端的種類非常多,包括物聯網網關、通信模塊以及大量的行業終端,其中尤以行業終端的種類最為豐富。
通信模塊是物聯網應用終端的基礎。物聯網的行業終端種類繁多,體積、處理能力、對外接口等各不相同,通信模塊將成為物聯網智能服務通道的統一承載體,嵌入各種行業終端,為各行各業提供物聯網的智能通道服務。而在通信中,通信協議尤其重要,是指雙方實體完成通信或服務所必須遵循的規則和約定,而且根據終端環境的不同對通信協議的要求完全不一致。
與互聯網時代TCP/IP,HTTP一統天下的局面不同,物聯網的通信環境有Ethernet, Wi-Fi, RFID, NFC(近距離無線通信), Zigbee, 6LoWPAN(IPV6低速無線版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G等網絡,而每一種通信應用協議都有一定適用范圍。AMQP、JMS、REST/HTTP都是工作在以太網,COAP協議是專門為資源受限設備開發的協議,而DDS和MQTT的兼容性則強很多。
1.REST(松耦合服務調用)
REST即表述性狀態傳遞(英文:Representational State Transfer,簡稱REST)是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件架構風格。它是一種針對網絡應用的設計和開發方式,可以降低開發的復雜性,提高系統的可伸縮性。
而REST被應用于物聯網主要是基于HTTP web服務的轉化,因為REST模式的Web服務與復雜的SOAP和XML-RPC對比來講明顯的更加簡潔,越來越多的web服務開始采用REST風格設計和實現。
特點:
- 給一切物體一個ID
2.連接物體在一起
3.使用標準方法
4.資源多重表述
5.無狀態通信
REST其實是互聯網中服務調用API封裝風格,物聯網中數據采集到物聯網應用系統中,在物聯網應用系統中,可以通過開放REST API的方式,把數據服務開放出去,被互聯網中其他應用所調用,所以它非常利于服務平臺與物聯終端的獨立開發,但它的通訊數據量與API內容密切相關,且是一種無狀態通信,對安全機制需要重新設計。
2.CoAP協議
由于物聯網中的很多設備都是資源受限型的,即只有少量的內存空間和有限的計算能力,所以傳統的HTTP協議應用在物聯網上就顯得過于龐大而不適用。 IETF的CoRE工作組提出了一種基于REST架構的CoAP協議。
CoAP是一種應用層協議,它運行于UDP協議之上而不是像HTTP那樣運行于TCP之上。CoAP協議非常的小巧,最小的數據包僅為4字節。
CoAP協議是否可以替換HTTP協議?
CoAP并不能替代HTTP協議,但是對于那些小設備(256KB Flash 32KB RAM 20MHz主頻)而言CoAP的確是一個好的解決方案。
CoAP消息類型
CoAP采用和HTTP協議相同的請求響應工作模式。CoAP協議共有4中不同的消息類型。
CON——需要被確認的請求,如果CON請求被發送,那么對方必須做出響應。
NON——不需要被確認的請求,如果NON請求被發送,那么對方不必做出回應。
ACK——應答消息,如果接受到CON消息的響應。
RST——復位消息,當接收者接受到的消息包含一個錯誤,接受者解析消息或者不再關心發送者發送的內容,那么復位消息將會被發送。
CoAP消息結構
一個CoAP消息最小為4個字節,以下是CoAP協議不同部分的描述。
【版本Version】:類似于IPv6和IPv6,僅僅是一個版本號。
【消息類型Message Type】:CON,NON,ACK,RST。這些消息類型相當于HTTP協議的PUTGET等
【消息ID Message ID】:每個CoAP消息都有一個ID,在一次會話中ID總是保持不變。但是在這個會話之后該ID會被回收利用。
【標記 Token】:標記是ID的另一種表現
【選項 Options】:CoAP選項類似于HTTP請求頭,它包括CoAP消息本身,例如CoAP端口號,CoAP主機和CoAP查詢字符串等。
【負載Payload】:真正有用的被交互的數據。
在當前由PC機組成的世界,信息交換是通過TCP和應用層協議HTTP實現的。但是對于小型設備而言,實現TCP和HTTP協議顯然是一個過分的要求。為了讓小設備可以接入互聯網,CoAP協議被設計出來。
3.MQTT協議(低帶寬)
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是一種基于發布/訂閱(publish/subscribe)模式的“輕量級”通訊協議,該協議構建于TCP/IP協議上,由IBM在1999年發布。MQTT最大優點在于,可以以極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。做為一種低開銷、低帶寬占用的即時通訊協議,使其在物聯網、小型設備、移動應用等方面有較廣泛的應用。
MQTT協議運行在TCP/IP或其他網絡協議,提供有序、無損、雙向連接。其特點包括:
1)使用的發布/訂閱消息模式,它提供了一對多消息分發,以實現與應用程序的解耦。
2)對負載內容屏蔽的消息傳輸機制。
3)對傳輸消息有三種服務質量(QoS):
? 最多一次,這一級別會發生消息丟失或重復,消息發布依賴于底層TCP/IP網絡。即:<=1
? 至多一次,這一級別會確保消息到達,但消息可能會重復。即:>=1
? 只有一次,確保消息只有一次到達。即:=1。在一些要求比較嚴格的計費系統中,可以使用此級別
4)數據傳輸和協議交換的最小化(協議頭部只有2字節),以減少網絡流量
5)通知機制,異常中斷時通知傳輸雙方
適用范圍:在低帶寬、不可靠的網絡下提供基于云平臺的遠程設備的數據傳輸和監控。
協議實現方式
實現MQTT協議需要:客戶端和服務器端
MQTT協議中有三種身份:發布者(Publish)、代理(Broker)(服務器)、訂閱者(Subscribe)。其中,消息的發布者和訂閱者都是客戶端,消息代理是服務器,消息發布者可以同時是訂閱者。
MQTT傳輸的消息分為:主題(Topic)和負載(payload)兩部分
? Topic,可以理解為消息的類型,訂閱者訂閱(Subscribe)后,就會收到該主題的消息內容(payload)
? payload,可以理解為消息的內容,是指訂閱者具體要使用的內容
MQTT協議一般適用于設備數據采集到端(Device-》Server,Device-》Gateway),集中星型網絡架構(hub-and-spoke),不適用設備與設備之間通信,設備控制能力弱,另外實時性較差,一般都在秒級。
4.DDS協議(高可靠性、實時)
數據分發服務DDS(Data Distribution Service)是對象管理組織(OMG)在HLA及CORBA等標準的基礎上制定的新一代分布式實時通信中間件技術規范,DDS采用發布/訂閱體系架構,強調以數據為中心,提供豐富的QoS服務質量策略,能保障數據進行實時、高效、靈活地分發,可滿足各種分布式實時通信應用需求。DDS信息分發中間件是一種輕便的、能夠提供實時信息傳送的中間件技術。
特點:
- 靈活的發布/訂閱模式
- 完整DDS規范QoS服務質量策略
- 已擴展的QoS服務質量策略
- 互操作
- 強實時
- 跨平臺
- 支持多種底層物理通信協議
- 仿真→測試→實裝的全生命周期支持
DDS很好地支持設備之間的數據分發和設備控制,設備和云端的數據傳輸,同時DDS的數據分發的實時效率非常高,能做到秒級內同時分發百萬條消息到眾多設備。DDS在服務質量(QoS)上提供非常多的保障途徑,這也是它適用于國防軍事、工業控制這些高可靠性、可安全性應用領域的原因。但這些應用都工作在有線網絡下,在無線網絡,特別是資源受限的情況下,沒有見到過實施案例。
5.AMQP協議(互操作性)
AMQP,即Advanced Message Queuing Protocol,一個提供統一消息服務的應用層標準高級消息隊列協議,是應用層協議的一個開放標準,為面向消息的中間件設計?;诖藚f議的客戶端與消息中間件可傳遞消息,并不受客戶端/中間件不同產品,不同的開發語言等條件的限制。Erlang中的實現有 RabbitMQ等。
AMQP協議是一個二進制協議,擁有一些現代特點:多信道、協商式、異步、安全、跨平臺、中立、高效。
? 模型層定義了一套命令(按功能分類),客戶端應用可以利用這些命令來實現它的業務功能。
? 會話層負責將命令從客戶端應用傳遞給服務器,再將服務器的應答傳遞給客戶端應用,會話層為這個傳遞過程提供可靠性、同步機制和錯誤處理。
? 傳輸層提供幀處理、信道復用、錯誤檢測和數據表示。
實現者可以將傳輸層替換成任意傳輸協議,只要不改變AMQP協議中與客戶端應用程序相關的功能。實現者還可以使用其他高層協議中的會話層。
AMQP協議最早應用于金融系統之間的交易消息傳遞,在物聯網應用中,主要適用于移動手持設備與后臺數據中心的通信和分析。
6.XMPP協議(即時通信)
XMPP是一種基于標準通用標記語言的子集XML的協議,它繼承了在XML環境中靈活的發展性。因此,基于XMPP的應用具有超強的可擴展性。經過擴展以后的XMPP可以通過發送擴展的信息來處理用戶的需求,以及在XMPP的頂端建立如內容發布系統和基于地址的服務等應用程序。而且,XMPP包含了針對服務器端的軟件協議,使之能與另一個進行通話,這使得開發者更容易建立客戶應用程序或給一個配好系統添加功能。
特點:
1.客戶機/服務器通信模式
2.分布式網絡
3.簡單的客戶端,將大多數工作放在服務器端進行
4.標準通用標記語言的子集XML的數據格式
XMPP協議是自由、開放、公開的,并且易于了解。而且在客戶端、服務器、組件、源碼庫等方面,都已經各自有多種實現。但隨著通常超過70%的XMPP協議的服務器的數據流量的存在和近60%的被重復轉發,XMPP協議目前擁有一個大型架空中存在的數據提供給多個收件人。適用于即時通信的應用程序,還能用在網絡管理、內容供稿、協同工具、檔案共享、游戲、遠端系統監控等。
-
物聯網
+關注
關注
2909文章
44561瀏覽量
372800 -
GSM
+關注
關注
9文章
835瀏覽量
122868 -
nfc
+關注
關注
59文章
1621瀏覽量
180517 -
TCP
+關注
關注
8文章
1353瀏覽量
79055 -
MQTT
+關注
關注
5文章
650瀏覽量
22487
發布評論請先 登錄
相關推薦
評論