||
本文將以Air8000核心板為例,帶你快速上手三種功耗模式。在實際應(yīng)用開發(fā)中,可根據(jù)具體需求靈活運用。
最新開發(fā)資料詳見:www.air8000.cn
一、三種功耗模式簡介
Air8000支持的三種功耗模式各有特點。
1.1 常規(guī)模式:
網(wǎng)絡(luò)在線狀態(tài),隨時響應(yīng)服務(wù)器命令,CPU滿頻運行,外設(shè)功能全部可用。比如,所有GPIO電平都可以控制。
1.2 低功耗模式:
網(wǎng)絡(luò)在線狀態(tài),隨時響應(yīng)服務(wù)器命令,CPU降頻運行,外設(shè)功能部分可用。比如,僅有AGPIO可以保持電平。
1.3 PSM+模式:
網(wǎng)絡(luò)離線狀態(tài),無法響應(yīng)服務(wù)器命令,CPU降頻運行,外設(shè)功能部分可用。比如,僅有AGPIO可以保持電平。
Air8000應(yīng)用示例持續(xù)更新中,當前示例為低功耗應(yīng)用指南。不同的應(yīng)用場景,可按需選擇不同模式以及三種功耗模式之間的相互轉(zhuǎn)換。
最新源碼及實操教程詳見:
https://docs.openluat.com/air8000/luatos/app/lowpower/sleep/
2.1 常規(guī)模式測試
顧名思義,常規(guī)模式為模塊不考慮功耗時處于的狀態(tài)。
1)代碼示例
mian.lua中打開常規(guī)模式,屏蔽另外兩種模式,如下圖示:
normal.lua第二行和第三行,服務(wù)器IP端口號的地方改成用戶自己使用的服務(wù)的IP/域名以及端口號。
如果僅作測試,也可以使用下面的測試服務(wù)器,測試服務(wù)器相關(guān)資料詳見:
https://netlab.luatos.com/
進入后選擇打開TCP/UDP(根據(jù)用戶服務(wù)器類型自行選擇):
打開后,如圖所示位置即是IP和端口號:
本示例使用服務(wù)器netlab.luatos.com,打開TCP,然后修改IP和端口號,自動回復(fù)netlab下發(fā)的數(shù)據(jù),自收自發(fā)測試。
normal.lua:
2)常規(guī)模式功耗測試結(jié)果
下圖為鏈接好服務(wù)器后什么都不做的功耗,其中平均電流為6.2127mA。
注意:每一個尖峰均為和基站進行一些底層的數(shù)據(jù)交互導致的電流增大,這些交互不能省,均是3GPP協(xié)議規(guī)定的交互,如果省去,都有可能導致掉網(wǎng)。
該模式可以實現(xiàn)與服務(wù)器之間進行長連接,服務(wù)器可隨時下發(fā)數(shù)據(jù)給客戶端,實現(xiàn)在低功耗情況下還能實時遠程控制的功能。
1)代碼示例
mian.lua中打開低功耗模式,屏蔽另外兩種模式,如下圖示:
low_power_dissipation.lua第二行和第三行,服務(wù)器IP端口號的地方,改成用戶自己使用的服務(wù)的IP/域名以及端口號。
low_power_dissipation.lua:
2)低功耗模式功耗測試結(jié)果
下圖為低功耗模式下,不發(fā)數(shù)據(jù)時,模塊的功耗情況,每一處尖峰都是與基站之間進行必要的通訊帶來的電流增大。
下圖紅框內(nèi)為收到服務(wù)器下發(fā)數(shù)據(jù)時的功耗數(shù)據(jù),可以看出從喚醒到收到服務(wù)器數(shù)據(jù)總計花費約5秒,平均電流約為23.7mA:
對于和服務(wù)器之間不需要保持長連接,僅僅需要間隔幾小時甚至幾天才發(fā)一次數(shù)據(jù)給服務(wù)器,希望電池待機時間更久一些的場景,可以使用超低功耗PSM+模式。
1)代碼示例
mian.lua中打開超低功耗模式,屏蔽另外兩種模式,如下圖示:
ultra_low_power.lua第二行和第三行,服務(wù)器IP端口號的地方,改成用戶自己使用的服務(wù)的IP/域名以及端口號。
ultra_low_power.lua:
2)超低功耗PSM+模式功耗測試結(jié)果
下圖紅框內(nèi)為PSM+ 模式下,發(fā)送數(shù)據(jù)時的功耗,從發(fā)送數(shù)據(jù)到最后進入休眠總計花費約3秒,這3秒內(nèi)平均電流約為24mA。
下圖為PSM+模式下,模塊待機時的功耗為30μA左右,目前因為充電IC影響,功耗會比4G模塊系列要高,后續(xù)會對功耗進行優(yōu)化。
今天的內(nèi)容就分享到這里了~