JavaScript轻应用电源模块介绍

简介: 这里介绍的轻应用框架提供的电源管理模块。
来源 | HaaS技术社区

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

设定系统定义的睡眠等级自动进入对应的功耗模式,睡眠等级说明见下表

睡眠等级说明:

属性

类型

必填

描述

mode

Number

设定系统定义的睡眠等级自动进入对应的功耗模式,睡眠等级说明见下表

pm.getAutosleepMode()

获取设定的睡眠等级。

返回值

Number类型,睡眠等级。

pm.sleep()

立即使系统进入休眠状态。

注:具体睡眠模式参考硬件平台的支持情况。

pm.wakelockLock()

获取休眠锁,阻止系统进入休眠。

pm.wakelockUnlock()

释放休眠锁,允许系统进入休眠。

pm.wakelockTimedlock(Number timeout)

获取休眠锁,并持有指定的时长,超时后自动释放。

参数

类型

描述

timeout

Number

休眠锁超时时间,单位:毫秒

pm.on

事件:'powerKey'

接收电源键按下/松开事件,参数:1 - 按下,0 - 松开

5、开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

image.png

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关文章
|
6月前
|
JavaScript 前端开发
如何减少Node.js应用中的全局变量?
如何减少Node.js应用中的全局变量?
410 133
|
6月前
|
JavaScript 前端开发
在Node.js中,如何合理使用模块来避免全局变量的问题?
在Node.js中,如何合理使用模块来避免全局变量的问题?
267 71
|
6月前
|
监控 负载均衡 JavaScript
有哪些有效的方法可以优化Node.js应用的性能?
有哪些有效的方法可以优化Node.js应用的性能?
357 69
|
3月前
|
存储 监控 JavaScript
基于布隆过滤器的 Node.js 算法在局域网电脑桌面监控设备快速校验中的应用研究
本文探讨了布隆过滤器在局域网电脑桌面监控中的应用,分析其高效空间利用率、快速查询性能及动态扩容优势,并设计了基于MAC地址的校验模型,提供Node.js实现代码,适用于设备准入控制与重复数据过滤场景。
188 0
|
2月前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
231 3
|
3月前
|
资源调度 负载均衡 JavaScript
使用PM2工具部署Vue.js应用于服务器
以上步骤完成之后,你就成功利⽤ PM⼆工具将 Vuejs 应⽰程序部署至服 务 器,并且配合反向代理实现了高效稳定访问及负载均衡功能。
180 0
|
7月前
|
前端开发 搜索推荐 JavaScript
如何通过DIY.JS快速构建出一个DIY手机壳、T恤的应用?
DIY.JS 是一款基于原生 Canvas 的业务级图形库,专注于商品定制的图形交互功能,帮助开发者轻松实现个性化设计。适用于 T 恤、手机壳等多种商品场景。它自带丰富功能,无需从零构建,快速集成到项目中。通过创建舞台、添加模型、定义 DIY 区域和添加素材四个步骤即可完成基础用法。支持在线演示体验,文档详细,易上手。
318 57
|
6月前
|
监控 算法 JavaScript
公司局域网管理视域下 Node.js 图算法的深度应用研究:拓扑结构建模与流量优化策略探析
本文探讨了图论算法在公司局域网管理中的应用,针对设备互联复杂、流量调度低效及安全监控困难等问题,提出基于图论的解决方案。通过节点与边建模局域网拓扑结构,利用DFS/BFS实现设备快速发现,Dijkstra算法优化流量路径,社区检测算法识别安全风险。结合WorkWin软件实例,展示了算法在设备管理、流量调度与安全监控中的价值,为智能化局域网管理提供了理论与实践指导。
181 3
|
7月前
|
存储 JavaScript 前端开发
|
8月前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~