0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

低功耗模組軟件的UDP示例 基礎教程篇

青山老竹農 ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-12-02 14:53 ? 次閱讀

本文以常用的低功耗4G模組Air724UG為例,做出關于低功耗模組軟件的UDP示例,以供大家參考。

一、UDP 概述

UDP(用戶數(shù)據(jù)報協(xié)議,User Datagram Protocol)是一種無連接的、不可靠的傳輸層協(xié)議,主要用于實現(xiàn)網(wǎng)絡中的快速通訊。

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

1.1 無連接通訊:

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

1.2 不可靠傳輸:

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

1.3 面向報文:

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

1.4 高效性:

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

1.5 實時性:

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

二、功能概述

這篇文章主要通過寶寶教學的方式,細述了 udp、以及描述各種工具的使用和演示示例。

三、準備硬件環(huán)境

3.1 Air724UG-NFM 開發(fā)板

使用 Air724UG-NFM開發(fā)板,如下圖所示:

wKgZO2dKrSOAY0jsABdYqNWLiVk733.png

3.2 SIM

請準備一張可正常上網(wǎng)的 SIM 卡,該卡可以是物聯(lián)網(wǎng)卡或您的個人手機卡。

特別提醒:

請確保 SIM 卡未欠費且網(wǎng)絡功能正常,以便順利進行后續(xù)操作。

物聯(lián)網(wǎng)需要找卡商確認 apn 配置信息并進行配置,否則可能無法注網(wǎng)。

專網(wǎng)卡需要自備服務器或找卡商將服務器拉入白名單。

注:部分卡無法使用需要進行 apn 配置:

wKgZO2dKrTGAA0t9AAHa63nHRoU048.png

3.3 PC 電腦

請準備一臺配備USB接口且能夠正常上網(wǎng)的電腦。

電腦操作系統(tǒng)為:
WIN7以及以上版本的WINDOWS系統(tǒng)。

3.4 數(shù)據(jù)通信

請準備一根用于連接 Air724UG-NFM 開發(fā)板和 PC 電腦的數(shù)據(jù)線,該數(shù)據(jù)線將實現(xiàn)業(yè)務邏輯的控制與交互。

USB 數(shù)據(jù)線(其一端為 micro-B 接口(俗稱老安卓口),用于連接 Air724UG-NFM 開發(fā)板)。通常,這種數(shù)據(jù)線的外觀如下示意圖所示:

wKgZO2dKrUyAGpc1AAKw3cQk8zE394.png

準備一塊 TTL 串口板,這里采用了高速串口板其速率高達 12Mbps,建議購買一塊備用,有需要時方便其對模塊日志進行有效抓?。?/p>

wKgZO2dKrV2AfCBiAA9C3eq4MPQ994.png


在本教程中,我們將采用以下數(shù)據(jù)線配置進行測試和數(shù)據(jù)查看:

第一部:USB 數(shù)據(jù)線:此數(shù)據(jù)線不僅用于為測試板供電,還可用于查看抓取 lua 腳本上層和底層 core 日志。其一端為 micro-B 接口,連接 Air724UG-NFM 開發(fā)板;另一端為標準 USB 接口,連接 PC 電腦。

第二部:USB 轉 TTL 串口板:主要用于 tcp 透傳串口數(shù)據(jù)的查看和發(fā)送。

3.5 組裝硬件環(huán)境

組裝準備:

wKgZO2dKrWyAVZf8AA8oTTmHuQg106.png

組裝過程:

1)請按照 SIM 卡槽上的指示方向正確插入 SIM 卡,務必確保插入方向正確,避免插反導致?lián)p壞!

wKgZO2dKrX2ASIv9AAwlslXCWsE928.pngwKgZO2dKrZOAK5VLAAtT0B8MQ0s225.png

2)安裝天線,保證其網(wǎng)絡連接和傳輸質量。

wKgZPGdKraKADGPaAAlO774zblQ086.png

3)將 usb 公口線,連接電腦和串口板并將串口板的 ch-1 使用杜邦線或者順手在網(wǎng)上買的組裝線連接至串口 (注意板子上的絲印!)

wKgZO2dKra6AMtQeAA4lEz7u_MY134.pngwKgZPGdKrbqALUOrAA-0PcietD8096.png

