0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(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é)議,主要用于實(shí)現(xiàn)網(wǎng)絡(luò)中的快速通訊,我們今天將把Air780E的UDP應(yīng)用分析透徹。

1、UDP概述

以下是UDP通訊的主要特點(diǎn):

1.1 無連接通訊:

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

1.2 不可靠傳輸:

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

1.3 面向報(bào)文:

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

1.4 高效性:

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

1.5 實(shí)時(shí)性:

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

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

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

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

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

4G模組插卡開機(jī)后,連接上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 成果運(yùn)行精彩呈現(xiàn)

wKgZoWcnbbKAAeNLAAXMTATiK5E173.png

2.4.2完整實(shí)例深度剖析

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

3、總結(jié)

UDP-UART匯總:

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

UART(通用異步收發(fā)傳輸器)是一種串行通信協(xié)議,用于在計(jì)算機(jī)和其他設(shè)備之間傳輸數(shù)據(jù)。UART通信是異步的,意味著每個(gè)數(shù)據(jù)包的發(fā)送和接收是獨(dú)立的,不需要時(shí)鐘信號來同步。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è)備時(shí)。在這種情況下,UART可能用于設(shè)備內(nèi)部的串行通信,而UDP則用于設(shè)備之間的網(wǎng)絡(luò)通信。例如,一個(gè)基于微控制器的設(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é)合使用以實(shí)現(xiàn)設(shè)備到網(wǎng)絡(luò)的通信。

4、常見問題

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

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

5、擴(kuò)展

5.1 關(guān)于TCP和UDP

TCP(TransmissionControlProtocol,傳輸控制協(xié)議)和UDP(UserDatagramProtocol,用戶數(shù)據(jù)報(bào)協(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í)重傳、錯(cuò)誤校驗(yàn)等機(jī)制,確保數(shù)據(jù)按順序、無錯(cuò)誤地傳輸。

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í)時(shí)性要求較高、但對數(shù)據(jù)可靠性要求不高的應(yīng)用場景,如視頻流、音頻流、在線游戲等。

5.6 流量控制:

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

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

5.7 頭部開銷:

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

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

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

審核編輯 黃宇

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

    關(guān)注

    5082

    文章

    19126

    瀏覽量

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

    關(guān)注

    9

    文章

    1891

    瀏覽量

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

    關(guān)注

    2909

    文章

    44635

    瀏覽量

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

    關(guān)注

    0

    文章

    325

    瀏覽量

    33941
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

    今天我們學(xué)習(xí)的是Air780E模組LuatOS開發(fā)ADC應(yīng)用,希望能幫助到大家。
    的頭像 發(fā)表于 11-07 14:12 ?269次閱讀
    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 ?366次閱讀
    <b class='flag-5'>Air780E</b>模組AT指令下的MQTT應(yīng)用:技術(shù)指南

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

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

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

    咋們今天說的Air780EWebSocket應(yīng)用示范針對小白絕對是不可以錯(cuò)過的示例。
    的頭像 發(fā)表于 11-03 20:16 ?837次閱讀
    不可錯(cuò)過的<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 ?392次閱讀
    從箱子里找出來的<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 ?276次閱讀
    關(guān)于<b class='flag-5'>Air780E</b>:與服務(wù)器的加密通信操作方法

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

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

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

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問題如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 08-01 17:27 ?804次閱讀
    合宙 <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模塊遇到死機(jī)問題如何分析

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

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機(jī)如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 07-19 16:07 ?532次閱讀
    <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)存死機(jī)如何分析

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

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問題如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 07-19 15:37 ?674次閱讀
    <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模塊遇到死機(jī)問題如何分析

    Air780E硬件設(shè)計(jì)手冊

    電子發(fā)燒友網(wǎng)站提供《Air780E硬件設(shè)計(jì)手冊.pdf》資料免費(fèi)下載
    發(fā)表于 04-14 09:57 ?20次下載