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

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

3天内不再提示

4G模组PSM+超低功耗,手把手教你!

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-10-15 07:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

合宙4G-Cat.1模组支持三种功耗模式:

  • 常规模式
  • 低功耗模式
  • PSM+模式

用户可以根据不同的应用场景,按需选择不同的合宙4G-Cat.1模组功耗模式,以及三种功耗模式之间的相互转换。

合宙4G-Cat.1模组优异的低功耗表现,既有来自硬件设计的加持,也有软件协议算法的帮助。除实验室数据外, 合宙更关注实网环境下的功耗表现, 呈现给用户的效果更多以实网在线表现为准。

图片

图片

很多客户的实际应用场景,是不需要和服务器保持长连接的,一天甚至一周上传一两次数据,就能满足实际的项目需求了。

如果用合宙推荐的第二种低功耗模式,有些大材小用,针对这种情况——可以使用PSM+模式。

今天,带大家过过PSM+模式下——LuatOS开发代码。

一、主要硬件准备

这里大致说下需要准备的硬件条件:

  • 合宙Air780E全IO开发板一块:
    测试前需要将开发板上端USB下方的C2处ESD吹掉,要不会有大约20微安的漏电流。
  • 支持数据传输的USB线一根;
  • 一个可调电源
    可调电源最好是能精确的捕捉到μA电流的电源,本次笔者使用的是合宙自研的Air9000P手持可调电源。

图片

二、PSM+超低功耗示例源码下载

本文示例中用到的代码,可以在这里gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/pm

需要用的代码在“780E_Lowpower”文件夹目录下:

图片

如果您手上是其他模组,如Air780EP或者Air780EPS,则可以查看Air780EP/Air780EPS对应仓库下的 pm文件夹

三、PSM+超低功耗示例源码

接下来,我们开始进行PSM+超低功耗示例源码的大致讲解。

3.1 main.lua

LuatOS中,代码的起始位置是从main.lua第一行开始的,本文使用的是 PSM+模式 ,所以打开第12行的注释,屏蔽第11行的代码。

图片

3.2 psm_plus.lua

1)设置服务器

进入psm_plus.lua可以看到:

图片

在这里,改成用户自己使用的服务器的IP/域名以及端口号;如果仅作测试,也可以使用合宙提供的测试服务器。

进入后选择打开TCP/UDP,根据用户服务器类型自行选择。

图片

打开后,如下图红框所示位置即是IP和端口号:

图片

local period = 36060*1000 --3小时唤醒一次

这一句是唤醒时间的设置,时间设置唤醒的时间单位为ms。所以如果你有更长时间的唤醒需求,如一天唤醒一次,可以改动最前面的3为24。

特别提醒:

这个TCP服务器仅能当作测试来用,刷新一下网页或者你电脑网络有波动断网一下,就会断开,重新打开TCP端口就会变。

2)获取唤醒原因

图片

上面两句是获取了一下当前唤醒的原因,是正常开机,还是设置的定时器启动,或是串口/AGPIO唤醒。

3)testTask函数

直接拉到psm_plus.lua最后一行;其实上面所有的函数都是基于最后一行的task跑的:

图片

本句的意思是启动一个task,在task里运行第14行的testTask函数,并传入了d1Name这个变量,传入了netCB这个回调函数,以及给testTask传入了server_ip和server_port这两个参数。

接下来,我们看看testTask这个函数的前一小段:

图片

先判断了一下当前唤醒是什么原因唤醒的,并将对应原因赋值给了一个叫做txData的变量,并且判断了下是上电开机还是休眠唤醒。

如果是休眠唤醒,则主动退出飞行模式(因为模组在休眠的时候会进入飞行模式,减小因为可能的网络波动引起的功耗增大等异常)。

下面这一段就是与TCP服务器链接的全过程,如果链接失败会重连3次:

图片

图片

接下来这段配置了uart1的波特率为9600,方便外部串口设备从串口唤醒模组(注:9600状态下唤醒模组比较方便,如果是115200或其他波特率,可能需要发送多次数据才能走串口唤醒模组)。

如果不影响产品功能,需要将所有AGPIO在休眠状态下的高电平输出关闭,可以进一步节省耗电,比如本示例中对GPIO32的操作就是这一原因。

关于AGPIO和GPIO对应编号,如下图所示:

图片

图片

最后这段代码,启动了深度休眠也就是PSM+模式的定时器:

图片

后面的 period参数, 就是脚本最上面我们设置的定时休眠唤醒时间;后面进入飞行模式,是避免因为基站网络波动导致的异常功耗;然后,才真正进入了PSM+模式。如果进入不成功,15秒后会重启模组。

  • 如果是串口唤醒,那么服务器会收到”uart1 wakeup“的数据;
  • 如果是GPIO唤醒,那么服务器会收到"pad wakeup";
  • 如果是定时器唤醒,那么服务器会收到"timer wakeup";
  • 如果当前是上电开机去链接服务器,那么服务器会收到"normal wakeup"。

在没有数据发送的时候,模组实测待机功耗为下图的3μA:

图片

今天的内容就分享到这里啦,你学会了吗?

