本文讲解的是4G定位模组LuatOS入门的超低功耗模式的使用,以我常用的Air201定位模组为例。

本文将教你使用Air201的超低功耗模式下,定时三分钟上传以及G-senser拓展示例;更多低功耗模式的玩法,等你来探索。

接下来,我们讲解相关示例的具体使用。

1. 搭建环境

新同学建议先看前期的基础知识相关教程,更有助于理解和操作。

可以在LuaTools项目管理中新建一个项目,重新选择底层CORE和脚本;或者在原有项目的基础上,不更换CORE,将原来的脚本删除,添加为demo/psm的脚本。

图片

1.1 硬件准备:

  • Air201套件

  • 功耗分析仪Air9000P

  • SIM卡

  • 带有数据通信功能的数据线

  • Win10及以上PC

将Air201通过usb-boot小板连接电脑,注意:boot小板和Air201连接时,要确保RESET按键、BOOT按键、电源开关机键三个按键在同一面,否则无法进入boot下载模式。

如下图所示:

图片

如何判断有没有进入下载模式:
可以通过PC端的设备管理器中虚拟出来的USB端口数量来判断。

正常开机模式:

图片

下载模式:

图片

在需要直流稳压电源的场景(例如ADC测量外部输入的模拟电压),使用合宙功耗分析仪Air9000P:

图片

图片

1.2 软件准备:

  • LuaTools调试工具:
    https://docs.openluat.com/Luatools

  • 功耗分析仪PC端软件:
    https://apps.microsoft.com/detail/9nrtkwwvd2b3?hl=zh-cn&gl=CN

  • TCP/UDP测试网站:
    https://netlab.luatos.com

  • 最新固件:
    https://gitee.com/openLuat/LuatOS-Air201/tree/master/core

  • 最新脚本:
    https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/psm

2. 示例代码

2.1 Air201超低功耗定时上报

2.1.1 代码介绍

1)关闭一些可能影响功耗,误唤醒的引脚。

图片

2)加入VBUS插入检测函数,防止读取不了日志。

图片

3)连接TCP服务器、设置深度定时器后进入休眠模式。

图片

2.1.2 运行结果展示

开机连接TCP服务器,然后进入超低功耗模式,设备内部设置了一个定时器,该定时器每隔三分钟会触发一次唤醒操作:

  • 当定时器触发时,设备会从超低功耗模式中唤醒,并重新建立与TCP服务器的连接(如果连接已经断开);

  • 连接成功后,设备会发送一次预设的数据到TCP服务器;

  • 数据发送完成后,设备会再次进入超低功耗模式,等待下一次定时唤醒。

因为设备的充电IC在会存在一个20μA的漏电流,由于这个硬件特性,那么Air201在超低功耗模式下实际的功耗(包括充电IC的漏电流)就是25.07μA。

图片

定时器每隔三分钟会触发一次唤醒操作,设备会从超低功耗模式中唤醒,并重新建立与TCP服务器的连接,并发送预设的数据。

图片

Air201定时唤醒后,连接TCP平台发送数据时的功耗是17.7898mA:

图片

7个休眠发送周期为21分钟,平均功耗为251.1095μA:

图片

2.2 G-esensor示例

添加gesensor功能,超低功耗模式下如果gsenseor中断产生,需要上报。

2.2.1 代码介绍

1)gesensor初始化

图片

2)gesensor触发中断回调

图片

2.2.2 运行结果展示

开机初始化gesensor,连接TCP服务器,进入超低功耗模式;当gesensor触发时唤醒Air201,并上传三轴参数到TCP服务器。

图片

图片

发送数据时的电流:

图片

以上就是Air201的超低功耗模式下,定时三分钟上传和gsenser拓展示例。

定时三分钟上传示例:

超低功耗模式下电流为5.07μA左右(注意需要减去ic的漏电流),上传数据时的电流为17mA;

拓展示例:
超低功耗模式下电流为236μA,触发gesensor唤醒Air201,并上报三轴参数,上传数据时电流为32.5mA。 

今天的分享就到这里了

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