現(xiàn)在位置:主頁 > 家居 > 物聯(lián)網(wǎng)通信協(xié)議有哪些,協(xié)議的實現(xiàn)方式是什么?

物聯(lián)網(wǎng)通信協(xié)議有哪些,協(xié)議的實現(xiàn)方式是什么?

作者:編輯 ? 時間:2018-11-19 ? 瀏覽:人次

與互聯(lián)網(wǎng)時代TCP/IP,HTTP一統(tǒng)天下的局面不同,物聯(lián)網(wǎng)的通信環(huán)境有Ethernet, Wi-Fi, RFID, NFC(近距離無線通信), Zigbee, 6LoWPAN(IPV6低速無線版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G等網(wǎng)絡(luò),而每一種通信應(yīng)用協(xié)議都有一定適用范圍。AMQP、JMS、REST/HTTP都是工作在以太網(wǎng),COAP協(xié)議是專門為資源受限設(shè)備開發(fā)的協(xié)議,而DDS和MQTT的兼容性則強很多。

物聯(lián)網(wǎng)通信協(xié)議有哪些,協(xié)議的實現(xiàn)方式是什么?


1.REST(松耦合服務(wù)調(diào)用)

REST即表述性狀態(tài)傳遞(英文:Representational State Transfer,簡稱REST)是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件架構(gòu)風(fēng)格。它是一種針對網(wǎng)絡(luò)應(yīng)用的設(shè)計和開發(fā)方式,可以降低開發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。

而REST被應(yīng)用于物聯(lián)網(wǎng)主要是基于HTTP web服務(wù)的轉(zhuǎn)化,因為REST模式的Web服務(wù)與復(fù)雜的SOAP和XML-RPC對比來講明顯的更加簡潔,越來越多的web服務(wù)開始采用REST風(fēng)格設(shè)計和實現(xiàn)。

特點:

1. 給一切物體一個ID

2.連接物體在一起

3.使用標(biāo)準(zhǔn)方法

4.資源多重表述

5.無狀態(tài)通信

REST其實是互聯(lián)網(wǎng)中服務(wù)調(diào)用API封裝風(fēng)格,物聯(lián)網(wǎng)中數(shù)據(jù)采集到物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中,在物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中,可以通過開放REST API的方式,把數(shù)據(jù)服務(wù)開放出去,被互聯(lián)網(wǎng)中其他應(yīng)用所調(diào)用,所以它非常利于服務(wù)平臺與物聯(lián)終端的獨立開發(fā),但它的通訊數(shù)據(jù)量與API內(nèi)容密切相關(guān),且是一種無狀態(tài)通信,對安全機制需要重新設(shè)計。

2.CoAP協(xié)議

由于物聯(lián)網(wǎng)中的很多設(shè)備都是資源受限型的,即只有少量的內(nèi)存空間和有限的計算能力,所以傳統(tǒng)的HTTP協(xié)議應(yīng)用在物聯(lián)網(wǎng)上就顯得過于龐大而不適用。 IETF的CoRE工作組提出了一種基于REST架構(gòu)的CoAP協(xié)議。

CoAP是一種應(yīng)用層協(xié)議,它運行于UDP協(xié)議之上而不是像HTTP那樣運行于TCP之上。CoAP協(xié)議非常的小巧,最小的數(shù)據(jù)包僅為4字節(jié)。

CoAP協(xié)議是否可以替換HTTP協(xié)議?

CoAP并不能替代HTTP協(xié)議,但是對于那些小設(shè)備(256KB Flash 32KB RAM 20MHz主頻)而言CoAP的確是一個好的解決方案。

CoAP消息類型

CoAP采用和HTTP協(xié)議相同的請求響應(yīng)工作模式。CoAP協(xié)議共有4中不同的消息類型。

CON——需要被確認(rèn)的請求,如果CON請求被發(fā)送,那么對方必須做出響應(yīng)。

NON——不需要被確認(rèn)的請求,如果NON請求被發(fā)送,那么對方不必做出回應(yīng)。

ACK——應(yīng)答消息,如果接受到CON消息的響應(yīng)。

RST——復(fù)位消息,當(dāng)接收者接受到的消息包含一個錯誤,接受者解析消息或者不再關(guān)心發(fā)送者發(fā)送的內(nèi)容,那么復(fù)位消息將會被發(fā)送。

CoAP消息結(jié)構(gòu)

一個CoAP消息最小為4個字節(jié),以下是CoAP協(xié)議不同部分的描述。

【版本Version】:類似于IPv6和IPv6,僅僅是一個版本號。

【消息類型Message Type】:CON,NON,ACK,RST。這些消息類型相當(dāng)于HTTP協(xié)議的PUTGET等

【消息ID Message ID】:每個CoAP消息都有一個ID,在一次會話中ID總是保持不變。但是在這個會話之后該ID會被回收利用。

【標(biāo)記 Token】:標(biāo)記是ID的另一種表現(xiàn)、

【選項 Options】:CoAP選項類似于HTTP請求頭,它包括CoAP消息本身,例如CoAP端口號,CoAP主機和CoAP查詢字符串等。

【負(fù)載Payload】:真正有用的被交互的數(shù)據(jù)。

在當(dāng)前由PC機組成的世界,信息交換是通過TCP和應(yīng)用層協(xié)議HTTP實現(xiàn)的。但是對于小型設(shè)備而言,實現(xiàn)TCP和HTTP協(xié)議顯然是一個過分的要求。為了讓小設(shè)備可以接入互聯(lián)網(wǎng),CoAP協(xié)議被設(shè)計出來。

3.MQTT協(xié)議(低帶寬)

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協(xié)議),是一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級”通訊協(xié)議,該協(xié)議構(gòu)建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。MQTT最大優(yōu)點在于,可以以極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實時可靠的消息服務(wù)。做為一種低開銷、低帶寬占用的即時通訊協(xié)議,使其在物聯(lián)網(wǎng)、小型設(shè)備、移動應(yīng)用等方面有較廣泛的應(yīng)用。

