一、超低功耗是什么
超低功耗是相对于低功耗而言的。考虑到模块大部分应用场景:系统休眠后,依然需要隔一段时间进行数据收发,来上报设备的状态。所以传统的低功耗数据只具备一定的参考意义,实际业务场景下,并不能达到这个数值。超低功耗是针对【隔段时间收发数据】这一场景的特定优化,来降低产品的整体功耗。
特别说明:不管是进入低功耗还是超低功耗状态,都不会丢失服务器发来的数据。
二、能降低多少功耗
合宙Cat1 AT标准固件,在实网下测量的功耗数据如下:
测试项 | 移动BAND40 | 联通BAND1 | 电信BAND1 | |
样机数量 | 3PCS | 1# | 1# | 1# |
信号质量 | AT+CESQ | 67 | 61 | 68 |
飞行模式(mA) | 底电流 | 1.2 | 1.2 | 1.2 |
AT+CFUN=0 | 1.21 | 1.21 | 1.21 | |
AT+CFUN=4 | 1.21 | 1.21 | 1.21 | |
工作电流(mA) | IDLE模式 | 12.37 | 11.98 | 12.72 |
休眠电流(mA) | AT+CSCLK=2 | 1.96 | 1.72 | 2.71 |
TCP心跳包保活(mA) (默认设置) | 1分钟一次 | 10.17 | 9.32 | 8.29 |
TCP心跳包保活(mA) (超低功耗AT*RTIME=1) | 1分钟一次 | 3.95 | 3.76 | 4.41 |
从最后两行对比结果看,超低功耗模式下,心跳包保活场景功耗降低了一半以上。
注意:实际测量数据会受网络信号、是否已经注册上网、外围是否接了设备因素影响,如果差异比较大建议先断开外围设备,进入飞行模式对比一下数据。
三、什么时候用
超低功耗可用于大多数的数传业务场景。这些场景有一个共同的特点:需要传输数据的时候利用网络进行数据传输,传输完成后,设备进入心跳包保活状态。超低功耗正是针对心跳保活功耗的优化来实现整体功耗的降低。典型产品场景有:云喇叭、监控摄像头、共享设备、远程控制等。
四、怎么用
首先,打开进入低功耗休眠模式,让设备空闲状态下进入低功耗状态;其次,通过AT命令AT*RTIME打开超低功耗模式。下面以AT版本为例,设置步骤如下:
1,打开低功耗模式:AT+CSCLK=2
2,关闭网络灯:AT+CNETLIGHT=0
3,关闭日志: AT^TRACECTRL=0,0和AT^TRACECTRL=1,0
4,设置串口立即休眠:AT+WAKETIM=1
5,设置超低功耗:AT*RTIME=2
步骤1-4参考通用AT指令手册。
下面单独介绍一下超低功耗AT指令:
AT*RTIME=<n>
该命令设置后会被保存到NV中,掉电后存储。
语法规则:
命令类型 | 语法 | 返回 |
设置命令 | AT*RTIME=<wait_time> | OK |
查询命令 | AT*RTIME? | *RTIME: <wait_time> OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
<wait_time> | 在数传模式下,等待多长时间进入休眠状态 | 0~20 | 单位:秒,0表示关闭。 |
信号正常情况下,<n>值越短功耗就越低,建议设置为2。如果实际使用环境信号比较差,数据收发经常出现重传延迟,那这个值就需要改大。
五、哪个版本才支持
AT版本>=V301716
Lua版本>=V3024
CSDK版>= 2020-12-19提交 https://gitee.com/openLuat/Luat_CSDK_Air724U
六、要注意什么
1,在进行CTA/GCF等测试认证的时候需要关闭该功能。
2,如果心跳包比较频繁,不如10秒一次,那就不建议开启这个功能,极端情况下可能会导致设备断网。
3,如果数传是基于UDP这种非可靠传输,打开这个功能后,丢包概率会变大。