Как рассчитать энергопотребление на мобильном телефоне Android, который использует Wi-Fi?
Я реализовал протокол маршрутизации на мобильном телефоне Android 1.6, который использует беспроводную (ad-hoc) сеть для обмена сообщениями. Теперь я хотел бы оценить его с точки зрения энергопотребления. Основой было бы попытаться рассчитать потерю энергии при передаче одного пакета. Кто-нибудь знает, как это сделать? Программные и аппаратные решения приветствуются!
3 ответа
Я не верю, что любое приложение даст вам какой-либо значимый результат. Вам действительно нужно искать аппаратное решение, и оно, вероятно, должно быть доморощенным.
Установка, которую я использовал для измерения мощности на мобильных телефонах, состоит из следующего:
- Регулируемый источник питания: он должен обеспечивать мощность не менее 3 ампер.
- Пробоотборник амперметра. Вам, вероятно, потребуется разработать это для себя, используя прецизионный резистор небольшого значения и АЦП для измерения падения напряжения на резисторе (которое даст вам ток)
- АЦП может быть проприетарной картой сбора данных - она легко доступна из таких источников, как RS, в зависимости от вашего местоположения. Вероятно, для этого приложения требуется частота дискретизации около 1 кГц.
- Программное обеспечение для сбора данных с АЦП. National Instruments LabView чаще всего используется для такого рода приложений. Большинство приличных карт сбора данных имеют поддержку LabView, хотя вы можете использовать все что угодно. Они почти все также имеют C API.
- Аккумулятор, позволяющий подключить эту конфигурацию к телефону. Самый простой способ сделать это, как правило, уничтожить настоящую батарею (осторожно, если это Li-Ion!).
При разработке системы помните, что падение напряжения на резисторе малого значения для источника питания 6 или 9 вольт будет очень небольшим, поэтому ваш АЦП должен быть достаточно чувствительным, чтобы вы могли получить значимые результаты.
Как только у вас все это будет, вы сможете наблюдать за течением времени устройства. Вы обнаружите, что это меняется гораздо больше, чем вы можете ожидать. Телефон будет все время включать и выключать всякие схемы. В частности, вы увидите довольно большие пики мощности при доступе к сотовой сети.
После небольшого исследования вы сможете увидеть, когда включается WiFi, и в частности разрывы передачи.
Удачи.
Я считаю, что есть ряд доступных приложений, которые будут отслеживать энергопотребление приложения. Вы можете использовать один из них для наблюдения за вашим приложением во время интенсивного теста.
Редактировать: одно приложение, чтобы попробовать было бы наставником власти. Обратите внимание, что, как говорится, энергопотребление может сильно варьироваться в зависимости от реального оборудования. Возможно, вы захотите протестировать его на нескольких разных платформах, чтобы увидеть различия.
Да, PowerTutor является одним из самых надежных приложений, созданных в результате докторской диссертации в Университете Мичигана. PowerTutor дает вам энергопотребление полностью запущенного приложения на Android. Тем не менее, это приложение работает более точно на HTC G1, HTC G2 и Nexus one, поскольку оно разработано для таких продуктов.