MQTT協(xié)議運行在TCP/IP或其他網(wǎng)絡(luò)協(xié)議,提供有序、無損、雙向連接。其特點包括:

1)使用的發(fā)布/訂閱消息模式,它提供了一對多消息分發(fā),以實現(xiàn)與應(yīng)用程序的解耦。

2)對負(fù)載內(nèi)容屏蔽的消息傳輸機制。

3)對傳輸消息有三種服務(wù)質(zhì)量(QoS):

最多一次,這一級別會發(fā)生消息丟失或重復(fù),消息發(fā)布依賴于底層TCP/IP網(wǎng)絡(luò)。即:<=1

至多一次,這一級別會確保消息到達(dá),但消息可能會重復(fù)。即:>=1

只有一次,確保消息只有一次到達(dá)。即:=1。在一些要求比較嚴(yán)格的計費系統(tǒng)中,可以使用此級別

4)數(shù)據(jù)傳輸和協(xié)議交換的最小化(協(xié)議頭部只有2字節(jié)),以減少網(wǎng)絡(luò)流量

5)通知機制,異常中斷時通知傳輸雙方

適用范圍:在低帶寬、不可靠的網(wǎng)絡(luò)下提供基于云平臺的遠(yuǎn)程設(shè)備的數(shù)據(jù)傳輸和監(jiān)控。

協(xié)議實現(xiàn)方式:

實現(xiàn)MQTT協(xié)議需要:客戶端和服務(wù)器端

MQTT協(xié)議中有三種身份:發(fā)布者(Publish)、代理(Broker)(服務(wù)器)、訂閱者(Subscribe)。其中,消息的發(fā)布者和訂閱者都是客戶端,消息代理是服務(wù)器,消息發(fā)布者可以同時是訂閱者。

MQTT傳輸?shù)南⒎譃椋褐黝}(Topic)和負(fù)載(payload)兩部分

Topic,可以理解為消息的類型,訂閱者訂閱(Subscribe)后,就會收到該主題的消息內(nèi)容(payload)

payload,可以理解為消息的內(nèi)容,是指訂閱者具體要使用的內(nèi)容

MQTT協(xié)議一般適用于設(shè)備數(shù)據(jù)采集到端(Device-》Server,Device-》Gateway),集中星型網(wǎng)絡(luò)架構(gòu)(hub-and-spoke),不適用設(shè)備與設(shè)備之間通信,設(shè)備控制能力弱,另外實時性較差,一般都在秒級。

4.DDS協(xié)議(高可靠性、實時)

數(shù)據(jù)分發(fā)服務(wù)DDS(Data Distribution Service)是對象管理組織(OMG)在HLA及CORBA等標(biāo)準(zhǔn)的基礎(chǔ)上制定的新一代分布式實時通信中間件技術(shù)規(guī)范,DDS采用發(fā)布/訂閱體系架構(gòu),強調(diào)以數(shù)據(jù)為中心,提供豐富的QoS服務(wù)質(zhì)量策略,能保障數(shù)據(jù)進(jìn)行實時、高效、靈活地分發(fā),可滿足各種分布式實時通信應(yīng)用需求。DDS信息分發(fā)中間件是一種輕便的、能夠提供實時信息傳送的中間件技術(shù)。

特點:

1) 靈活的發(fā)布/訂閱模式

2) 完整DDS規(guī)范QoS服務(wù)質(zhì)量策略

3) 已擴(kuò)展的QoS服務(wù)質(zhì)量策略

4) 互操作

5) 強實時

6) 跨平臺

7) 支持多種底層物理通信協(xié)議

8) 仿真→測試→實裝的全生命周期支持

