0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

低功耗模组软件的UDP示例 基础教程篇

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-12-02 14:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文以常用的低功耗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开发板,如下图所示:

wKgZO2dKrSOAY0jsABdYqNWLiVk733.png

3.2 SIM

请准备一张可正常上网的 SIM 卡,该卡可以是物联网卡或您的个人手机卡。

特别提醒:

请确保 SIM 卡未欠费且网络功能正常,以便顺利进行后续操作。

物联网需要找卡商确认 apn 配置信息并进行配置,否则可能无法注网。

专网卡需要自备服务器或找卡商将服务器拉入白名单。

注:部分卡无法使用需要进行 apn 配置:

wKgZO2dKrTGAA0t9AAHa63nHRoU048.png

3.3 PC 电脑

请准备一台配备USB接口且能够正常上网的电脑。

电脑操作系统为:
WIN7以及以上版本的WINDOWS系统。

3.4 数据通信线

请准备一根用于连接 Air724UG-NFM 开发板和 PC 电脑的数据线,该数据线将实现业务逻辑的控制与交互。

USB 数据线(其一端为 micro-B 接口(俗称老安卓口),用于连接 Air724UG-NFM 开发板)。通常,这种数据线的外观如下示意图所示:

wKgZO2dKrUyAGpc1AAKw3cQk8zE394.png

准备一块 TTL 串口板,这里采用了高速串口板其速率高达 12Mbps,建议购买一块备用,有需要时方便其对模块日志进行有效抓取:

wKgZO2dKrV2AfCBiAA9C3eq4MPQ994.png


在本教程中,我们将采用以下数据线配置进行测试和数据查看:

第一部:USB 数据线:此数据线不仅用于为测试板供电,还可用于查看抓取 lua 脚本上层和底层 core 日志。其一端为 micro-B 接口,连接 Air724UG-NFM 开发板;另一端为标准 USB 接口,连接 PC 电脑。

第二部:USB 转 TTL 串口板:主要用于 tcp 透传串口数据的查看和发送。

3.5 组装硬件环境

组装准备:

wKgZO2dKrWyAVZf8AA8oTTmHuQg106.png

组装过程:

1)请按照 SIM 卡槽上的指示方向正确插入 SIM 卡,务必确保插入方向正确,避免插反导致损坏!

wKgZO2dKrX2ASIv9AAwlslXCWsE928.pngwKgZO2dKrZOAK5VLAAtT0B8MQ0s225.png

2)安装天线,保证其网络连接和传输质量。

wKgZPGdKraKADGPaAAlO774zblQ086.png

3)将 usb 公口线,连接电脑和串口板并将串口板的 ch-1 使用杜邦线或者顺手在网上买的组装线连接至串口 (注意板子上的丝印!)

wKgZO2dKra6AMtQeAA4lEz7u_MY134.pngwKgZPGdKrbqALUOrAA-0PcietD8096.png

4) 将 USB 数据线,连接电脑和 Air724UG-NFM 开发板。

wKgZPGdKrcuAfeByAAuj43zSe2I637.png


5)将 usb 串口板连接至电脑:

wKgZPGdKrdiAAtc1AAzbnQkq8M8238.png

组装完成:

wKgZO2dKreeAeQqKAA0cAhteSBo470.png

四、准备软件环境

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/

根据上述链接打开下载界面,在下载界面中有对 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 硬件资料

产品资料:
https://docs.openluat.com/air724ug/product/

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

六、UDP 主要 API 介绍

6.1 SOCKET 是否可用

wKgZPGdKrjyAeOiYAAC5h3Dyxf0678.png

6.2 创建基于 UDP 的 socket 对象

wKgZO2dKrkWAHeLbAAF3V3q0kmg724.png

6.3 设置域名解析参数

wKgZPGdKrlCAVjK1AAR_oTLDk58781.png

6.4 打印所有 socket 的状态

wKgZPGdKrluAXBOyAABbISMMe-g267.png

