0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

奇妙的Air780E之UDP應(yīng)用示例大賞!

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-11-04 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于UDP是一種無連接的、不可靠的傳輸層協(xié)議,主要用于實現(xiàn)網(wǎng)絡(luò)中的快速通訊,我們今天將把Air780E的UDP應(yīng)用分析透徹。

1、UDP概述

以下是UDP通訊的主要特點:

1.1 無連接通訊:

UDP在發(fā)送數(shù)據(jù)之前不需要建立連接,這大大減少了通訊的延遲。發(fā)送方只需將數(shù)據(jù)包封裝成UDP報文,并附上目的地址和端口號,即可直接發(fā)送。

1.2 不可靠傳輸:

UDP不保證數(shù)據(jù)包的順序性、完整性和可靠性。數(shù)據(jù)包在傳輸過程中可能會丟失、重復(fù)或亂序到達(dá)。因此,UDP通訊需要應(yīng)用層自行處理這些問題,如實現(xiàn)錯誤檢測、數(shù)據(jù)重傳等機制。

1.3 面向報文:

UDP以報文為單位進(jìn)行數(shù)據(jù)傳輸,每個報文都是獨立的。這種面向報文的特性使得UDP能夠保持?jǐn)?shù)據(jù)的完整性,并且便于進(jìn)行錯誤檢測和處理。

1.4 高效性:

UDP的頭部結(jié)構(gòu)非常簡單,只包含必要的字段,如源端口、目的端口、數(shù)據(jù)長度和校驗和。這種簡潔的頭部設(shè)計使得UDP在處理數(shù)據(jù)包時更加高效,減少了網(wǎng)絡(luò)延遲。

1.5 實時性:

UDP通訊具有較快的傳輸速度,適用于對實時性要求較高的應(yīng)用場景,如視頻通話、在線游戲等。在這些場景中,即使數(shù)據(jù)包偶爾丟失或延遲,也不會對整體功能產(chǎn)生嚴(yán)重影響。

2、UDP-UART透傳功能實現(xiàn)的概述

本文教你怎么使用luatos腳本語言,就可以讓合宙4G模組連接上一個UDP服務(wù)器,并且模組和服務(wù)器之間實現(xiàn)數(shù)據(jù)的雙向傳輸!

2.1 本教程實現(xiàn)的功能定義

通過網(wǎng)頁端啟動一個UDP服務(wù)器;

4G模組插卡開機后,連接上UDP服務(wù)器;

4G模組向UDP服務(wù)器發(fā)送"UDPCONNECT",服務(wù)器可以收到數(shù)據(jù)并且在網(wǎng)頁端顯示;

UDP服務(wù)器網(wǎng)頁端向4G模組發(fā)送datafromUDPserver,4G模組可以收到數(shù)據(jù)并且通過串口輸出顯示;

2.2 文章內(nèi)容引用

780E開發(fā)板軟硬件資料

以上接口函數(shù)不做詳細(xì)介紹,可通過此鏈接查看具體介紹:socket-網(wǎng)絡(luò)接口-LuatOS文檔

2.3 核心腳本代碼詳解

2.3.1 串口初始化

本文示例:串口使用MAIN_UART(uart1)

wKgaoWcnbWGAPSxVAAMg0xvS7Cw511.png

2.3.2 數(shù)據(jù)接收回調(diào):搭建響應(yīng)橋梁

這里使用uart.rx接口,和以zbuff的方式存儲從uart1外部串口收到的數(shù)據(jù)--收取數(shù)據(jù)會觸發(fā)回調(diào),這里的"receive"是固定值不要修改。

wKgZoWcnbXeAJFGPAAghS3tD5v8483.png

2.3.3 UDP網(wǎng)絡(luò)配置:鋪就數(shù)據(jù)通道

wKgZoWcnbYmAThL0AA_8Jb1m9VI212.png

2.3.4 UDP至串口透傳:數(shù)據(jù)無縫流轉(zhuǎn)