4) 將 USB 數(shù)據(jù)線,連接電腦和 Air724UG-NFM 開發(fā)板。

wKgZPGdKrcuAfeByAAuj43zSe2I637.png


5)將 usb 串口板連接至電腦:

wKgZPGdKrdiAAtc1AAzbnQkq8M8238.png

組裝完成:

wKgZO2dKreeAeQqKAA0cAhteSBo470.png

四、準備軟件環(huán)境

4.1 安裝設備驅動

跳轉以下連接按照連接教程,并完成設備驅動的安裝:https://docs.openluat.com/usb_drv/

4.2 Luatools 工具

使用說明參考:
Luatools下載和詳細使用
https://docs.openluat.com/Luatools/

4.3 源碼及固件

注:這里推薦使用第一種方式。

4.3.1 選擇打包好的工程文件:

1) 選擇打包好的 UDP 工程進行下載,下載后解壓縮后按照 4.2 Luatools 工具添加工程、lib、腳本文件.

wKgZPGdKrfmAEs6UAAGEZkekjLg869.png

2) 目錄結構

腳本運行 lib:請選擇 lib 文件下的腳本文件。

底層固件:請選擇 core 文件下的文件 LuatOS-Air_V4028_RDA8910。

運行腳本:請選擇 lua_run_script 文件下的 udp-uart 文件下的腳本文件。

wKgZO2dKrgeAXRbJAAD3yFVD--c424.png

4.3.2 自行選底層固件、lib:

https://docs.openluat.com/air724ug/luatos/app/socket/udp/

根據(jù)上述鏈接打開下載界面,在下載界面中有對 Air724 相關的固件功能、固件下載、固件更細說明、固件歷史版本下載、固件功能可自定義定制以及 lib 下載等說明。

1) 底層固件

本 demo 中選擇了歷史版本中的標準版本 LuatOS-Air_V4028_RDA8910。

wKgZPGdKrhWAVlg7AAF1NVkyXzU359.png

2) 腳本運行 lib

wKgZO2dKrh6AYMSwAAGHiO-g6sQ692.png

3) 運行腳本
解壓壓縮包 lua_run_script,添加運行腳本。

4.4 TCP/UDP web 測試工具

為了方便測試,使用了免費的不可商用的 TCP/UDP web 測試工具:TCP/UDP web 工具 (luatos.com)

詳細使用說明參考:
TCP/UDP web測試工具使用說明
https://docs.openluat.com/TCPUDP_Test/

4.5 PC 端串口工具

串口調試工具推薦使用 SSCOM 工具。

五、AIR724 硬件資料

產(chǎn)品資料:
https://docs.openluat.com/air724ug/product/

硬件手冊:
https://docs.openluat.com/air724ug/product/

六、UDP 主要 API 介紹

6.1 SOCKET 是否可用

wKgZPGdKrjyAeOiYAAC5h3Dyxf0678.png

6.2 創(chuàng)建基于 UDP 的 socket 對象

wKgZO2dKrkWAHeLbAAF3V3q0kmg724.png

6.3 設置域名解析參數(shù)

wKgZPGdKrlCAVjK1AAR_oTLDk58781.png

6.4 打印所有 socket 的狀態(tài)

wKgZPGdKrluAXBOyAABbISMMe-g267.png

以上接口函數(shù)不做詳細介紹,可通過此鏈接查看具體介紹:
API 鏈接:
https://doc.openluat.com/wiki/21?wiki_page_id=2294

七、 UDP-UART 無校驗實戰(zhàn)演示

7.1 創(chuàng)建 udp 無加密的服務器

可根據(jù) 章節(jié) 4.4( TCP/UDP web 測試工具) 創(chuàng)建 udp 無校驗加密的 web 服務器:

wKgZO2dKrmeAapDJAAE3wX4LjnY881.png

7.2 修改腳本

選擇創(chuàng)建好 udp 的 web 服務,并記錄一下服務器地址和端口來修改腳本中的服務器地址和端口,注意這個位置速度要快一點,否則創(chuàng)建的服務器端口可能會失效,失效也不要慌張,重新刷新創(chuàng)建一個即可:

wKgZO2dKrneAEIdPAAQ1MMJ6vDw463.png

7.3 Luatools下載

