请问电e宝怎么查实时电量量怎么算的时间段

电量统计原理以及电量优化实践 - 简书
电量统计原理以及电量优化实践
"Free apps like Free Chess and Angry Birds spend under 25-35 percent of their energy on game play, but over 65-75 percent on user tracking, uploading user information and downloading ads."android电量统计的原理可以参看这篇文章:
大致原理摘录如下:
1. Android在进行电量统计时,并不是采用直接记录电流消耗量的方式,而是跟踪硬件模块在不同状态下的使用时间,收集一些可用信息,用来近似的计算出电池消耗量。
举一个例子,假定某个APK的使用了GPS,使用时间用 t 表示。GPS模块单位时间的耗电量用 w 表示,那么,这个APK使用GPS的耗电量就可以按照如下方式计算:耗电量 = 单位时间耗电量(w) × 使用时间(t)frameworks.jar里的frameworks/base/core/res/res/xml/power_profile.xml这个文件,记录着各个模块单位时间的耗电量, 由厂商定义。以下是Nexus 5(hammerhead)耗电参数配置的代码片段:
&device name="Android"&
&!-- All values are in mAh except as noted --&
&item name="none"&0&/item&
&item name="wifi.on"&3.5&/item&
&item name="wifi.active"&73.24&/item&
&item name="wifi.scan"&75.48&/item&
&item name="battery.capacity"&2300&/item&
2. Android框架层通过一个名为batterystats的系统服务,实现了电量统计的功能。
收集信息被组织起来,在内存中的数据结构是由BatteryStats类描述的。 为了能够从不同维度统计耗电量,这个数据结构设计得比较复杂,我们不在这里展开讨论,仅通过一个收集应用程序前台运行时间的例子,来说明信息收集过程。记录应用程序中所有Activity从显示状态(Resumed)到消失状态(Paused)的时间,就能够统计应用程序的前台运行时间。Activity状态的切换是由AMS掌控的,因此AMS需要将Activity的状态信息通知给batterystats服务。当Activity要切换到显示状态(Resumed)时,会调用ActivityStackSupervisor.resumeTopActivitiesLocked()方法,接下来会调用ActivityStack.resumeTopActivityInnerLocked()方法来完成Activity的状态切换,在完成状态切换后, 会调用ActivityStackSupervisor.reportResumedActivityLocked()方法,从这里开始,就开始通报了:“本Activity已经进入了显示状态”。在ActivityStackSupervisor.reportResumedActivityLocked()中得到BatteryStatsImpl对象, 并启动一个计时器(StopwatchTimer),记录下了启动时间.在Activity pause时, 再得到结束时间, 这样就得到了应用程序的acitiviy在前台的运行时间了。
除了应用程序前台运行时间,还有很多信息是batterystats服务关注的,包括WakeLock、Sendor、Wifi、Audio、Video等,这些信息的采集方式与上述过程雷同,都会经过以下步骤:
由相应的模块发起状态变更的通知
BatteryStats使用定时器记录起止时间
电量信息的储存
Android支持历史电量信息的显示的,如果重新启动Android,那内存中的数据就丢失了, 所以需要把这些信息存储到磁盘上,磁盘上的 /data/system/batterystats.bin 文件中就是电量信息的序列化数据。batterystats服务启动时,会从 batterystats.bin 这个文件中读取数据,来初始化BatteryStats这个数据结构。
BatteryStatsHelper.refreshStats()承载了电量计算的全部过程,在需要显示电量统计信息的地方,就可以通过BatteryStatsHelper这个类,来获取统计完成的电量信息。 Setting.apk就引用了这个类。电量计算大体可以分为两块:
1. AppUsage:应用程序耗电量计算,是指每一个应用程序使用硬件模块所产生的耗电量
在BatteryStatsHelper.processAppUsage()这个方法中,实现了应用程序的电量计算(实际上统计的粒度是uid,不同的apk可以运行在同一个uid)。
2. MiscUsage:其他杂项耗电量计算
所谓杂项,其实就是用户比较关心的一大类,包括:待机的耗电量、亮屏的耗电量、通话的耗电量、Wifi的耗电量等,这个统计是系统层面的, 作为app的开发人员可以忽略掉这部分内容。
我们来总结一下应用程序的电量计算过程。Android通过一个名为BatteryStats.Uid的数据结构来维护一个应用程序的电量统计信息。 这个数据结构中,又包含很多子结构:
Proc:表示属于Uid的进程,一个Uid中可能会有多个进程,每个进程都有CPU占用时间
WakeLock:表示Uid持有的WakeLock锁的电量统计,一个Uid也可能会持有多个锁
Mobile Radio:表示Uid使用数据流量的电量统计,譬如3G流量、4G流量
Wifi:表示Uid使用wifi的电量统计
Sendor:表示Uid使用传感器的电量统计
Android提供的dumpsys命令用于查看系统服务的信息, 将batterystats作为参数,就能输出完整的电量统计信息。
adb shell dumpsys batterystats
App电量优化实践
1. 打点网络优化
现在用户操作的打点信息是实时上报, 每单击一次菜单项就有大概1k的数据上传. 可以把这打点上传的执行封装起来, 间隔一段时间统一上传, 或是在特殊时间点统一上传, 可以有效减少频繁地使用wifi和mobile radio模块。
dotting_network.png
TXD 发送数据 Transmit(tx) Data 的简写形式
RXD 接收数据 Receive(rx) Data 的简写形式
2. 尽量减少wakeLock的使用
例如现在的下载文件的逻辑, 应该使用带超时参数的acquire() API, 避免长时间使用wake lock.
DownloadThread.java
PowerManager.WakeLock wakeLock =
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, Constants.TAG);
wakeLock.acquire();
3. 使用prepn profile 工具实时检测应用的耗电量
trepn_profile.png
===DONE===
android 开发工程师本帖子已过去太久远了,不再提供回复功能。  本文分析了各种电池荷电状态估算方法的优缺点,提出了一种实时检测电池端作为判断电池充电状态的安时计量算法。由于该算法构成的电量计能实时、准确计算电池的电量和SOC,并应用于风光互补路灯系统,保证了路灯照明安全、可靠地运行。
  电池是电动汽车的能量来源,为确保电池组性能良好,需对电池进行必要的管理和控制,就必须准确、可靠地获得电池现存的容量状态参数。
  用测得的电池参数对现存电池容量状态作出准确、可靠的估计,一直是电动汽车和电池研究人员关注并投入大量精力的研究课题,目前荷电状态( STate of State,SOC) 估算方法有: 开路电压法、安时计量法、内阻法、神经网络和卡尔曼法。国外提出EMF-SOC 模型,即电池与荷电状态的关系模型来估算SOC,相当于开路电压法,该方法不能实时估计; 卡尔曼滤波法则在建立准确、实用的电池动态模型上存在很大困难; Ah 计量法由于不能估计电池的初始值,同时充放电波动对电池剩余容量有影响,这些导致了估计不精确;为此本文采用了一种新思路来计算电量值、SOC。
  1 算法
  1. 1 算法设计
  本文提出了一种简单、准确、实时、可靠的电池SOC 估计方法,即电压-安时计量法,其原理是: 实时测得电池两端电压,以电池工作的临界电压值来准确计算电池初值。本文以锂电池为例( 锂电池的工作电压范围3 ~ 4. 2 V) ,当电池电压= 3 V时,认为电池容量放尽,Q 为零,即SOC为0%; 当电池电压= 4. 2 V 时,认为电池已充满,即SOC 为100%。用实时检测电池的充、放电流,计算出加权系数k 的值,再计算当前的电量,即:
  该算法解决了传统安时计量存在的问题:
  ( 1) 通过电池的两个节点电压,为安时计量法提供了准确的初始值。
  ( 2) 引入不同充放电电流下电量的加权系数K,对算法进行了修正。
  1. 2 加权系数的计算
  该值可以通过试验结合Peukert 方程,即:
  式中W、n&&&常数那么可得:
  式中Q( i) &&&电池以电流i 放电所能放出的能量。
  Q( I) &&&电池以电流I 放电所能放出的能量。
  电池放电的初始容量是一样的,每种型号的电池的放电倍率曲线是不一样的,做试验用的是锂电池,其放电倍率曲线如图1 所示。
