使用傳感器和連接的嵌入式系統(tǒng)對(duì)開(kāi)發(fā)人員來(lái)說(shuō)并不陌生。但是,將這些元素與多種其他 Internet 技術(shù)結(jié)合使用是可行的。互聯(lián)網(wǎng)協(xié)議 (IP) 并不新鮮,但物聯(lián)網(wǎng) (IoT) 的專用 IP 卻是,它們用于幫助塑造系統(tǒng)功能。TCP/IP 套接字之上有多個(gè) IP 應(yīng)用層協(xié)議。每一種都有其優(yōu)點(diǎn)和限制。了解它們有助于開(kāi)發(fā)人員為產(chǎn)品做出最佳設(shè)計(jì)選擇。帶寬要求、實(shí)時(shí)性能和內(nèi)存占用是選擇物聯(lián)網(wǎng)協(xié)議時(shí)的一些主要標(biāo)準(zhǔn)。許多物聯(lián)網(wǎng)項(xiàng)目是由首席信息官 (CIO) 和 IT 部門推動(dòng)的,他們推動(dòng)開(kāi)發(fā)人員使用他們開(kāi)發(fā)的技術(shù)和協(xié)議了解物聯(lián)網(wǎng)設(shè)備。盡管如此,物聯(lián)網(wǎng)設(shè)備往往更接近運(yùn)營(yíng)技術(shù)(OT),將IT技術(shù)推入OT領(lǐng)域往往不是最優(yōu)選擇。
開(kāi)發(fā)人員需要了解物聯(lián)網(wǎng)設(shè)備有比 IT 技術(shù)更好的協(xié)議選項(xiàng)。
IP有多種類別:
消費(fèi)者與工業(yè)
網(wǎng)頁(yè)服務(wù)
物聯(lián)網(wǎng)服務(wù)
發(fā)布/訂閱
請(qǐng)求/響應(yīng)
在設(shè)計(jì)新系統(tǒng)時(shí)必須考慮這些類別。讓我們看看物聯(lián)網(wǎng)的 IP 并定義選擇標(biāo)準(zhǔn)。
互聯(lián)網(wǎng)
互聯(lián)網(wǎng)是用于將 IP 數(shù)據(jù)包從源路由到目的地的所有網(wǎng)絡(luò)設(shè)備的總和。相比之下,萬(wàn)維網(wǎng)是在互聯(lián)網(wǎng)上運(yùn)行的應(yīng)用系統(tǒng)。Web 是為人們交換信息而構(gòu)建的工具,在過(guò)去的 20 年中,Web 得到了發(fā)展和完善,因此普通的非技術(shù)人員可以輕松高效地使用 Internet。例如,互聯(lián)網(wǎng)的人機(jī)界面現(xiàn)在包括電子郵件、搜索引擎、瀏覽器、移動(dòng)應(yīng)用程序、Facebook 和 Twitter,以及其他流行的社交媒體。
相比之下,在物聯(lián)網(wǎng)中,這個(gè)想法是讓電子設(shè)備通過(guò)互聯(lián)網(wǎng)交換信息。但這些設(shè)備還沒(méi)有與瀏覽器和社交媒體相當(dāng)?shù)臋C(jī)器來(lái)促進(jìn)交流。由于物聯(lián)網(wǎng)設(shè)備協(xié)同工作所需的速度、規(guī)模和功能,物聯(lián)網(wǎng)也不同于網(wǎng)絡(luò)。這些要求遠(yuǎn)遠(yuǎn)超出了人們需要或使用的范圍。我們正處于為這些系統(tǒng)開(kāi)發(fā)新工具和服務(wù)的初期,這也是難以確定物聯(lián)網(wǎng)定義的原因之一。許多關(guān)于它可以、可能或應(yīng)該是什么的愿景相互碰撞。
TCP/IP 協(xié)議棧
TCP/IP 協(xié)議棧是 Internet 和 Web 的核心。它可以使用七層開(kāi)放系統(tǒng)互連 (OSI) 參考模型來(lái)表示,如下圖所示(圖 1)。前三層組合在一起,簡(jiǎn)化了模型。
【圖1 | 七層 OSI 參考模型。]
以下是從嵌入式系統(tǒng)集成角度對(duì)重要 OSI 層的快速描述:
1. 物理層和數(shù)據(jù)鏈路層
嵌入式系統(tǒng)最常用的物理層協(xié)議有:
以太網(wǎng)(10 Mbps、100 Mbps、1 Gbps)
無(wú)線網(wǎng)絡(luò) (802.11b/g/n)
串行點(diǎn)對(duì)點(diǎn)協(xié)議 (PPP)
GSM、3G、4G、LTE
2.網(wǎng)絡(luò)層
這就是互聯(lián)網(wǎng)生活的地方?;ヂ?lián)網(wǎng)——inter-network 的縮寫(xiě)——之所以這樣命名,是因?yàn)樗峁┝司W(wǎng)絡(luò)之間、物理層之間的連接。這是我們找到無(wú)處不在的IP地址的地方。
3.傳輸層
在 IP 之上,我們有傳輸控制協(xié)議 (TCP) 和用戶數(shù)據(jù)報(bào)協(xié)議 (UDP),這兩個(gè)傳輸協(xié)議。由于 TCP 用于我們與 Web 的大多數(shù)人類交互(電子郵件、Web 瀏覽等),因此人們普遍認(rèn)為 TCP 應(yīng)該是傳輸層使用的唯一協(xié)議。TCP 提供了邏輯連接、已傳輸數(shù)據(jù)包確認(rèn)、丟失數(shù)據(jù)包重傳和流量控制的概念——所有這些都是很棒的東西。但是對(duì)于嵌入式系統(tǒng),TCP 可能是多余的。因此,UDP,即使長(zhǎng)期以來(lái)被歸類為域名服務(wù)器 (DNS) 和動(dòng)態(tài)主機(jī)配置協(xié)議 (DHCP) 等網(wǎng)絡(luò)服務(wù),現(xiàn)在也在傳感器采集和遠(yuǎn)程控制領(lǐng)域找到了自己的位置。如果您需要某種類型的數(shù)據(jù)管理,
對(duì)于語(yǔ)音和視頻等實(shí)時(shí)數(shù)據(jù)應(yīng)用,UDP 也比 TCP 更適合。原因是 TCP 的數(shù)據(jù)包確認(rèn)和重傳功能對(duì)于這些應(yīng)用程序來(lái)說(shuō)是無(wú)用的開(kāi)銷。如果一段數(shù)據(jù)(例如一段語(yǔ)音)沒(méi)有及時(shí)到達(dá)其目的地,則重新傳輸數(shù)據(jù)包是沒(méi)有意義的,因?yàn)樗鼤?huì)亂序到達(dá)并混淆消息。
TCP 有時(shí)比 UDP 更受歡迎,因?yàn)樗峁┝顺志眠B接。要使用 UDP 啟用相同功能,您必須在 UDP 之上的協(xié)議層中實(shí)現(xiàn)此功能。
當(dāng)您決定如何將數(shù)據(jù)從“事物”本地網(wǎng)絡(luò)移動(dòng)到 IP 網(wǎng)絡(luò)時(shí),您有多種選擇。因?yàn)槭褂玫募夹g(shù)是熟悉的并且可以從廣泛的來(lái)源獲得,所以您可以通過(guò)網(wǎng)關(guān)鏈接兩個(gè)網(wǎng)絡(luò),或者您可以將此功能構(gòu)建到“事物”本身中。許多微控制器 (MCU) 現(xiàn)在都具有片上以太網(wǎng)控制器,這使得這項(xiàng)任務(wù)變得更容易。
物聯(lián)網(wǎng)協(xié)議
使用現(xiàn)有的 Web 技術(shù)構(gòu)建物聯(lián)網(wǎng)系統(tǒng)是可能的,即使它不如新協(xié)議高效。超文本傳輸協(xié)議/安全 (HTTP/S) 和 WebSockets 以及有效負(fù)載中的可擴(kuò)展標(biāo)記語(yǔ)言 (XML) 或 JavaScript 對(duì)象表示法 (JSON) 是通用標(biāo)準(zhǔn)。當(dāng)使用標(biāo)準(zhǔn) Web 瀏覽器(HTTP 客戶端)時(shí),JSON 為 Web 開(kāi)發(fā)人員提供了一個(gè)抽象層,通過(guò)保持兩個(gè) HTTP 連接打開(kāi),創(chuàng)建一個(gè)有狀態(tài)的 Web 應(yīng)用程序,該應(yīng)用程序具有到 Web 服務(wù)器(HTTP 服務(wù)器)的持久雙工連接。
HTTP
HTTP 是用于 Web 的客戶端-服務(wù)器模型的基礎(chǔ)。在 IoT 設(shè)備中實(shí)現(xiàn) HTTP 的最安全方法是僅包含客戶端,而不包含服務(wù)器。換句話說(shuō),當(dāng)物聯(lián)網(wǎng)設(shè)備可以發(fā)起與 Web 服務(wù)器的連接但無(wú)法接收連接請(qǐng)求時(shí),會(huì)更安全;我們不想讓外部機(jī)器訪問(wèn)安裝 IoT 設(shè)備的本地網(wǎng)絡(luò)。
網(wǎng)絡(luò)套接字
WebSocket 是一種通過(guò)單個(gè) TCP 連接提供全雙工通信的協(xié)議,通過(guò)該 TCP 連接可以在客戶端和服務(wù)器之間發(fā)送消息。它是超文本標(biāo)記語(yǔ)言 5 (HTML5) 規(guī)范的一部分。WebSocket 標(biāo)準(zhǔn)簡(jiǎn)化了雙向 Web 通信和連接管理的大部分復(fù)雜性。
XMPP
可擴(kuò)展消息傳遞和存在協(xié)議 (XMPP) 是現(xiàn)有 Web 技術(shù)在物聯(lián)網(wǎng)領(lǐng)域找到新用途的一個(gè)很好的例子。
XMPP 起源于即時(shí)消息和狀態(tài)信息,并已擴(kuò)展到語(yǔ)音和視頻呼叫、協(xié)作、輕量級(jí)中間件、內(nèi)容聯(lián)合和 XML 數(shù)據(jù)的通用路由。它是洗衣機(jī)、烘干機(jī)、冰箱等消費(fèi)類白色家電大規(guī)模管理的有力競(jìng)爭(zhēng)者。
XMPP 的優(yōu)勢(shì)在于其尋址、安全性和可擴(kuò)展性。這使其成為面向消費(fèi)者的物聯(lián)網(wǎng)應(yīng)用的理想選擇。
HTTP、WebSocket 和 XMPP 是為物聯(lián)網(wǎng)服務(wù)的技術(shù)示例。其他團(tuán)體也在努力為物聯(lián)網(wǎng)給我們帶來(lái)的新挑戰(zhàn)開(kāi)發(fā)解決方案。
想要的通用協(xié)議
許多物聯(lián)網(wǎng)專家將物聯(lián)網(wǎng)設(shè)備稱為受限系統(tǒng),因?yàn)樗麄冋J(rèn)為物聯(lián)網(wǎng)設(shè)備應(yīng)該盡可能便宜,并在運(yùn)行通信堆棧的同時(shí)使用可用的最小 MCU。
目前,使互聯(lián)網(wǎng)適應(yīng)物聯(lián)網(wǎng)是許多全球標(biāo)準(zhǔn)化機(jī)構(gòu)的主要優(yōu)先事項(xiàng)之一。表 1 包含當(dāng)前活動(dòng)的簡(jiǎn)短摘要。
[表 1 | 受約束的系統(tǒng)標(biāo)準(zhǔn)化工作。]
如果您的系統(tǒng)不需要 TCP 的功能并且可以使用更有限的 UDP 功能運(yùn)行,那么刪除 TCP 模塊會(huì)顯著有助于減少產(chǎn)品的總代碼占用空間的大小。這就是用于無(wú)線傳感器網(wǎng)絡(luò) (WSN) 的低功耗無(wú)線個(gè)人區(qū)域網(wǎng)絡(luò) (6LoWPAN) 的 IP 版本 6 (IPv6) 和受限應(yīng)用協(xié)議 (CoAP) 輕型互聯(lián)網(wǎng)協(xié)議為物聯(lián)網(wǎng)世界帶來(lái)的內(nèi)容。
輔酶AP
盡管 Web 基礎(chǔ)架構(gòu)可用于 IoT 設(shè)備,但它對(duì)于大多數(shù) IoT 應(yīng)用程序來(lái)說(shuō)太重了。2013 年 7 月,互聯(lián)網(wǎng)工程任務(wù)組 (IETF) 發(fā)布了用于低功耗和有損節(jié)點(diǎn)和網(wǎng)絡(luò) (LLN) 的 CoAP。CoAP 與 HTTP 一樣,是一種 RESTful(通過(guò)統(tǒng)一的應(yīng)用程序編程接口 (API) 操作資源和資源標(biāo)識(shí)符的能力)協(xié)議。
CoAP 在語(yǔ)義上與 HTTP 一致,甚至具有與 HTTP 的一對(duì)一映射。網(wǎng)絡(luò)設(shè)備受到具有少量閃存和 RAM 的小型 MCU 的限制,而本地網(wǎng)絡(luò)的限制是由于高數(shù)據(jù)包錯(cuò)誤率和低吞吐量(數(shù)十 kbps)。CoAP 對(duì)于使用電池或能量收集的設(shè)備來(lái)說(shuō)是一個(gè)很好的協(xié)議。
CoAP的特點(diǎn):
因?yàn)?CoAP 使用 UDP,所以一些 TCP 功能直接在 CoAP 中復(fù)制。例如,CoAP 區(qū)分可確認(rèn)(需要確認(rèn))和不可確認(rèn)消息。
請(qǐng)求和響應(yīng)通過(guò) CoAP 消息異步交換(與使用現(xiàn)有 TCP 連接的 HTTP 不同)。
所有的標(biāo)頭、方法和狀態(tài)碼都是二進(jìn)制編碼的,這減少了協(xié)議開(kāi)銷。但是,這需要使用協(xié)議分析器來(lái)解決網(wǎng)絡(luò)問(wèn)題。
與 HTTP 不同,緩存 CoAP 響應(yīng)的能力不取決于請(qǐng)求方法,而是響應(yīng)代碼。
CoAP 完全解決了對(duì)表現(xiàn)出類似于永久連接的行為的極輕協(xié)議的需求。它對(duì) HTTP 語(yǔ)義熟悉,并且是 RESTful。如果你有網(wǎng)絡(luò)背景,使用 CoAP 相對(duì)容易。
MQTT
消息隊(duì)列遙測(cè)傳輸 (MQTT) 是一種開(kāi)源協(xié)議,專為受限設(shè)備和低帶寬、高延遲或不可靠的網(wǎng)絡(luò)而開(kāi)發(fā)和優(yōu)化。它是一種發(fā)布/訂閱消息傳輸,非常輕量級(jí),非常適合以最小帶寬將小型設(shè)備連接到網(wǎng)絡(luò)。MQTT 具有帶寬效率、與數(shù)據(jù)無(wú)關(guān),并且具有持續(xù)的會(huì)話感知能力,因?yàn)樗褂?TCP。它旨在最大限度地減少設(shè)備資源需求,同時(shí)還試圖確??煽啃院鸵欢ǔ潭鹊姆?wù)等級(jí)交付保證。
MQTT 針對(duì)需要從 Internet 上的后端服務(wù)器監(jiān)視或控制的小型設(shè)備的大型網(wǎng)絡(luò)。它不是為設(shè)備到設(shè)備的傳輸而設(shè)計(jì)的,也不是為將數(shù)據(jù)“多播”到許多接收器而設(shè)計(jì)的。MQTT 很簡(jiǎn)單,提供的控制選項(xiàng)很少。使用 MQTT 的應(yīng)用程序通常很慢,因?yàn)樵谶@種情況下“實(shí)時(shí)”的定義通常以秒為單位。
MQTT 與 CoAP
MQTT 發(fā)布/訂閱的擴(kuò)展性很好,這種架構(gòu)的優(yōu)勢(shì)已經(jīng)得到體現(xiàn)。在最新的 IETF 征求意見(jiàn) (RFC) 中,CoAP 引入了對(duì)發(fā)布/訂閱的支持。
CoAP 的輕負(fù)載非常適合無(wú)線傳感器網(wǎng)絡(luò)。用于傳感器網(wǎng)絡(luò)的 MQTT (MQTT-SN) 采用了該想法并對(duì)其進(jìn)行了復(fù)制。
兩個(gè)主要的專用物聯(lián)網(wǎng)協(xié)議相互借鑒。這兩種協(xié)議會(huì)保持主流嗎?我們相信,至少 5 到 10 年。
潛在物聯(lián)網(wǎng)協(xié)議的比較
思科是互聯(lián)網(wǎng)的核心;它的IP設(shè)備無(wú)處不在。思科積極參與物聯(lián)網(wǎng)的發(fā)展,并看到了連接物理對(duì)象、從我們的環(huán)境中獲取數(shù)據(jù)并處理這些數(shù)據(jù)以提高我們的生活水平的潛力(表 2)。
[表 2 | 思科在物聯(lián)網(wǎng)標(biāo)準(zhǔn)方面的工作。]
表 2 所示的特定于 Internet 的 IoT 協(xié)議的開(kāi)發(fā)旨在滿足內(nèi)存量小設(shè)備以及低帶寬和高延遲網(wǎng)絡(luò)的需求。圖 2 提供了這些協(xié)議為物聯(lián)網(wǎng)帶來(lái)的性能優(yōu)勢(shì)的另一個(gè)很好的總結(jié)。
【圖2 | Web 和 IoT 協(xié)議的比較。資料來(lái)源:Zach Shelby,Micro:bit 基金會(huì)。]
選擇正確的物聯(lián)網(wǎng)協(xié)議
連接傳感器和對(duì)象開(kāi)辟了一個(gè)全新的可能用例世界——正是這些用例將決定何時(shí)為正確的應(yīng)用程序使用正確的協(xié)議。
這些協(xié)議中的每一個(gè)的高層定位都是相似的。除了 HTTP,所有提到的協(xié)議都被定位為支持?jǐn)?shù)百萬(wàn)設(shè)備的實(shí)時(shí)發(fā)布/訂閱物聯(lián)網(wǎng)協(xié)議。根據(jù)您如何定義“實(shí)時(shí)”(秒、毫秒或微秒)和“事物”(WSN 節(jié)點(diǎn)、多媒體設(shè)備、個(gè)人可穿戴設(shè)備、醫(yī)療掃描儀、引擎控制等),您的產(chǎn)品的協(xié)議選擇至關(guān)重要。從根本上說(shuō),這些協(xié)議非常不同。
今天,Web 運(yùn)行在數(shù)百種協(xié)議上。物聯(lián)網(wǎng)將支持?jǐn)?shù)百個(gè)。在設(shè)計(jì)系統(tǒng)時(shí),您需要做的是非常精確地定義系統(tǒng)要求并選擇正確的協(xié)議集來(lái)解決它們。互聯(lián)網(wǎng)協(xié)議是載體;它可以為 IoT 封裝與今天為 Web 封裝的協(xié)議一樣多的協(xié)議。
許多行業(yè)專家都在要求協(xié)議標(biāo)準(zhǔn)化 但是,如果網(wǎng)絡(luò)有這么多協(xié)議,為什么物聯(lián)網(wǎng)沒(méi)有那么多呢?您選擇滿足您要求的協(xié)議。唯一的區(qū)別是物聯(lián)網(wǎng)協(xié)議還很年輕,必須證明它們的可靠性。請(qǐng)記住,當(dāng)互聯(lián)網(wǎng)成為現(xiàn)實(shí)時(shí),IP 版本 4 (IPv4) 使之成為可能。我們現(xiàn)在正在大規(guī)模部署 IPv6,而物聯(lián)網(wǎng)是電信運(yùn)營(yíng)商一直在等待證明所需投資的殺手級(jí)應(yīng)用。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2567文章
53026瀏覽量
767795 -
Web
+關(guān)注
關(guān)注
2文章
1287瀏覽量
71478 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46264瀏覽量
392915
發(fā)布評(píng)論請(qǐng)先 登錄
多協(xié)議物聯(lián)網(wǎng)關(guān)的方案測(cè)試-基于米爾全志T536開(kāi)發(fā)板
物聯(lián)網(wǎng)的應(yīng)用范圍有哪些?
工業(yè)物聯(lián)網(wǎng)常見(jiàn)的協(xié)議有哪些
物聯(lián)網(wǎng)未來(lái)發(fā)展趨勢(shì)如何?
物聯(lián)網(wǎng)工程師為什么要學(xué)Linux?
MQTT為何成為物聯(lián)網(wǎng)協(xié)議
iic協(xié)議在物聯(lián)網(wǎng)中的應(yīng)用
物聯(lián)網(wǎng)就業(yè)有哪些高薪崗位?
ipc協(xié)議在物聯(lián)網(wǎng)中的應(yīng)用
物聯(lián)網(wǎng)常用協(xié)議及應(yīng)用場(chǎng)景
物聯(lián)網(wǎng)學(xué)習(xí)路線來(lái)啦!
工業(yè)協(xié)議網(wǎng)關(guān):物聯(lián)網(wǎng)時(shí)代的智慧橋梁

什么是物聯(lián)網(wǎng)技術(shù)?
Modbus物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

物聯(lián)網(wǎng)高級(jí)智能網(wǎng)關(guān)是什么

評(píng)論