新闻  |   论坛  |   博客  |   在线研讨会
如何使用超低功耗模式?—合宙Air201资产定位模组LuatOS快速入门
13673998452 | 2025-02-05 17:00:13    阅读:5   发布文章

今天我们要学习的是定位模组Air201的超低功耗模式下,定时三分钟上传以及G-senser拓展示例;更多低功耗模式的玩法,等你来探索。

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


1. 搭建环境


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

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

wKgZPGdJs0GAbbOjAAKeJqv6zwk350.png


1.1 硬件准备:


Air201套件

功耗分析仪Air9000P

SIM卡

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

Win10及以上PC


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


如下图所示:

wKgZO2dJs1mAJ6qMAA0fCAn_6pg997.png

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

正常开机模式:

wKgZPGdJs2eACJ2TAAHCeBLbkvg318.png

下载模式:

wKgZO2dJs3GAaqLQAAGAhr9FcOE300.png

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

wKgZPGdJs4aAZsCLABFmC9D5Rto249.pngwKgZPGdJs5SAAqCXAAUot8fnym4356.png


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)关闭一些可能影响功耗,误唤醒的引脚。

wKgZO2dJs8CAEMdoAAEpBR-K1yI456.png

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

wKgZO2dJs82Afo_5AAbLyal_loI575.png

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

wKgZPGdJs9-AYdhkAAbzzNw3a9w307.pngwKgZO2dJs_GAIZBVAAWUiP6nQmI049.pngwKgZO2dJs_-ATxuLAAKnsEvU6zc752.png

2.1.2 运行结果展示

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

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

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

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

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

wKgZPGdJtBqAJvPYAASoiZKTHyY758.png

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

wKgZO2dJtCWATP66AALG_pDiF1Y794.png

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

wKgZPGdJtDKAFLmFAATbn7hOCm4750.png

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

wKgZPGdJtEKAKhKHAAU_e1i6LPE357.png


2.2 G-esensor示例

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


2.2.1 代码介绍

1)gesensor初始化

wKgZO2dJtFuAT8HoAAbdInS-3_8018.pngwKgZPGdJtGiAJt5bAAPquMy_31s534.png

2)gesensor触发中断回调

wKgZO2dJtHWASEjRAAbKc_6nApk463.pngwKgZO2dJtIKABZZqAAFR-25LNIg031.png


2.2.2 运行结果展示

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

wKgZPGdJtJiACD9NAAUKXe2AOSo452.pngwKgZPGdJtKSAR5SPAAgqQxhhyh4879.png

发送数据时的电流:

wKgZO2dJtLKAMis8AAj0_FQnl6M189.png

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


定时三分钟上传示例:

超低功耗模式下

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


拓展示例:

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


今天的分享就到这里了!


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客