1、前言
之前的文章中,已经介绍了轻应用框架提供的基础模块。这里介绍的轻应用框架提供的电源管理模块。
在硬件的支持下,轻应用还提供了丰富的电源管理相关的接口。
更多关于轻应用的文档请参考:https://help.aliyun.com/document_detail/174810.html。
2、charger接口
2.1、示例代码
var charger = require('charger'); // start charging charger.switch(1); //stop charging charger.switch(0); // get charging current in mA var charge_current = charger.getCurrent(); console.log('charge current is ' + charge_current + ' mA'); // get charge state var charge_state = charger.getConnectState(); console.log('charge state is ' + charge_state);
2.2、方法
charger.switch(onoff)
开始/停止充电
入参
属性 |
类型 |
必填 |
描述 |
onoff |
Number |
是 |
充电器开关。 1 - 打开 0 - 关闭 |
返回值
Number类型。0 - 成功,其它 - 失败
charger.getCurrent()
获取充电电流大小,单位:mA
返回值
Number类型。电流值,单位mA
charger.getConnectState()
获取DC输入连接状态
返回值
Number类型。1 - DC已连接,0 - DC未连接
3、battery接口
3.1、示例代码
var battery = require('battery'); // get battery connection state: 1 - connected, 0 - not connect var batt_stat = battery.getConnectState(); console.log('batt state is ' + batt_stat); // get battery voltage in mV var batt_vol = battery.getVoltage(); console.log('batt voltage is ' + batt_vol + ' mV'); // get battery level var batt_level = battery.getLevel(); console.log('battery level is ' + batt_level); // get battery temperature var batt_temp = battery.getTemperature(); console.log('battery temperature is ' + batt_temp);
3.2、方法
battery.getConnectState()
获取电池接通状态
返回值
Number类型。1 - 电池接通,0 - 没有接电池
battery.getVoltage()
获取电池电压
返回值
Number类型。电压值,单位mV
battery.getLevel()
获取电池剩余电量
返回值
Number类型。电池电量,取值范围:0-100
battery.getTemperature()
获取电池温度
返回值
Number类型。电池温度值
4、PowerManager接口
4.1、示例代码
var pm = require('pm'); // Set autosleep mode 1 pm.setAutosleepMode(1); // Get current autosleep mode var sleepMode = pm.getAutosleepMode(); // System sleep pm.sleep(); // Accquire wakelock to prevent system sleep pm.wakelockLock(); // Release wakelock and permit system sleep pm.wakelockUnlock(); // Accquire wakelock within one second pm.wakelockTimedlock(1000); var key_state = ['up', 'down']; pm.on('powerKey', function(state) { console.log('power key ' + key_state[state]); });
4.2、方法
pm.setAutosleepMode(Number mode)
自动进入设定的睡眠等级。
入参
属性 |
类型 |
必填 |
描述 |
mode |
Number |
是 |
设定系统定义的睡眠等级自动进入对应的功耗模式,睡眠等级说明见下表 |
睡眠等级说明:
睡眠等级 |
说明 |
0 |
不自动睡眠 |
1 |
自动进入轻度睡眠 |
2 |
自动进入深度睡眠 |
pm.getAutosleepMode()
获取设定的睡眠等级。
返回值
- Number类型,睡眠等级。
pm.sleep()
立即使系统进入休眠状态。
注:具体睡眠模式参考硬件平台的支持情况。
pm.wakelockLock()
获取休眠锁,阻止系统进入休眠。
pm.wakelockUnlock()
释放休眠锁,允许系统进入休眠。
pm.wakelockTimedlock(Number timeout)
获取休眠锁,并持有指定的时长,超时后自动释放。
参数 |
类型 |
描述 |
timeout |
Number |
休眠锁超时时间,单位:毫秒 |
pm.on
事件:'powerKey'
接收电源键按下/松开事件,参数:1 - 按下,0 - 松开
5、开发者技术支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号
更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/