图1 不同倍率放电曲线
  利用和图1 中数据,可求得任意两组电流下的n 值。其中,电量的比值跟放电状态( State of Discharge,SOD) 的比值是对应的,将结果制成表格,如表1所示。
表1 加权系数计算表
本网站试开通微、小企业商家广告业务;维修点推荐项目。收费实惠有效果!欢迎在QQ或邮箱联系!
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670&请问什么是平电量,峰电量和谷电量,时间段是不是电表里设定好了,比如在晚上12点后用电低峰期开始计量下来的叫谷电量
电力部门为了更好地利用电网资源,鼓励用户用电时尽量错峰填谷而制定的电费政策.具体地说,峰电量是在一天中用电比较集中的时间使用的电量,这个时段用电的电费较高,一般划为几个时间段(比如早上7:00-12:00;晚上7:-12:00);谷电量是在一天中用电负荷最少的时间段使用的电量(比如晚上12:00-早上7:00),这个时段用电的电费较低;平电量也就是用电不是高峰期和用电低谷期用的电量,这个时段执行的电价就是基准电价.--这个时间好象各地不一样.
电能表中在校验时就已将各个时间段设置好了,这种电能表能依照设置好的时间分别计量各个时间段你所使用的电量,供电部门按此分别计算电费.
其他答案(共1个回答)
资源,充分挖掘发、供、用电设备的潜力。常用的民用峰谷电表只计算峰电、谷电和总电度数,以供用户采用或不采用...
  多费率电能表(以下简称峰谷表)有时也叫分时电能表或复费率表,是近年来为适应峰谷分时电价的需要而提供的一种计量手段。它可按预定的峰、谷、平时段的划分,分别计量高峰、低谷、平段的用电量,从而对不同时段的用电量采用不同的电价,从而发挥电价的调节作用,鼓励用电客户调整用电负荷,移峰填谷,合理使用相关信息资源,充分挖掘发、供、用电设备的潜力。常用的民用峰谷电表只计算峰电、谷电和总电度数,以供用户采用或不采用峰谷电价。我们这里是晚21点到次日7点为谷电,其余为峰电,是预先设置好的。
