日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式大雜燴
[導讀]目前市面上大多數IoT模組都支持TCP、UDP、CoAP、LwM2M、MQTT等協議,這里面既有傳輸層的協議也有應用層的協議,協議眾多,適用的場景也不同。但是設計產品時通常只需要運用一種協議,那么怎么來選擇一種符合自己產品的應用場景的協議顯得尤為重要。本文將介紹


目前市面上大多數IoT模組都支持TCP、UDP、CoAP、LwM2M、MQTT等協議,這里面既有傳輸層的協議也有應用層的協議,協議眾多,適用的場景也不同。但是設計產品時通常只需要運用一種協議,那么怎么來選擇一種符合自己產品的應用場景的協議顯得尤為重要。本文將介紹 TCP、UDP、CoAP、LwM2M、MQTT這5個常用的協議的特點與區(qū)別,為 設計產品時協議的選擇提供參考。
傳輸層協議TCP與UDP
TCP(傳輸控制協議,Transport Controll Protocol)、UDP(用戶數據報協議,User Data Protocol)同屬于傳輸層協議,為上層用戶提供級別的通信可靠性。
傳輸控制協議(TCP)TCP(傳輸控制協議)定義了兩臺計算機之間進行可靠的傳輸而交換的數據和確認信息的格式,以及計算機為了確保數據的正確到達而采取的措施。協議規(guī)定了TCP軟件怎樣識別給定計算機上的多個目的進程如何對分組重復這類差錯進行恢復。協議還規(guī)定了兩臺計算機如何初始化一個TCP數據流傳輸以及如何結束這一傳輸。TCP最大的特點就是提供的是面向連接、可靠的字節(jié)流服務。
用戶數據報協議(UDP)UDP(用戶數據報協議)是一個簡單的面向數據報的傳輸層協議。提供的是非面向連接的、不可靠的數據流傳輸。UDP不提供可靠性,也不提供報文到達確認、排序以及流量控制等功能。它只是把應用程序傳給IP層的數據報發(fā)送出去,但是并不能保證它們能到達目的地。因此報文可能會丟失、重復以及亂序等。但由于UDP在傳輸數據報前不用在客戶和服務器之間建立一個連接,且沒有超時重發(fā)等機制,故而傳輸速度很快

TCP與UDP的區(qū)別

差異 TCP UDP
是否連接 面向連接 面向非連接
傳輸可靠性 可靠 不可靠
應用場合 少量數據 大量數據
速度

1、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發(fā)送數據之前不需要建立連接

2、TCP提供可靠的服務。也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重復,且按序到達;UDP盡最大努力交付,即不保證可靠交付

3、TCP面向字節(jié)流,實際上是TCP把數據看成一連串無結構的字節(jié)流;UDP是面向報文的

UDP沒有擁塞控制,因此網絡出現擁塞不會使源主機的發(fā)送速率降低(對實時應用很有用,如IP電話,實時視頻會議等)

4、每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信

5、TCP首部開銷20字節(jié);UDP的首部開銷小,只有8個字節(jié) 6、TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道

那么傳輸層協議是否適合直接運用到物聯網設備終端上?

傳輸層,顧名思義,他只負責傳輸數據,就好比是一輛運貨的貨車,但是想讓貨物完好無損地運到目的地,那就還需要做打包、裝車、驗貨、入庫、簽回單等工作,這就需要做更多地工作,這些工作也就是應用層協議要做的工作。所以物聯網設備終端要想對數據進行穩(wěn)定、可靠地交互,就需要使用應用層的協議,而不能直接使用傳輸層的協議。以下將介紹MQTT、CoAP、LwM2M三種適合在物聯網設備終端上運用的應用層協議。

應用層協議MQTT 與CoAP

1、MQTT概述

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發(fā)的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支持所有平臺,幾乎可以把所有聯網物品和外部連接起來,被用來當做傳感器和制動器(比如通過Twitter讓房屋聯網)的通信協議。

2、MQTT協議特點

MQTT協議是為大量計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通訊而設計的協議,它具有以下主要的幾項特性:

1、使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應用程序耦合;

2、對負載內容屏蔽的消息傳輸;

3、使用TCP/IP 提供網絡連接;

4、有三種消息發(fā)布服務質量:

“至多一次”,消息發(fā)布完全依賴底層 TCP/IP 網絡。會發(fā)生消息丟失或重復。這一級別可用于如下情況,環(huán)境傳感器數據,丟失一次讀記錄無所謂,因為不久后還會有第二次發(fā)送?!爸辽僖淮巍?,確保消息到達,但消息重復可能會發(fā)生。“只有一次”,確保消息到達一次。這一級別可用于如下情況,在計費系統(tǒng)中,消息重復或丟失會導致不正確的結果。小型傳輸,開銷很小(固定長度的頭部是 2 字節(jié)),協議交換最小化,以降低網絡流量。

3、CoAP概述

由于物聯網中的很多設備都是資源受限型的,即只有少量的內存空間和有限的計算能力,所以傳統(tǒng)的HTTP協議應用在物聯網上就顯得過于龐大而不適用。IETF的CoRE工作組提出了一種基于REST架構的CoAP協議。CoAP是工作在UDP協議族,采用的是二進制格式,相比起HTTP采用的文本格式,CoAP比HTTP更加緊湊。

4、CoAP協議特點

1、消息模型,以消息為數據通信載體,通過交換網絡消息來實現設備間數據通信

