android - 如何计算使用 wifi 的 Android 手机的功耗?

标签 android wifi energy consumption

我已经在 Android 1.6 手机上实现了一个路由协议(protocol),该手机使用无线(ad-hoc)网络来交换消息。现在我想从能量消耗的角度来评估它,基础是尝试计算传输单个数据包所浪费的能量,有人知道该怎么做吗?欢迎使用软件/硬件解决方案!

最佳答案

我不相信任何应用程序会给您任何形式的有意义的结果。您确实需要考虑硬件解决方案,而且它可能需要自制。

我用于手机功率测量的设置包括以下内容:

  • 稳压电源:应该能够提供至少 3 安培的电流。
  • 采样电流表。您可能需要自己设计这个,使用一个小值精密电阻和一个 ADC 来测量电阻上的电压降(这将为您提供电流)
  • ADC 可以是专有的采集卡 - 这些可以很容易地从 RS 等来源获得,具体取决于您所在的位置。对于此应用程序,它可能需要大约 1kHz 的采样率。
  • 用于从 ADC 捕获数据的软件。 National Instruments LabView 最常用于此类应用。大多数像样的采集卡都支持 LabView,尽管您可以使用任何您喜欢的东西。他们几乎都有 C API。
  • 一个虚拟电池,使此配置能够连接到手机。最简单的方法通常是丢弃真正的电池(小心,如​​果是锂 ionic 电池!)。

当您设计系统时,请记住,对于 6 伏或 9 伏电源,小阻值电阻器上的压降非常小,因此您的 ADC 需要非常灵敏才能获得有意义的结果。

一旦你拥有了所有这些,你将能够观察设备电流随时间的变化。你会发现这比你想象的要多得多。电话将一直打开和关闭各种电路。特别是,当访问蜂窝网络时,您会看到相当大的功率峰值。

经过一些调查,您将能够看到 WiFi 何时启动,尤其是传输突发。

祝你好运。

关于android - 如何计算使用 wifi 的 Android 手机的功耗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2960319/

相关文章:

java - 检查 Activity 互联网连接 Android

linux - Openwrt 路由器上的客户端负载均衡

lua - 使用 Wifi 将 Lua 脚本上传到 NodeMCU

java - PHP 与 Java 是否存在能耗差异?

java - Android - 保存/恢复自定义类的状态

android - 如何修改安卓模拟器源码

android - 从sql表中查看图像

android - 如何突出显示复杂图像/多边形

python - 如何计算运行特定 Python 程序需要多少 CPU、RAM 和能量?

matlab - MATLAB中音频所需的帮助