审核编辑 黄宇

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

    关注

    15

    文章

    5607

    浏览量

    123265
  • 超低功耗
    +关注

    关注

    5

    文章

    229

    浏览量

    19003
  • 模组
    +关注

    关注

    6

    文章

    1719

    浏览量

    32021
  • PSM
    PSM
    +关注

    关注

    1

    文章

    45

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用

    【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用
    的头像 发表于 11-11 14:21 548次阅读
    【迅为RK3568开发板NPU实战】别再闲置你的NPU!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>玩转RKNN-Toolkit2 的使用

    RT-Thread Nano硬核移植指南:手把手实现VGLite图形驱动适配 | 技术集结

    VGLite是NXP提供的轻量级2D图形API,本文将手把手带你实现VGLite图形驱动适配RT-Thread。文章分为上、下两篇,将手把手教您移植。上篇对RT-ThreadNano内核与Finsh组件进行移植,下篇则教您改写SDK中的VGLite代码以将其适配到RT-T
    的头像 发表于 07-17 14:40 3042次阅读
    RT-Thread Nano硬核移植指南:<b class='flag-5'>手把手</b>实现VGLite图形驱动适配 | 技术集结

    手把手教你如何调优Linux网络参数

    在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃。本文基于真实案例分析,从参数解读、问题诊断到优化实践,手把手教你如何调优Linux网络参数,支撑百万级并发连接。
    的头像 发表于 05-29 09:21 650次阅读

    正点原子Linux系列全新视频教程来啦!手把手教你MP257开发板,让您轻松入门!

    正点原子Linux系列全新视频教程来啦!手把手教你MP257开发板,让您轻松入门! 一、视频观看 正点原子手把手教你学STM32MP257-第1期:https://www.bilib
    发表于 05-16 10:42

    GPU显卡维修避坑指南:手把手教你识别行业套路!

    的今天,高端显卡维修已成“暴利暗流”。虚高报价、偷换配件、技术陷阱……用户稍有不慎,轻则损失数万,重则设备报废。今天小助手将揭露行业乱象,手把手教你识别套路,并推荐
    的头像 发表于 04-02 20:31 3212次阅读
    GPU显卡维修避坑指南:<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>识别行业套路!

    《零基础开发AI Agent——手把手教你用扣子做智能体》

    《零基础开发AI Agent——手把手教你用扣子做智能体》是一本为普通人量身打造的AI开发指南。它不仅深入浅出地讲解了Agent的概念和发展,还通过详细的工具介绍和实战案例,帮助读者快速掌握
    发表于 03-18 12:03

    手把手教你做星闪无人机—KaihongOS星闪无人机开发实战》系列课程课件汇总

    为助力开发者迅速掌握『KaihongOS轻量系统开发技术』与『星闪无线通信技术』,实现快速上手与深度体验,“开鸿Developer社区”携手“电子发烧友”再次联合推出《手把手教你做星闪无人机
    发表于 03-18 10:33

    手把手教你做PC-KaihongOS笔记本电脑开发实战》课件汇总

    ”携手“电子发烧友”联合推出了 《KaihongOS手把手系列直播课程》,该系列课程以实际产品为案例,详细讲解每个产品的开发全流程。 此次首发内容是《手把手教你做PC-KaihongOS笔记本电脑开发
    发表于 03-18 10:25

    手把手教你4G模组Air780EPM——GPIO的设计说明

    4G模组Air780EPM作为广和通推出的高性能Cat.1bis无线通信模块,凭借其低功耗、高集成度及丰富的外设接口,在工业物联网、智能终端、车载设备等领域展现出卓越的适配性。 一、概述
    的头像 发表于 03-17 16:07 843次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>!<b class='flag-5'>4G</b><b class='flag-5'>模组</b>Air780EPM——GPIO的设计说明

    【第二章 模型与设备连接】手把手教你玩转新版正点原子云

    【第二章 模型与设备连接】手把手教你玩转新版正点原子云玩过物联网的朋友们都知道,我们在接触各大主流云平台时会知道物模型的概念。 本实验就是针对原子云中模型与设备连接,举个简单例子说明,温度传感器通过
    发表于 03-12 09:27

    【第一章 透传策略】手把手教你玩转新版正点原子云

    【第一章 透传策略】手把手教你玩转新版正点原子云 1. 本次实验使用正点原子D40 Mini 4G Cat1 DTU数传模块 1.1 D40数传模块资料 具体使用和资料下载可到:D40 Mini
    发表于 03-05 16:52

    开发者集结!《手把手教你做星闪无人机》第二课开讲啦!

    开发者集结!《手把手教你做星闪无人机》第二课开讲啦!
    的头像 发表于 02-17 19:40 656次阅读
    开发者集结!《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星闪无人机》第二课开讲啦!

    手把手教你做星闪无人机》即将开播,锁定15日晚七点!

    ”再次联合推出《手把手教你做星闪无人机—KaihongOS星闪无人机开发实战》系列课程,该课程与《手把手教你做PC—KaihongOS笔记本电脑开发实战》同步并行,
    的头像 发表于 01-13 19:42 879次阅读
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星闪无人机》即将开播,锁定15日晚七点!

    手把手教你做PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战

    ”携手“电子发烧友”联合推出了《KaihongOS手把手系列直播课程》,该系列课程以实际产品为案例,详细讲解每个产品的开发全流程。此次首发内容是《手把手教你做PC-
    的头像 发表于 01-06 20:46 864次阅读
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战

    解读Air724UG低功耗4G模组软件的语音通话!

    本篇文章以Air724UG模组为例,解读低功耗4G模组软件的语音通话,呈现实用教程供大家参考。
    的头像 发表于 12-09 09:39 2103次阅读
    解读Air724UG<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模组</b>软件的语音通话!