wKgaoWcnbZaAGiYFAAaga2l62io641.png

2.3.5 串口至UDP反透傳:信息雙向傳遞

wKgaoWcnbaOAUkkdAAgaXpAEm54525.png

2.4 成果演示與深度解析:視頻+圖文全面展示

2.4.1 成果運行精彩呈現(xiàn)

wKgZoWcnbbKAAeNLAAXMTATiK5E173.png

2.4.2完整實例深度剖析

wKgZoWcnbcKAZFJgABZ44efrMWw372.pngwKgaoWcnbd6AXDdfABDvKOuiZU8695.pngwKgZoWcnbfOAUze4ABEZWh6E_e0854.pngwKgaoWcnbgSAFhJdAA8wiwTRLaw571.pngwKgZoWcnbhOASWHYAA-p1NOCIvo718.png

3、總結(jié)

UDP-UART匯總:

UDP(用戶數(shù)據(jù)報協(xié)議)是一種無連接的傳輸層協(xié)議,它提供不可靠的服務(wù),不保證數(shù)據(jù)包的順序、完整性或正確性,但具有較低的時延和開銷。UDP常用于需要快速傳輸且對丟包不太敏感的應(yīng)用,如實時音視頻、在線游戲等。

UART(通用異步收發(fā)傳輸器)是一種串行通信協(xié)議,用于在計算機和其他設(shè)備之間傳輸數(shù)據(jù)。UART通信是異步的,意味著每個數(shù)據(jù)包的發(fā)送和接收是獨立的,不需要時鐘信號來同步。UART通信通常用于低速設(shè)備之間的連接,如微控制器、傳感器等。

將UDP與UART結(jié)合起來,通常是在嵌入式系統(tǒng)物聯(lián)網(wǎng)IoT)應(yīng)用中,需要將設(shè)備上的數(shù)據(jù)通過網(wǎng)絡(luò)傳輸?shù)竭h(yuǎn)程服務(wù)器或其他設(shè)備時。在這種情況下,UART可能用于設(shè)備內(nèi)部的串行通信,而UDP則用于設(shè)備之間的網(wǎng)絡(luò)通信。例如,一個基于微控制器的設(shè)備可能通過UART接口收集傳感器數(shù)據(jù),然后通過UDP協(xié)議將這些數(shù)據(jù)發(fā)送到遠(yuǎn)程服務(wù)器進(jìn)行分析或存儲。

需要注意的是,UDP和UART是不同層次的協(xié)議,UDP位于傳輸層,而UART位于物理層和數(shù)據(jù)鏈路層(在某些上下文中,可能被視為一種簡單的通信接口)。它們各自在其層次上發(fā)揮作用,但可以在某些應(yīng)用場景中結(jié)合使用以實現(xiàn)設(shè)備到網(wǎng)絡(luò)的通信。

4、常見問題

4.1 UDP是否支持單向/雙向認(rèn)證?

UDP本身不直接支持單向或雙向認(rèn)證。UDP是一種無連接的協(xié)議,主要用于實時應(yīng)用,如IP電話和視頻會議,它不保證數(shù)據(jù)的可靠交付。雖然UDP本身不提供認(rèn)證功能,但可以在應(yīng)用層或通過網(wǎng)絡(luò)設(shè)備實現(xiàn)用戶認(rèn)證。這種認(rèn)證可以在連接建立的起始階段進(jìn)行,并且可以通過多種方式實現(xiàn),包括單向認(rèn)證(如客戶端向服務(wù)器提供認(rèn)證信息)和雙向認(rèn)證(雙方相互驗證身份)。具體實現(xiàn)方式取決于應(yīng)用場景和需求。

5、擴展

5.1 關(guān)于TCP和UDP

TCP(TransmissionControlProtocol,傳輸控制協(xié)議)和UDP(UserDatagramProtocol,用戶數(shù)據(jù)報協(xié)議)都是網(wǎng)絡(luò)層之上的傳輸層協(xié)議,它們在網(wǎng)絡(luò)通訊中扮演著重要的角色,但有著顯著的區(qū)別。以下是TCP和UDP的簡化對比:

5.2 連接性:

TCP:面向連接。在數(shù)據(jù)傳輸之前,需要先建立連接(三次握手),確保數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

UDP:無連接。數(shù)據(jù)傳輸前不需要建立連接,直接發(fā)送數(shù)據(jù)包。

5.3 可靠性:

TCP:提供可靠的傳輸服務(wù)。通過確認(rèn)應(yīng)答、超時重傳、錯誤校驗等機制,確保數(shù)據(jù)按順序、無錯誤地傳輸。

UDP:不保證數(shù)據(jù)的可靠性。數(shù)據(jù)包可能會丟失、重復(fù)或亂序到達(dá)。

5.4 速度:

TCP:由于需要建立連接和進(jìn)行各種可靠性檢查,TCP的傳輸速度相對較慢。

UDP:沒有連接建立和可靠性檢查的開銷,UDP的傳輸速度通常更快。

5.5 應(yīng)用場景:

TCP:適用于需要可靠傳輸?shù)膽?yīng)用場景,如網(wǎng)頁瀏覽、文件傳輸?shù)取?/p>

UDP:適用于對實時性要求較高、但對數(shù)據(jù)可靠性要求不高的應(yīng)用場景,如視頻流、音頻流、在線游戲等。

5.6 流量控制:

TCP:具有流量控制和擁塞控制機制,能夠根據(jù)網(wǎng)絡(luò)狀況調(diào)整數(shù)據(jù)傳輸速率。

UDP:沒有流量控制和擁塞控制機制,數(shù)據(jù)發(fā)送速率完全取決于應(yīng)用程序。

5.7 頭部開銷:

TCP:頭部開銷較大,包含源端口、目的端口、序列號、確認(rèn)號、窗口大小等多個字段。

UDP:頭部開銷較小,僅包含源端口、目的端口、長度和校驗和等字段。

