嵌入式系統接入互聯網形成一個物聯網系統,協議是必不可少的關鍵技術。傳統上以解決人機對話為目標的互聯網協議遇到了物物相連的物聯網系統,顯得像大馬拉小車,有勁使不上,物聯網協議就此應運而生。下面就隨網路通信小編一起來了解一下相關內容吧。
毫無疑問,人類和嵌入式設備通過完全不同的方式使用互聯網。人類主要通過萬維網—運行在互聯網上的應用集合—訪問互聯網。當然,網頁並不是互聯網人機交換的唯一選擇,我們還可以通過電子郵件、簡訊、手機應用程序,以及一系列的社交媒體工具實現互聯。
與互聯網相比,在物聯網中,智能電子設備之間通過互聯網實現信息的交互,但這些設備上並沒有類似於網頁瀏覽器和社交媒體的工具,人們已經著手開發這類工具和服務。
TCP/IP協議棧
TCP/IP協議棧是互聯網的核心。它可以通過OSI七層參考模型來表示,如圖1所示。圖中頂部的三層組合在一起,以簡化模型。
1. 物理層和數據鏈路層
嵌入式系統中最使用的物理層協議包括:
1)乙太網(10,100,1G)
2)WiFi(802.11b,g,n)
3)串列PPP(點對點協議)
4)GSM,3G,LTE,4G
2. 網路層
網路層是互聯網的基礎。該層提供了網路間及物理層之間的連接。該層中,設備擁有人們隨處可見的IP地址。
3. 傳輸層
該層位於網路層之上,具有TCP和UDP兩種傳輸協議。
TCP通常用於網路間的人機交互(電子郵件、網頁瀏覽等),以致很多人認為TCP協議是傳輸層使用的唯一協議。TCP提供了邏輯連接、傳輸確認、丟包重傳和流控服務。
但對嵌入式系統而言,使用TCP有點小題大做了。儘管長期以來,UDP主要用於類似於DNS和DHCP的網路服務,現在,在感測器數據採集和遠程控制領域,它有了新的用武之地。
UDP也適合於實時數據應用,例如音頻和視頻應用。這是因為,TCP的包應答和重傳特性對這類應用是無效的,並且增加了額外的開銷。如果一個數據塊(例如一段對話)沒有按時到達目的地,也沒有必要重傳該包。如果重傳,它會破壞包的順序並導致信息錯誤。
設計物聯網設備時,必須考慮如何將本地設備連接到互聯網。可以通過網關,或者將該功能集成到設備中以實現連接。目前,很多MCU集成了乙太網控制器,簡化了聯網的工作。
物聯網協議棧
你可以使用熟悉的Web技術來構建物聯網系統嗎?答案是肯定,但沒有使用新的協議有效。
HTTP(S)和WebSocket是數據負載中傳送XML或JavaScript對象符號(JSON)的常用標準。JSON為網頁開發人員提供了一個抽象層,可以為Web應用創建一個到Web伺服器的持續、穩定的連接。
1. HTTP
HTTP是用於Web服務的客戶端–伺服器模型的基礎。實現HTTP連接的安全的方式是在物聯網設備中只包含一個客戶端,不包含伺服器。換言之,設計一個只發起連接、不接收的物聯網設備比較安全。總之,不允許外部設備訪問你的區域網。
2. WebSocket
WebSocket是一個全雙工通信協議,它在客戶端和伺服器之間,通過一個TCP連接實現全雙工通信。它是HTML 5規範的一部分,WebSocket標準簡化了雙向Web通信和連接管理方面的複雜度。
3. XMPP
XMPP(可擴展通信與表示協議)是現有Web技術在物聯網領域開發新用途的一個很好的實例。
XMPP最初用於即時消息與現場信息。現在已經擴展到支持VoIP信令、協作、輕量級中間件、內容聚合及廣義的XML數據路由等領域。它是家用電器大規模管理的競爭者,這些白色家電包括洗衣機、乾衣機、冰箱等。
4. CoAP
儘管Web協議可用於物聯網設備,對大多數物聯網應用來說,它的體積太龐大。IETF制定的資源受限的應用協議(CoAP),可用於低功耗和資源受限的網路。CoAP是一個REST類型的協議,採用了與HTTP類似的語法,其語義可以與HTTP的語義一一對應。
對基於電池供電或能量收集供電的設備來說,CoAP協議是一個很好的選擇。其部分特性如下:
1)CoAP運行在UDP協議之上。
2)由於UDP傳輸不可靠,CoAP重現了一些TCP的功能。例如,CoAP可以識別需要確認的請求和無需確認的請求。
3)CoAP報文採用非同步請求/響應模式。
4)所有的報文頭、方法和狀態碼基於二進位編碼,以減少協議開銷。
5)不同於HTTP,緩存CoAP響應的能力不依賴請求方式,取決於應答碼。
6)CoAP面向需要輕量級協議和建立永久連接的需求。如果擁有Web應用背景,使用CoAP會比較容易。
5. MQTT
MQ(消息隊列)遙測傳輸是一個開源的協議棧(MQTT),面向資源受限的設備和低帶寬、高延遲的網路。它採用發布/訂閱消息傳輸模式,是一個輕量級的協議,適合將小型設備連接到資源受限的網路。
MQTT帶寬利用率高,數據不可知,並具有連續的會話意識。可以幫助物聯網設備減少資源消耗,還可以確保可靠性和一定程度的服務等級。
MQTT面向大型網路中的小型設備,這些設備需要通過互聯網中的後台伺服器來監視和控制。它不是一個設備到設備的傳輸,也不是「組播」數據到多個接收器的傳輸。MQTT非常簡單,僅提供了一些控制選項。
協議比較
表1概述了所有的物聯網協議,開發這些互聯網定義的物聯網協議的目的是滿足低存儲空間、低帶寬和高延遲設備的聯網需求。
互聯網和物聯網協議比較如下,
左側所示,Web應用的協議棧可以很容易地生成幾百到幾千位元組的數據開銷。比較而言,物聯網協議針對受限制的設備和網路進行了優化,僅生成幾十個位元組的數據開銷。
以上是關於網路通信中-以不一樣的視角看物聯網協議的相關介紹,如果想要了解更多相關信息,請多多關注eeworld,eeworld電子工程將給大家提供更全、更詳細、更新的資訊信息。