Вы когда-нибудь задумывались о том, сколько энергии потребляет ваш компьютер? Учитывая рост цен на электроэнергию, это полезно знать. Именно поэтому Навин Куландайвелу, инженер в области робототехники и машинного обучения, создал WattWise. Это инструмент для мониторинга энергопотребления в реальном времени, который работает в терминале вашего компьютера и помогает отслеживать энергопотребление.
WattWise — это простой инструмент командной строки с открытым исходным кодом для мониторинга энергопотребления вашей системы в режиме реального времени.
WattWise использует интеллектуальные розетки (в первую очередь TP-Link Kasa) для сбора данных о потреблении электроэнергии в режиме реального времени и представляет их в удобной для пользователя панели на основе терминала.
Изначально разработчик создал его для отслеживания энергопотребления своей высокопроизводительной рабочей станции. В будущем цель этого проекта — автоматически снижать производительность процессора и графического процессора в зависимости от стоимости электроэнергии (Time-of-Use) и нагрузки на систему, чтобы сократить расходы на электроэнергию в часы пиковой нагрузки.
В настоящее время доступна функция мониторинга энергопотребления, а функции автоматического управления энергопотреблением находятся в разработке.
Вот несколько интересных вещей, которые WattWise может сделать прямо сейчас:
1. Мониторинг мощности в режиме реального времени
Он показывает текущую мощность, которую потребляет ваша система, в ваттах (это количество энергии) и амперах (это сила электрического тока).
2. Несколько вариантов подключения
Вы можете подключить WattWise напрямую к умным розеткам TP-Link Kasa или даже через Home Assistant, если используете эту платформу для умного дома. Это позволит вам гибко управлять данными о потреблении электроэнергии.
3. Дисплей с цветовой кодировкой
Чтобы было проще понять, энергопотребление отображается разными цветами.
Это быстрый способ проверить, хорошо ли работает ваша система!
4. Исторические данные
WattWise может даже показывать графики энергопотребления в реальном времени прямо в терминале. Он использует простые блочные символы, поэтому работает практически в любом терминале. Это помогает отслеживать тенденции и изменения энергопотребления.
5. Простой интерфейс командной строки
Не волнуйтесь, если вы не очень разбираетесь в технологиях! Команды просты.
Например, просто введя wattwise
можно быстро получить представление о ситуации, а wattwise --watch
позволяет отслеживать данные в реальном времени с помощью этих крутых графиков.
6. Необработанный продукт
Если вы увлекаетесь программированием и хотите использовать данные о мощности в других инструментах, WattWise может выводить только необработанное значение мощности с помощью флага --raw
.
7. Настраиваемое обновление
Вы даже можете указать WattWise, как часто вы хотите проверять энергопотребление, например, каждые 5 секунд с помощью wattwise --watch --interval 5
.
Навин создал мощную рабочую станцию для таких задач, как работа с искусственным интеллектом. Но использование высокопроизводительной системы означает более высокие счета за электричество.
У него дома были умные вилки TP-Link Kasa. Эти вилки могут измерять потребление электроэнергии. Приложение Kasa и Домашний ассистент могли отображать данные, но переключение между приложениями было неудобным.
Ему нужно было что-то, что работало бы внутри терминала. Так появился WattWise.
WattWise — это программа с открытым исходным кодом, которую можно использовать бесплатно! Вы можете скачать её с GitHub. Есть несколько способов её установки: с помощью Pip или Docker.
Обратите внимание, что для WattWise требуется Python 3.8 или более поздняя версия. Для использования Docker в вашей системе должен быть установлен Docker.
Также обратите внимание, что для функций управления питанием, включая автоматическое регулирование, в настоящее время требуются системы Linux с соответствующими возможностями управления частотой процессора/графического процессора.
Клонируйте репозиторий WattWise с GitHub:
git clone https://github.com/naveenkul/WattWise.git
Перейдите в каталог WattWise:
cd WattWise
Сначала установите необходимые пакеты Python:
pip install -r requirements.txt
Наконец, установите сам WattWise с помощью pip:
pip install
Перейдите в каталог, в который вы клонировали WattWise.
Создайте образ Docker из каталога проекта (если вы клонировали репозиторий):
docker build -t wattwise
Создайте каталоги для сохранения данных (обычно это делается только в первый раз):
mkdir -p ~/.config/wattwise mkdir -p ~/.local/share/wattwise
Эти каталоги монтируются в контейнер Docker для хранения конфигурации и данных.
При первой настройке вам нужно настроить источник данных. Вам нужно будет настроить либо Home Assistant, либо умную розетку Kasa.
Как настроить Home Assistant:
docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ wattwise config ha
или для настройки смарт-штекера Kasa:
docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ wattwise config kasa
После настройки вы можете запустить единственную проверку с помощью Docker:
docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise
Или вы можете запустить WattWise с постоянным мониторингом, используя флаг --watch
:
docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise --watch
Для более удобного использования Docker вы также можете создать псевдоним bash, как описано в документации:
Добавьте следующую строку в свой ~/.bashrc
или файл ~/.zshrc
:
alias wattwise='docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise'
После добавления псевдонима вам нужно будет включить его в конфигурацию bash (например, source ~/.bashrc
или source ~/.zshrc
), чтобы он вступил в силу.
Затем вы можете использовать wattwise
команду напрямую, точно так же, как обычную команду:
wattwise wattwise --watch
Вот визуальная демонстрация WattWise:
Хотя текущая версия отлично подходит для мониторинга, первоначальная идея Навина была ещё более амбициозной.
Поскольку его поставщик электроэнергии использует тарифное планирование по времени использования (ToU), то есть в часы пиковой нагрузки электроэнергия стоит дороже, он хотел, чтобы WattWise мог автоматически регулировать производительность его компьютера в зависимости от этих цен.
Представьте себе: в эти дорогостоящие часы пиковой нагрузки WattWise может автоматически снизить скорость процессора и, возможно, даже графических процессоров.
Это позволило бы сэкономить электроэнергию и немного денег. Затем, когда цены упадут, он сможет вернуться к полной мощности.
Навин даже провёл несколько тестов, которые показали, что снижение скорости процессора может сэкономить около 225 Вт. Это может быть выгодно! План состоит в том, чтобы использовать некоторые умные технологии, например пропорционально-интегральный (ПИ) регулятор, для управления балансом между мощностью и производительностью.
Это всё ещё незавершённая работа, и нужно помнить о нескольких вещах:
У Навина есть много идей на будущее, в том числе:
Цель Навина с помощью WattWise была проста: решить свою проблему, связанную с желанием контролировать энергозатратную рабочую станцию с терминала, который он всегда держит открытым. Идея автоматически экономить деньги в часы пиковой нагрузки на электросеть — просто фантастический бонус.
Панель управления WattWise имеет открытый исходный код под лицензией MIT. Так что, если вам интересно, не стесняйтесь заглянуть в официальный репозиторий WattWise на GitHub. Вы также можете предложить свои идеи и помочь сделать его ещё лучше!
Хотите узнать о похожих инструментах? Ознакомьтесь с нашей категорией «Инструменты мониторинга». Мы опубликовали подробные статьи о некоторых замечательных приложениях для мониторинга Linux.