130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

先看PSM (Power Save Mode)节能模式

1,NB的节能模式是有两个时间参数控制 TAU时间 和 active时间

PSM模式是模组断开了网络连接,只能人为或者程序上唤醒模组.

在模组进入PSM模式以后, TAU时间是控制NB模组多长时间以后唤醒联网,

NB模组在空闲(不进行网络通信,一般指所有任务都在挂起)状态下,超过active时间模组进入PSM模式.

2,打开slpman_example 例程(按照下面的程序修改)

//设置最大睡眠深度 HIB

slpManSetPmuSleepMode(true, SLP_HIB_STATE, false);

appSetCFUN(0);//关闭网络通信

while(1){

vTaskDelay(60000 / portTICK_PERIOD_MS);//延时

}

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

3,编译slpman_example, 并下载到开发板

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

4,使用万用表可以看到功耗

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

5,关于TAU时间和Active时间设置

这个两个时间可以在程序上设置,也可以在NB卡上设置(需要运营商设置)

在程序上设置

让运营商在NB卡后台设置

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

注意: EC616在注册上网络以后会获取NB卡后台设置的TAU时间和Active时间.

所以只要是后台设置了,那么程序里面会遵循后台的.

通过上面的设置,把程序下载到开发板,等待大概30S左右,模组进入低功耗.

6,关于PSM模式等级

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

ACTIVT 和 IDEL 就是模组正常工作

SLEEP1 模式下模组就进入了休眠了(256KB SRAM, 16KB Ret SRAM, 断电保持IO还在工作(Ret IO) )

SLEEP2 模式下模组就进入了休眠了(16KB Ret SRAM, 断电保持IO还在工作(Ret IO) )

HIB 模式下模组就进入了休眠了(断电保持IO还在工作(Ret IO) )

7,在执行睡眠模式的时候可以设置睡眠前和唤醒后回调函数

设置回调函数以后功耗会增加, 大概是5.9uA

130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

Original: https://www.cnblogs.com/yangfengwu/p/16506056.html
Author: 杨奉武
Title: 130-SLM130(NB-IOT)C-SDK(OpenCPU)学习开发-低功耗(PSM,DRX,eDRX)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/554210/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Vue 修改 elementUI table tr th 的高度,以及背景颜色

    CSS代码: /* 设置table header的背景颜色 */ .el-table__header th, .el-table__header tr { background-c…

    技术杂谈 2023年5月31日
    098
  • 负载均衡之DR实验

    实验环境 本实验搭建在虚拟机中。一台服务器作为DR两台作为RS,还有一台为后续内容会用到的备用机。 实验环境示意图: 1. 修改网络层VIP 修改DR,添加VIP 修改前: 修改后…

    技术杂谈 2023年7月11日
    061
  • 重新学习数据库(1)

    单元概述 通过本章的学习能够了解MySQL结构查询语言的概念,掌握SELECT查询语句的基本语法,掌握SELECT查询语句中过滤条件的使用,掌握过滤条件中比较运算符和逻辑运算符的使…

    技术杂谈 2023年6月22日
    0101
  • 关于微服务

    原创不易,求分享、求一键三连 微服务会让我们的应用变多,并且为了高可用一个服务会在线上部署多台,那么进行服务调用就存在节点之间的负载均衡和服务发现,负载均衡是为了让各个节点的负载尽…

    技术杂谈 2023年6月1日
    082
  • 当保存参数使用结构体时必备的开发技巧方式

    1、前言 想必做嵌入式产品开发都遇到过设备需要保存参数,常用的方式就是按照结构体的方式管理参数,保存时将整个结构体数据保存在 Flash 中,方便下次读取。 1.1、目的 本文时分…

    技术杂谈 2023年7月25日
    073
  • python 结构(序列分解)

    一、结构 结构的主要作用是将一个序列分解成若干个单独的变量。 1、对列表进行分解 2、对元组进行分解 3、对字典进行分解 4、对集合进行分解 5、对字符串进行分解 6、对文件句柄进…

    技术杂谈 2023年7月11日
    085
  • 描述高频题之队列&栈

    栈和队列 全文概览 基础知识 栈 栈是一种先进后出的数据结构。这里有一个非常典型的例子,就是堆叠盘子。我们在放盘子的时候,只能从下往上一个一个的放;在取的时候,只能从上往下一个一个…

    技术杂谈 2023年7月25日
    065
  • MySQL笔记汇总(1)基础篇

    通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段) DML: 数据操作语言,用来对数据库表中的数据进行增删改 DQL: 数据查询语言,用来查询数据库中表…

    技术杂谈 2023年7月24日
    060
  • AOP实现系统告警

    工作群里的消息怕过于安静,又怕过于频繁 一、业务背景 在开发的过程中会遇到各种各样的开发问题,服务器宕机、网络抖动、代码本身的bug等等。针对代码的bug,我们可以提前预支,通过发…

    技术杂谈 2023年7月24日
    075
  • MyBatisPlus 入门教程,这篇很赞

    在之前的文章中我们经常使用MybatisPlus进行增删改查,可能有些小伙伴对mybatisplus不是很熟悉,今天特意出了一般入门级的教程,我自己也是一边学习一边写的,有什么地方…

    技术杂谈 2023年6月21日
    0141
  • 59_Scala 中的 Queue

    1. mutable.Queue API object ScalaQueue extends App { //创建 mutable 队列 var queue: mutable.Qu…

    技术杂谈 2023年7月10日
    076
  • 一次SSL握手异常,我发现JDK还有发行版区别

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 最近,我们一个多机房部署的服务,调用方反馈有问题,在调用新加坡机房时正常,而调用印度机房则报S…

    技术杂谈 2023年7月25日
    0120
  • 【AGC】构建服务1-云函数示例

    前言:上一次笔者给大家带来了AGC 领域的远程配置服务的学习。这次我们再继续深化学习AGC 的相关知识。在文章开始之前,再给读者简单介绍一下AGC ,以免第一次来的读者不了解。所谓…

    技术杂谈 2023年5月31日
    075
  • JS弹出下载对话框,实现跨域第三方文件另存为

    javascript;gutter:true; const downloadRes = async (url, name) => { let response = await…

    技术杂谈 2023年5月31日
    0113
  • JAVA8-Lambda-FindFirst(获取列表中出现的第一条记录)

    寻找列表中的第一个元素 描述:代码示例中list列表存在三条记录,findFirst是找出第一个出现的记录信息。 public static void main(String[] …

    技术杂谈 2023年7月24日
    074
  • ArcGIS Pro创建要素后自动更新字段值

    { var mapProjItem = Project.Current.GetItems().FirstOrDefault(item => item.Name.Contain…

    技术杂谈 2023年5月30日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球