分享完畢,歡迎關(guān)注

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5144

    文章

    19584

    瀏覽量

    315975
  • 數(shù)據(jù)傳輸
    +關(guān)注

    關(guān)注

    9

    文章

    2010

    瀏覽量

    65841
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2929

    文章

    46052

    瀏覽量

    389870
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    330

    瀏覽量

    34558
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    4G模組Air780E的LuatOS開發(fā)位運算(bit)示例

    本文我要說的是低功耗4G模組Air780E的LuatOS開發(fā),關(guān)于位運算(bit)示例,我將詳細(xì)解析分享給大家。
    的頭像 發(fā)表于 12-02 14:33 ?497次閱讀
    4G模組<b class='flag-5'>Air780E</b>的LuatOS開發(fā)<b class='flag-5'>之</b>位運算(bit)<b class='flag-5'>示例</b>

    低功耗模組Air780E的AT指令:FTP示例!

    本文說的是關(guān)于4G模組AT指令的FTP示例,以Air780E為例,希望大家有所收獲。
    的頭像 發(fā)表于 11-30 09:40 ?610次閱讀
    低功耗模組<b class='flag-5'>Air780E</b>的AT指令:FTP<b class='flag-5'>示例</b>!

    解析Air780E模組LuatOS開發(fā)的隨機數(shù)(random) 示例

    本文主要解析的是低功耗4G模組Air780E的LuatOS開發(fā)隨機數(shù)(random)實例,我以整理成文分享給大家。
    的頭像 發(fā)表于 11-29 20:23 ?524次閱讀
    解析<b class='flag-5'>Air780E</b>模組LuatOS開發(fā)的隨機數(shù)(random) <b class='flag-5'>示例</b>篇

    Air780E軟件中zlib解壓示例的詳細(xì)展示!

    今天我?guī)氲氖?b class='flag-5'>Air780E 軟件中 zlib 解壓示例,希望大家有所收獲。
    的頭像 發(fā)表于 11-17 10:01 ?662次閱讀
    <b class='flag-5'>Air780E</b>軟件中zlib解壓<b class='flag-5'>示例</b>的詳細(xì)展示!

    Air780E模組的ADC之旅 LuatOS開發(fā)實例

    今天學(xué)習(xí)一個新的示例,關(guān)于Air780E模組LuatOS開發(fā)的ADC應(yīng)用實例,希望大家有所收獲。
    的頭像 發(fā)表于 11-11 09:33 ?583次閱讀
    <b class='flag-5'>Air780E</b>模組的ADC之旅  LuatOS開發(fā)實例

    LuatOS與ADC:Air780E模組開發(fā)的新篇章!

    今天我們學(xué)習(xí)的是Air780E模組LuatOS開發(fā)ADC應(yīng)用,希望能幫助到大家。
    的頭像 發(fā)表于 11-07 14:12 ?565次閱讀
    LuatOS與ADC:<b class='flag-5'>Air780E</b>模組開發(fā)的新篇章!

    Air780E模組AT指令下的MQTT應(yīng)用:技術(shù)指南

    今天我要講的是Air780E模組AT指令下的MQTT應(yīng)用,希望對大家有所幫助。
    的頭像 發(fā)表于 11-07 14:02 ?939次閱讀
    <b class='flag-5'>Air780E</b>模組AT指令下的MQTT應(yīng)用:技術(shù)指南

    UDP應(yīng)用詳解:Air780E軟件的全面手冊

    了解Air780E軟件UDP應(yīng)用全面手冊,永享編程幸福人生。
    的頭像 發(fā)表于 11-05 12:31 ?624次閱讀
    <b class='flag-5'>UDP</b>應(yīng)用詳解:<b class='flag-5'>Air780E</b>軟件的全面手冊

    不可錯過的Air780EWebSocket應(yīng)用示范!小白篇

    咋們今天說的Air780EWebSocket應(yīng)用示范針對小白絕對是不可以錯過的示例。
    的頭像 發(fā)表于 11-03 20:16 ?1310次閱讀
    不可錯過的<b class='flag-5'>Air780E</b><b class='flag-5'>之</b>WebSocket應(yīng)用示范!小白篇

    從箱子里找出來的示例Air780E軟件指南TCP應(yīng)用

    今天翻箱倒柜,把塵封已久的關(guān)于Air780E軟件指南TCP應(yīng)用教程翻出來給大家展示展示:讓我從概述、環(huán)境準(zhǔn)備、問題等方面來給大家說清楚。
    的頭像 發(fā)表于 11-02 11:58 ?883次閱讀
    從箱子里找出來的<b class='flag-5'>示例</b>:<b class='flag-5'>Air780E</b>軟件指南<b class='flag-5'>之</b>TCP應(yīng)用

    關(guān)于Air780E:與服務(wù)器的加密通信操作方法

    ?今天我們來學(xué)習(xí)合宙低功耗4G模組Air780E快速入門跟服務(wù)器之間的加密通信,伙伴們,一起學(xué)起來! 一、 編寫腳本 1.1 準(zhǔn)備資料 Air780E開發(fā)板購買 Air780E開發(fā)板
    的頭像 發(fā)表于 10-12 07:31 ?709次閱讀
    關(guān)于<b class='flag-5'>Air780E</b>:與服務(wù)器的加密通信操作方法

    合宙Air780E硬件設(shè)計手冊02

    合宙低功耗4G模組Air780E硬件設(shè)計介紹
    的頭像 發(fā)表于 09-06 12:02 ?958次閱讀
    合宙<b class='flag-5'>Air780E</b>硬件設(shè)計手冊02

    合宙 Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙Air780E
    的頭像 發(fā)表于 08-01 17:27 ?1281次閱讀
    合宙 <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 07-19 16:07 ?889次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到內(nèi)存死機如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 07-19 15:37 ?1065次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機問題如何分析

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品