2、對云端設備資源操作都是通過請求與響應機制來完成,類似HTTP,設備端可通過4個請求方法(GET, PUT, POST, DELETE)對服務器端資源進行操作。

3、協議包輕量級,最小長度僅為4B。

4、支持可靠傳輸,數據重傳,塊傳輸,確保數據可靠到達。

5、支持IP多播, 即可以同時向多個設備發(fā)送請求

6、非長連接通信,適用于低功耗物聯網場景

5、MQTT與CoAP的區(qū)別

類別 MQTT CoAP
通信機制 異步 同步
連接方式 TCP UDP
通信模式 多對多 多對一
使用場景 更適用于推送和IM 物聯網
功耗 功耗高 功耗低
反向控制 可用于反向控制 非長連接,不適合反向控制

那么MQTT和CoAP哪個更適合用于物聯網設備上呢?

MQTT和CoAP其實都比較適用于物聯網設備上,但是還是要根具實際場景來選擇使用。比如設備運行在一個不需要考慮功耗,但是需要實時被控制的場景,例如充電樁、快遞柜等場景,則使用MQTT協議比較合適。如果設備通常只有上報數據,且對功耗很敏感的場景,例如水表、燃氣表等場景,則使用CoAP協議比較合適。

隨著物聯網興起,萬物互聯的時代終將到來。但鑒于成本和性能的考慮,設備的資源往往受限,那么就需要一種專門為資源受限的物聯網設備設計的協議來滿足萬物互聯的需求,這就是LwM2M協議。

1、LwM2M概述:

OMA是一家國際組織,最初定義了一套 OMA-DM的協議,用來遠程管理移動終端設備,比如手機開戶,版本升級,等等。OMA-DM有著非常廣泛的應用,很多運營商比如Verizon Wireless, Sprint都有自己的OMA-DM服務并要求手機/模塊入網的時候通過自定義的OMA-DM入網測試。因為物聯網的興起,OMA在傳統(tǒng)的OMA-DM協議基礎之上,提出了LwM2M協議。2013年底,OMA發(fā)布了LwM2M規(guī)范。

OMA Lightweight M2M 主要動機是定義一組輕量級的協議適用于各種物聯網設備,因為M2M設備通常是資源非常有限的嵌入式終端,無UI,計算能力和網絡通信能力都有限。同時也因為物聯網終端的巨大數量,節(jié)約網絡資源變得很重要。
2、LwM2M 協議邏輯實體與邏輯接口

LwM2M 定義了三個邏輯實體:

1、LwM2M Server 服務器
2、LwM2M client 客戶端 負責執(zhí)行服務器的命令和上報執(zhí)行結果
3、LwM2M 引導服務器 Bootstrap server 負責配置LwM2M客戶端.

在這三個邏輯實體之間有4個邏輯接口:

Device Discovery and Registration:這個接口讓客戶端注冊到服務器并通知服務器客戶端所支持的能力(簡單說就是支持哪些資源Resource和對象Object

Bootstrap:Bootstrap server:通過這個接口來配置Clinet - 比如說LwM2M server的URL地址 Device Management and Service Enablement:這個就是最主要的業(yè)務接口了。LwM2M Server 發(fā)送指令給 Client 并收到回應.

Information Reporting:這個接口是 LwM2M Client 來上報其資源信息的,比如傳感器溫度。上報方式可以是事件觸發(fā),也可以是周期性的。

這三個邏輯實體與四個邏輯接口之間的關系如下圖:

3、LwM2M 協議棧:

LwM2M 協議棧結構如下圖所示:

LwM2M Objects
LwM2M Protocol
CoAP
DTLS
UDP SMS
LwM2M Objects: 每個對象對應客戶端的某個特定功能實體. LwM2M 規(guī)范定義了一下標準Objects,比如

urn:oma:lwm2m:oma:2; (LwM2M Server Object)

urn:oma:lwm2m:oma:3; (LwM2M Access Control Object)

每個object下可以有很多resource. 比如Firmware object可以有Firmware版本號,size等resource.

Vendor可以自己定義object

LwM2M Protocol: 定義了一些邏輯操作,比如Read, Write, Execute, Create or Delete.

CoAP: 是IETF 定義的Constrained Application Protocol 用來做LwM2M的傳輸層,下層可以是 UDP 或SMS .UDP 是必須支持的,SMS是可選的。CoAP有自己的消息頭,重傳機制等。

DTLS: 是用來保證客戶端和服務器間的安全性的.
4、LwM2M與CoAP的關系:

LwM2M的消息沒有對稱的反饋消息,由于LwM2M承載在CoAP協議上,使用CoAP的get、post、put、delete方式,對于相應消息成功或失敗的反饋是通過CoAP協議本身的交互來實現的。LwM2M載荷支持四種格式 plain text、Opaque、TLV、JSON,這四種協議要求服務器端必須都要支持,而在客戶端必須支持TLV格式。1


猜你喜歡:

基于LiteOS的智慧農業(yè)案例實驗分享

筆記:編寫簡單的內核模塊

【Linux筆記】設備樹實例分析

【Linux筆記】通俗易懂的Linux驅動基礎

【Linux筆記】pc機_開發(fā)板_ubuntu互ping實驗
【Linux筆記】掛載網絡文件系統(tǒng)

學習STM32的一些經驗分享

從單片機工程師的角度看嵌入式Linux


后臺回復:加群。添加ZhengN微信,加入【嵌入式大雜燴】交流群



點個贊,證明你還愛我



免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