DDS很好地支持設(shè)備之間的數(shù)據(jù)分發(fā)和設(shè)備控制,設(shè)備和云端的數(shù)據(jù)傳輸,同時DDS的數(shù)據(jù)分發(fā)的實時效率非常高,能做到秒級內(nèi)同時分發(fā)百萬條消息到眾多設(shè)備。DDS在服務(wù)質(zhì)量(QoS)上提供非常多的保障途徑,這也是它適用于國防軍事、工業(yè)控制這些高可靠性、可安全性應(yīng)用領(lǐng)域的原因。但這些應(yīng)用都工作在有線網(wǎng)絡(luò)下,在無線網(wǎng)絡(luò),特別是資源受限的情況下,沒有見到過實施案例。

5.AMQP協(xié)議(互操作性)

AMQP,即Advanced Message Queuing Protocol,一個提供統(tǒng)一消息服務(wù)的應(yīng)用層標(biāo)準(zhǔn)高級消息隊列協(xié)議,是應(yīng)用層協(xié)議的一個開放標(biāo)準(zhǔn),為面向消息的中間件設(shè)計?;诖藚f(xié)議的客戶端與消息中間件可傳遞消息,并不受客戶端/中間件不同產(chǎn)品,不同的開發(fā)語言等條件的限制。Erlang中的實現(xiàn)有 RabbitMQ等。

AMQP協(xié)議是一個二進(jìn)制協(xié)議,擁有一些現(xiàn)代特點:多信道、協(xié)商式、異步、安全、跨平臺、中立、高效。

AMQP通常被劃分為三層:

模型層定義了一套命令(按功能分類),客戶端應(yīng)用可以利用這些命令來實現(xiàn)它的業(yè)務(wù)功能。

會話層負(fù)責(zé)將命令從客戶端應(yīng)用傳遞給服務(wù)器,再將服務(wù)器的應(yīng)答傳遞給客戶端應(yīng)用,會話層為這個傳遞過程提供可靠性、同步機制和錯誤處理。

傳輸層提供幀處理、信道復(fù)用、錯誤檢測和數(shù)據(jù)表示。

實現(xiàn)者可以將傳輸層替換成任意傳輸協(xié)議,只要不改變AMQP協(xié)議中與客戶端應(yīng)用程序相關(guān)的功能。實現(xiàn)者還可以使用其他高層協(xié)議中的會話層。

AMQP協(xié)議最早應(yīng)用于金融系統(tǒng)之間的交易消息傳遞,在物聯(lián)網(wǎng)應(yīng)用中,主要適用于移動手持設(shè)備與后臺數(shù)據(jù)中心的通信和分析。

6.XMPP協(xié)議(即時通信)

XMPP是一種基于標(biāo)準(zhǔn)通用標(biāo)記語言的子集XML的協(xié)議,它繼承了在XML環(huán)境中靈活的發(fā)展性。因此,基于XMPP的應(yīng)用具有超強的可擴(kuò)展性。經(jīng)過擴(kuò)展以后的XMPP可以通過發(fā)送擴(kuò)展的信息來處理用戶的需求,以及在XMPP的頂端建立如內(nèi)容發(fā)布系統(tǒng)和基于地址的服務(wù)等應(yīng)用程序。而且,XMPP包含了針對服務(wù)器端的軟件協(xié)議,使之能與另一個進(jìn)行通話,這使得開發(fā)者更容易建立客戶應(yīng)用程序或給一個配好系統(tǒng)添加功能。

特點:

1.客戶機/服務(wù)器通信模式

2.分布式網(wǎng)絡(luò)

3.簡單的客戶端,將大多數(shù)工作放在服務(wù)器端進(jìn)行

4.標(biāo)準(zhǔn)通用標(biāo)記語言的子集XML的數(shù)據(jù)格式

XMPP協(xié)議是自由、開放、公開的,并且易于了解。而且在客戶端、服務(wù)器、組件、源碼庫等方面,都已經(jīng)各自有多種實現(xiàn)。但隨著通常超過70%的XMPP協(xié)議的服務(wù)器的數(shù)據(jù)流量的存在和近60%的被重復(fù)轉(zhuǎn)發(fā),XMPP協(xié)議目前擁有一個大型架空中存在的數(shù)據(jù)提供給多個收件人。適用于即時通信的應(yīng)用程序,還能用在網(wǎng)絡(luò)管理、內(nèi)容供稿、協(xié)同工具、檔案共享、游戲、遠(yuǎn)端系統(tǒng)監(jiān)控等。

在不久的將來,多智時代一定會徹底走入我們的生活,有興趣入行未來前沿產(chǎn)業(yè)的朋友,可以收藏多智時代,及時獲取人工智能、大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)的入門知識和資訊信息,讓我們一起攜手,引領(lǐng)人工智能的未來

轉(zhuǎn)載請保留原文鏈接:http://eatcooks.com/a/jiaji/2018/1119/18688.html上一篇:上一篇:智能家居極大的提高我們的生活質(zhì)量,如何確保單品接入智能系統(tǒng)
下一篇:下一篇:沒有了