這里只進行了工程下載的概述,詳細下載教程請查看章節(jié) 4.2 Luatools 工具講解

1) 模塊首先進行上電:

wKgZO2dKroWAERjJAA4NBLW-gx4902.png


2) 模塊上電后,右側三種狀態(tài)燈會根據(jù)程序狀態(tài)進行閃爍:

wKgZPGdKrpKALMieAAoD19uMKfo706.png


3) 創(chuàng)建項目并添加對應的工程腳本進行下載,這里選擇了工程中的 lib 以及免 BOOT 下載固件和腳本:

wKgZO2dKrp2AOvJfAAbJUC3Sgdc811.png

4) Luatools打印效果:

wKgZO2dKrqmAbIXMAAW4IWHOSIM968.png

7.4 sscom 串口工具發(fā)送數(shù)據(jù)

打開計算機右鍵,找到計算機管理,找到你連接的串口端口:

wKgZPGdKrrOAH57hAAZoxp9RomU596.png

打開 sscom,發(fā)送數(shù)據(jù),查看返回的數(shù)據(jù),這里的數(shù)據(jù)設置了回顯,所以服務器會回復一樣的數(shù)據(jù):

wKgZO2dKrr2AF3ltAAOwW_b1Ko0082.png

查看 web 端:

wKgZO2dKrsqAB1ezAAGzN-gBBu0259.png

八、總結

這篇文章主要通過寶寶教學的方式,細述了 udp 如何搭配串口進行數(shù)據(jù)透傳,以及描述了一系列工具的使用和演示示例。

擴展

TCP 和 UDP

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

連接性:

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

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

可靠性:

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

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

速度:

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

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

應用場景:

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

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

流量控制:

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

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

頭部開銷:

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

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

常見問題

sys.waitUntil("IP_READY_IND") -- 此條消息,是由底層默認注網(wǎng)流程成功后,發(fā)送此條消息,注意如果一直沒有注網(wǎng)成功,需要檢查 apn 配置啦。

分享完畢

審核編輯 黃宇

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

    關注

    0

    文章

    325

    瀏覽量

    33939
  • 低功耗
    +關注

    關注

    10

    文章

    2404

    瀏覽量

    103704
  • 模組
    +關注

    關注

    6

    文章

    1492

    瀏覽量

    30390
