如何在Android中计算传感器功耗

Posted

技术标签:

【中文标题】如何在Android中计算传感器功耗【英文标题】:How to calculate sensor power consumption in Android 【发布时间】:2012-04-24 07:39:56 【问题描述】:

getPower() 返回传感器在使用时使用的功率(以 mA 为单位):

现在,我需要计算传感器注册使用了多少电池。

getPower() 返回的值是表示毫安(毫安/小时)还是其他? 如果是,有没有办法获取电池 mAH 以计算传感器使用的电池百分比?

【问题讨论】:

那么,您想知道的是,始终开启传感器还是仅在需要时启动并在不需要时停止传感器是否更便宜?对?我问是因为那是我想知道的。 :) 传感器功耗非常依赖于传感器延迟率......所以你不能使用这种方法来计算实际消耗 【参考方案1】:

不久前在 Google 小组中讨论了一些非常相关的事情。您可以找到full thread here 供参考。

该线程中最后一个回复的一小段摘录,应该或多或少地回答你的问题:

(...) 电池容量始终以 mAH 表示。 (...) 什么 重要的是电池可以提供给定电流多长时间 额定电压。 3800mAH表示可提供3800mA 1小时。 知道这一点,现在 API 提供了当前的 消耗作为功耗的度量。你现在可以计算多少 它对电池寿命的影响是时间的函数。

【讨论】:

我已经阅读了那个帖子,但是 android 开发者指南中没有任何地方说 mA 是 mAH。 这正是小组中澄清的内容:它不是。上面的引文中解释了这意味着您可以将其用于什么。有关差异的更详细解释(以及可能对所涉及的数学的一些见解),我想将您指向this excellent external post。 你能举个例子吗?如果传感器使用 0.75 毫安,而我的电池为 1650 毫安,那么如果传感器持续工作 24 小时,电池消耗的百分比是多少? 我不是物理学奇迹,但基于单位,天真的答案应该是不费吹灰之力:(0.75*24)/1650*100 = ~1.1%。请注意,一般来说,电池放电率不是恒定的,并且取决于许多外部因素。 //编辑:另一个遵循同样规则的非常基本的例子是here。 我对 getPower() 方法有疑问,它会给出传感器组件消耗的绝对功率还是传感器 + CPU 计算 + SensorService 处理等消耗的功率的总和(从硬件​​到总功耗)应用程序)?

以上是关于如何在Android中计算传感器功耗的主要内容,如果未能解决你的问题,请参考以下文章

Matlab低功耗蓝牙设备的跟踪方向

Android 蓝牙低功耗 (BLE) API 尚未准备好迎接黄金时段

低功耗蓝牙监听多个特征通知

如何将Android实时传感器数据传输到计算机?

低功耗测温传感器

低功耗蓝牙(ESP32 和 Android 智能手机之间):数据传输很慢