峰电量是用电高峰期使用的电量,谷电量就是用电低谷时使用的电量(一般是晚上10点半以后),如果总电量是确定的,当然是谷电量越多越好,这样掏的电费会少很多。同理,峰...
楼上说的对,各个地区实行的时间和电价是不同的.
我是江苏无锡,峰时8:00-21:00,谷时21:00-8:00
工业用电峰、谷、平一般是根据各地区用电量来核定,这没有一个统一的标准。广州地区的工业用电峰、谷、平的时段是:峰期为每天的9:00分至23:00分,平期为上午7:...
看上面的回答,好像各地的时间段不一样,我所在城市苏州21:00-7:00 为谷,7:00-21:00为峰,问题中的“平”应该是住户没采取峰谷分时计算法,即24小...
答: 中医讲究八纲辨证。
八纲辨证是将望闻问切四诊得来的资料,根据人体正气的盛衰,病邪的性质,疾病所在的部位深浅等情况,进行综合、分析归纳为阴、阳、表、里、寒、热、虚...
答: 你朋友是宫颈息肉.推荐一文,供你参考:
什么是子宫颈息肉
子宫颈息肉是慢性宫颈炎表现的一种,在已婚妇女中比较多见。
  子宫颈是子宫下端的部分,其内腔呈圆筒形或...
答: li660912同学:
您好!您有这样的想法非常好,说明您知道父母为了您成长的辛苦和劳累。呵呵,有这样的心理,我想您一定会在学习上下苦功夫,以优异的成绩来回报父...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区}

我要回帖

更多关于 usb电量实时监测 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信