本次我要講的是4G模組LuatOS開發的超低功耗模式的快速啟動,我將教大家使用合宙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.2G-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。
今天的分享就到這里了
-
超低功耗
+關注
關注
5文章
180瀏覽量
18425 -
模組
+關注
關注
6文章
1487瀏覽量
30360 -
LuatOS
+關注
關注
0文章
76瀏覽量
1936
發布評論請先 登錄
相關推薦
評論