收藏 人收藏

    評論

    相關推薦

    解讀Air724UG低功耗4G模組軟件的語音通話!

    本篇文章以Air724UG模組為例,解讀低功耗4G模組軟件的語音通話,呈現(xiàn)實用教程供大家參考。
    的頭像 發(fā)表于 12-09 09:39 ?206次閱讀
    解讀Air724UG<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b><b class='flag-5'>軟件</b>的語音通話!

    來來來,看這里:低功耗模組LuatOS開發(fā)的日志輸出!

    本文以低功耗4G模組Air780E為例,學會低功耗模組LuatOS開發(fā)的日志輸出,積累技術。
    的頭像 發(fā)表于 12-05 09:09 ?193次閱讀
    來來來,看這里:<b class='flag-5'>低功耗</b><b class='flag-5'>模組</b>LuatOS開發(fā)的日志輸出!

    輕松攻克低功耗4G模組軟件的FTP示例!

    今天是以Air724UG模組為例,輕松攻克低功耗4G模組軟件的FTP示例。
    的頭像 發(fā)表于 12-05 09:08 ?192次閱讀
    輕松攻克<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b><b class='flag-5'>軟件</b>的FTP<b class='flag-5'>示例</b>!

    分步實操 | Air724UG低功耗模組軟件中復刻高效FTP示例!

    本文要說的是低功耗4G模組Air724UG軟件中復刻高效FTP示例,我已整理成文供大家參考。
    的頭像 發(fā)表于 12-03 11:45 ?601次閱讀
    分步實操 | Air724UG<b class='flag-5'>低功耗</b><b class='flag-5'>模組</b><b class='flag-5'>軟件</b>中復刻高效FTP<b class='flag-5'>示例</b>!

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

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

    Air201定位模組LuatOS輕松搞定超低功耗模式!

    今天我們要學習的是定位模組Air201的超低功耗模式下,定時三分鐘上傳以及G-senser拓展示例;更多低功耗模式的玩法,等你來探索。接下來,我們講解相關
    的頭像 發(fā)表于 12-01 15:38 ?169次閱讀
    Air201定位<b class='flag-5'>模組</b>LuatOS輕松搞定超<b class='flag-5'>低功耗</b>模式!

    4G模組Air724UG的軟件教程:KEYPAD示例

    本回我要說的是低功耗4G模組Air724UG的KEYPAD示例,我已整理成文,特供大家參考。
    的頭像 發(fā)表于 11-30 09:44 ?254次閱讀
    4G<b class='flag-5'>模組</b>Air724UG的<b class='flag-5'>軟件</b>教程:KEYPAD<b class='flag-5'>示例</b>!

    藏箱子里Air724UG模組LuatOS開發(fā)的HTTP示例!

    今天我們來學習的是我珍藏已久的低功耗模組Air724UG的LuatOS開發(fā)HTTP示例,獻給大家。
    的頭像 發(fā)表于 11-30 09:42 ?233次閱讀
    藏箱子里Air724UG<b class='flag-5'>模組</b>LuatOS開發(fā)的HTTP<b class='flag-5'>示例</b>!

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

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

    4G模組Air724UG軟件示例UDP實戰(zhàn)演練!

    關于4G模組Air724UG軟件UDP示例,今天我將對其實戰(zhàn)演練,整理成文示例展示:
    的頭像 發(fā)表于 11-26 12:10 ?182次閱讀
    4G<b class='flag-5'>模組</b>Air724UG<b class='flag-5'>軟件</b><b class='flag-5'>示例</b>:<b class='flag-5'>UDP</b>實戰(zhàn)演練!

    Air780EP低功耗4G模組AT開發(fā)示例:阿里云應用

    ?Air780EP是合宙推出的一款[低功耗4G全網(wǎng)通模組],兼容模組行業(yè)1618經(jīng)典封裝,支持OpenCPU開發(fā)及全功能數(shù)傳AT開發(fā),可廣泛應用于多樣化的物聯(lián)網(wǎng)終端。 針對客戶朋友需求反饋,本期特別
    的頭像 發(fā)表于 10-14 14:22 ?956次閱讀
    Air780EP<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b>AT開發(fā)<b class='flag-5'>示例</b>:阿里云應用<b class='flag-5'>篇</b>

    干貨低功耗4G模組Air780E的串口通信

    ? 今天我們來講解低功耗4G模組Air780E的串口通信的基本用法,小伙伴們,學起來吧!
    的頭像 發(fā)表于 10-05 14:38 ?561次閱讀
    干貨<b class='flag-5'>篇</b>:<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b>Air780E的串口通信

    RNDIS網(wǎng)卡應用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例

    ?Air780EP是合宙的低功耗4G模組之一,支持全系列的AT指令以及LuatOS腳本二次開發(fā)。 本文應各位大佬邀請,特別講解Air780EP模組AT開發(fā)RNDIS網(wǎng)卡應用示例。 本文
    的頭像 發(fā)表于 09-30 06:59 ?579次閱讀
    RNDIS網(wǎng)卡應用看這篇!合宙Air780EP<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b>AT開發(fā)<b class='flag-5'>示例</b>

    FTP應用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例

    ? Air780EP是合宙的[低功耗4G模組]之一,支持全系列的AT指令以及LuatOS腳本二次開發(fā)。 本文應各位大佬邀請,詳細講解了Air780EP模組FTP應用的多個AT命令示例
    的頭像 發(fā)表于 09-29 09:36 ?1832次閱讀
    FTP應用看這篇!合宙Air780EP<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b>AT開發(fā)<b class='flag-5'>示例</b>

    ESP32-S3模組是怎么配置低功耗模式的?低功耗模式下功耗大概是多少?

    經(jīng)常有人問S3模組是怎么配置低功耗模式的?低功耗模式下功耗大概是多少?下面小啟就跟大家講下S3模組低功耗
    的頭像 發(fā)表于 01-26 08:03 ?4384次閱讀
    ESP32-S3<b class='flag-5'>模組</b>是怎么配置<b class='flag-5'>低功耗</b>模式的?<b class='flag-5'>低功耗</b>模式下<b class='flag-5'>功耗</b>大概是多少?