以上接口函数不做详细介绍,可通过此链接查看具体介绍:
API 链接:
https://doc.openluat.com/wiki/21?wiki_page_id=2294

七、 UDP-UART 无校验实战演示

7.1 创建 udp 无加密的服务器

可根据 章节 4.4( TCP/UDP web 测试工具) 创建 udp 无校验加密的 web 服务器:

wKgZO2dKrmeAapDJAAE3wX4LjnY881.png

7.2 修改脚本

选择创建好 udp 的 web 服务,并记录一下服务器地址和端口来修改脚本中的服务器地址和端口,注意这个位置速度要快一点,否则创建的服务器端口可能会失效,失效也不要慌张,重新刷新创建一个即可:

wKgZO2dKrneAEIdPAAQ1MMJ6vDw463.png

7.3 Luatools下载

这里只进行了工程下载的概述,详细下载教程请查看章节 4.2 Luatools 工具讲解

1) 模块首先进行上电:

wKgZO2dKroWAERjJAA4NBLW-gx4902.png


2) 模块上电后,右侧三种状态灯会根据程序状态进行闪烁:

wKgZPGdKrpKALMieAAoD19uMKfo706.png


3) 创建项目并添加对应的工程脚本进行下载,这里选择了工程中的 lib 以及免 BOOT 下载固件和脚本:

wKgZO2dKrp2AOvJfAAbJUC3Sgdc811.png

4) Luatools打印效果:

wKgZO2dKrqmAbIXMAAW4IWHOSIM968.png

7.4 sscom 串口工具发送数据

打开计算机右键,找到计算机管理,找到你连接的串口端口:

wKgZPGdKrrOAH57hAAZoxp9RomU596.png

打开 sscom,发送数据,查看返回的数据,这里的数据设置了回显,所以服务器会回复一样的数据:

wKgZO2dKrr2AF3ltAAOwW_b1Ko0082.png

查看 web 端:

wKgZO2dKrsqAB1ezAAGzN-gBBu0259.png

八、总结

这篇文章主要通过宝宝教学的方式,细述了 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 配置啦。

