關于4G模組Air724UG軟件的UDP示例,今天我將對其實戰演練,整理成文示例展示:
一、UDP 概述
UDP(用戶數據報協議,User Datagram Protocol)是一種無連接的、不可靠的傳輸層協議,主要用于實現網絡中的快速通訊。
以下是UDP通訊的主要特點:
1.1 無連接通訊:
UDP在發送數據之前不需要建立連接,這大大減少了通訊的延遲。發送方只需將數據包封裝成 UDP 報文,并附上目的地址和端口號,即可直接發送。
1.2 不可靠傳輸:
UDP不保證數據包的順序性、完整性和可靠性。數據包在傳輸過程中可能會丟失、重復或亂序到達。因此,UDP 通訊需要應用層自行處理這些問題,如實現錯誤檢測、數據重傳等機制。
1.3 面向報文:
UDP以報文為單位進行數據傳輸,每個報文都是獨立的。這種面向報文的特性使得UDP能夠保持數據的完整性,并且便于進行錯誤檢測和處理。
1.4 高效性:
UDP的頭部結構非常簡單,只包含必要的字段,如源端口、目的端口、數據長度和校驗和。這種簡潔的頭部設計使得 UDP 在處理數據包時更加高效,減少了網絡延遲。
1.5 實時性:
UDP通訊具有較快的傳輸速度,適用于對實時性要求較高的應用場景,如視頻通話、在線游戲等。在這些場景中,即使數據包偶爾丟失或延遲,也不會對整體功能產生嚴重影響。
二、功能概述
這篇文章主要通過寶寶教學的方式,細述了 udp、以及描述各種工具的使用和演示示例。
三、準備硬件環境
3.1 Air724UG-NFM 開發板
使用 Air724UG-NFM開發板,如下圖所示:
3.2 SIM 卡
請準備一張可正常上網的 SIM 卡,該卡可以是物聯網卡或您的個人手機卡。
特別提醒:
請確保 SIM 卡未欠費且網絡功能正常,以便順利進行后續操作。
物聯網需要找卡商確認 apn 配置信息并進行配置,否則可能無法注網。
專網卡需要自備服務器或找卡商將服務器拉入白名單。
注:部分卡無法使用需要進行 apn 配置:
3.3 PC 電腦
電腦操作系統為:
WIN7以及以上版本的WINDOWS系統。
3.4 數據通信線
請準備一根用于連接 Air724UG-NFM 開發板和 PC 電腦的數據線,該數據線將實現業務邏輯的控制與交互。
USB 數據線(其一端為 micro-B 接口(俗稱老安卓口),用于連接 Air724UG-NFM 開發板)。通常,這種數據線的外觀如下示意圖所示:
準備一塊 TTL 串口板,這里采用了高速串口板其速率高達 12Mbps,建議購買一塊備用,有需要時方便其對模塊日志進行有效抓取:
在本教程中,我們將采用以下數據線配置進行測試和數據查看:
第一部:USB 數據線:此數據線不僅用于為測試板供電,還可用于查看抓取 lua 腳本上層和底層 core 日志。其一端為 micro-B 接口,連接 Air724UG-NFM 開發板;另一端為標準 USB 接口,連接 PC 電腦。
第二部:USB 轉 TTL 串口板:主要用于 tcp 透傳串口數據的查看和發送。
3.5 組裝硬件環境
組裝準備:
組裝過程:
1)請按照 SIM 卡槽上的指示方向正確插入 SIM 卡,務必確保插入方向正確,避免插反導致損壞!
2)安裝天線,保證其網絡連接和傳輸質量。
3)將 usb 公口線,連接電腦和串口板并將串口板的 ch-1 使用杜邦線或者順手在網上買的組裝線連接至串口 (注意板子上的絲印!)
4) 將 USB 數據線,連接電腦和 Air724UG-NFM 開發板。
5)將 usb 串口板連接至電腦:
組裝完成:
四、準備軟件環境
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、腳本文件.
2) 目錄結構
腳本運行 lib:請選擇 lib 文件下的腳本文件。
底層固件:請選擇 core 文件下的文件 LuatOS-Air_V4028_RDA8910。
運行腳本:請選擇 lua_run_script 文件下的 udp-uart 文件下的腳本文件。
4.3.2 自行選底層固件、lib:
https://docs.openluat.com/air724ug/luatos/app/socket/udp/
根據上述鏈接打開下載界面,在下載界面中有對 Air724 相關的固件功能、固件下載、固件更細說明、固件歷史版本下載、固件功能可自定義定制以及 lib 下載等說明。
1) 底層固件
本 demo 中選擇了歷史版本中的標準版本 LuatOS-Air_V4028_RDA8910。
2) 腳本運行 lib
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 硬件資料
產品資料:
https://docs.openluat.com/air724ug/product/
硬件手冊:
https://docs.openluat.com/air724ug/product/
六、UDP 主要 API 介紹
6.1 SOCKET 是否可用
6.2 創建基于 UDP 的 socket 對象
6.3 設置域名解析參數
6.4 打印所有 socket 的狀態
以上接口函數不做詳細介紹,可通過此鏈接查看具體介紹:
API 鏈接:
https://doc.openluat.com/wiki/21?wiki_page_id=2294
七、 UDP-UART 無校驗實戰演示
7.1 創建 udp 無加密的服務器
可根據 章節 4.4(TCP/UDP web 測試工具) 創建 udp 無校驗加密的 web 服務器:
7.2 修改腳本
選擇創建好 udp 的 web 服務,并記錄一下服務器地址和端口來修改腳本中的服務器地址和端口,注意這個位置速度要快一點,否則創建的服務器端口可能會失效,失效也不要慌張,重新刷新創建一個即可:
7.3 Luatools下載
這里只進行了工程下載的概述,詳細下載教程請查看章節 4.2 Luatools 工具講解
1) 模塊首先進行上電:
2) 模塊上電后,右側三種狀態燈會根據程序狀態進行閃爍:
3) 創建項目并添加對應的工程腳本進行下載,這里選擇了工程中的 lib 以及免 BOOT 下載固件和腳本:
4) Luatools打印效果:
7.4 sscom 串口工具發送數據
打開計算機右鍵,找到計算機管理,找到你連接的串口端口:
打開 sscom,發送數據,查看返回的數據,這里的數據設置了回顯,所以服務器會回復一樣的數據:
查看 web 端:
八、總結
這篇文章主要通過寶寶教學的方式,細述了 udp 如何搭配串口進行數據透傳,以及描述了一系列工具的使用和演示示例。
擴展
TCP 和 UDP
TCP(Transmission Control Protocol,傳輸控制協議)和 UDP(User Datagram Protocol,用戶數據報協議)都是網絡層之上的傳輸層協議,它們在網絡通訊中扮演著重要的角色,但有著顯著的區別。以下是 TCP 和 UDP 的簡化對比:
連接性:
TCP:面向連接。在數據傳輸之前,需要先建立連接(三次握手),確保數據傳輸的可靠性。
UDP:不保證數據的可靠性。數據包可能會丟失、重復或亂序到達。
可靠性:
TCP:提供可靠的傳輸服務。通過確認應答、超時重傳、錯誤校驗等機制,確保數據按順序、無錯誤地傳輸。
UDP:不保證數據的可靠性。數據包可能會丟失、重復或亂序到達。
速度:
TCP:由于需要建立連接和進行各種可靠性檢查,TCP 的傳輸速度相對較慢。
UDP:沒有連接建立和可靠性檢查的開銷,UDP 的傳輸速度通常更快。
應用場景:
TCP:適用于需要可靠傳輸的應用場景,如網頁瀏覽、文件傳輸等。
UDP:適用于對實時性要求較高、但對數據可靠性要求不高的應用場景,如視頻流、音頻流、在線游戲等。
流量控制:
TCP:具有流量控制和擁塞控制機制,能夠根據網絡狀況調整數據傳輸速率。
UDP:沒有流量控制和擁塞控制機制,數據發送速率完全取決于應用程序。
頭部開銷:
TCP:頭部開銷較大,包含源端口、目的端口、序列號、確認號、窗口大小等多個字段。
UDP:頭部開銷較小,僅包含源端口、目的端口、長度和校驗和等字段。
常見問題
sys.waitUntil("IP_READY_IND") -- 此條消息,是由底層默認注網流程成功后,發送此條消息,注意如果一直沒有注網成功,需要檢查 apn 配置啦。
分享完畢。
審核編輯 黃宇
-
4G
+關注
關注
15文章
5509瀏覽量
118814 -
UDP
+關注
關注
0文章
324瀏覽量
33880 -
模組
+關注
關注
6文章
1437瀏覽量
30298
發布評論請先 登錄
相關推薦
評論