分享完毕

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • UDP
    UDP
    +关注

    关注

    0

    文章

    331

    浏览量

    35237
  • 低功耗
    +关注

    关注

    12

    文章

    3006

    浏览量

    106289
  • 模组
    +关注

    关注

    6

    文章

    1721

    浏览量

    32040
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是低功耗设计,如何评估低功耗MCU性能?

    在嵌入式系统的设计中,低功耗设计是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式和移动性较强的产品中去,而这些产品不是一直都有充足的电源供应,往往是靠电池来供电,所以设计人员从
    发表于 12-12 07:43

    低功耗2.5W的迷你变焦模组——腾龙MP3010M-EV

    凯茉锐电子|最低功耗2.5W的迷你变焦模组——腾龙MP3010M-EV
    的头像 发表于 09-29 14:00 429次阅读

    RFMD2081 选型指南 低功耗、宽带 IQ 调制器

    选型指南,一文章带你了解,RFMD2081 低功耗、宽带 IQ 调制器
    的头像 发表于 08-12 16:43 4433次阅读
    RFMD2081 选型指南 <b class='flag-5'>低功耗</b>、宽带 IQ 调制器

    第五章 W55MH32 UDP示例

    本文介绍了在 W55MH32 芯片上实现 UDP 通信及数据回环测试的方法。阐述了 UDP 协议的概念、特点、应用场景、报文传输流程和报文结构,展示了实现过程,借助网络调试工具完成测试。
    的头像 发表于 07-24 09:13 686次阅读
    第五章 W55MH32 <b class='flag-5'>UDP</b><b class='flag-5'>示例</b>

    系统待机功耗过高如何破?聚徽分析嵌入式工业平板软件低功耗管理疑难应对

    剖析原因,并制定针对性的低功耗管理策略。本文将围绕嵌入式工业平板软件低功耗管理,为你解答疑难、提供应对方案。 一、待机功耗过高的软件层面成因
    的头像 发表于 07-01 17:05 711次阅读

    仅80μA!24GHz超低功耗,小体积人体存在雷达模组

    2025-07-01 11:55 发布于:广东省 产品介绍 Rd-03L_V2 是安信可科技开发的 一款电池供电超低功耗雷达模组 。该模组包含极简化 24GHz 毫米波传感器硬件和低功耗
    的头像 发表于 07-01 14:47 657次阅读
    仅80μA!24GHz超<b class='flag-5'>低功耗</b>,小体积人体存在雷达<b class='flag-5'>模组</b>

    PTR54L15系列低功耗无线多协议模组

    PTR54L15系列多协议无线模组,基于Nordic新一代nRF54L15平台打造,以超低功耗、高性能和多协议支持为核心,为智能家居、工业自动化、可穿戴设备等场景提供了一站式解决方案。超低功耗
    发表于 06-28 21:23

    PTR54L15:专为AIoT应用设计的革命性低功耗无线多协议模组

    PTR54L15系列无线模组,基于Nordic新一代nRF54L15 SoC平台,集超低功耗、多协议支持、高性能边缘计算于一体,为智能家居、工业自动化、可穿戴设备等场景提供卓越的解决方案。
    的头像 发表于 06-24 11:16 664次阅读

    低功耗蓝牙模组功耗到底有多低

    对于BLE(低功耗蓝牙)产品方案来说,功耗有多低,决定着你的产品待机、使用寿命是多久,或者是多久需要充一次电,推荐一个非常的好用的评估nordicBLE功耗的工具: 利用我们的这个工具,只需要把你
    发表于 05-27 22:37

    低功耗蓝牙模组在电动工具类设备上的应用

    随着电动工具智能化的发展,越来越多的电动工具设备上,开始增加低功耗蓝牙模组。 增加这个低功耗蓝牙模组后,可提升用户体验,如通过App调整参数、实时监测状态;优化资产管理,实现工具追踪与
    发表于 05-27 20:10

    Nordic nRF9151 新一代低功耗蜂窝SIP模组

    Nordic nRF9151 新一代低功耗蜂窝SIP模组产品介绍
    的头像 发表于 05-22 11:19 1931次阅读
    Nordic nRF9151 新一代<b class='flag-5'>低功耗</b>蜂窝SIP<b class='flag-5'>模组</b>

    低功耗MCU软件设计技巧与选型

    与开发应用生态的沉淀,大力节省超低功耗选型设计成本以及开发周期.如何做好超低功耗mcu嵌入式软件设计与选型是本文讲述的主要内容.
    的头像 发表于 04-12 17:19 1531次阅读
    超<b class='flag-5'>低功耗</b>MCU<b class='flag-5'>软件</b>设计技巧与选型

    Nordic NRF9151低功耗蜂窝模组 助力卫星物联网应用.

    合作伙伴关系,在Skylo的卫星网络服务上认证Nordic的nRF9151低功耗蜂窝模组。 两家公司合作为小型、受限的物联网设备实现无缝卫星连接,开启了全新的大规模物联网用例,如远程监控、资产跟踪以及增强
    发表于 03-24 11:12

    低功耗处理器的优势分析

    就考虑到能耗问题,通过优化架构、工艺和软件来降低功耗的处理器。它们通常采用先进的制造工艺,如FinFET或GAAFET技术,以及高效的电源管理技术,以实现在保持性能的同时减少能耗。 低功耗处理器的优势 1. 节能和环保 减少能源
    的头像 发表于 02-07 09:14 1826次阅读

    Web端TCP/UDP测试工具!小白必学~

    Web端TCP/UDP测试工具,方便大家进行各种基于TCP和TDP的模拟测试。该测试工具不仅支持TCP和UDP测试,还支持SSL,使用极为便捷。 按照如下测试示例步骤,即可把TCP/UDP
    的头像 发表于 01-08 18:17 2017次阅读
    Web端TCP/<b class='flag-5'>UDP</b>测试工具!小白必学~