Контроль потребления солнечной электроэнергии компьютером/сервером

Владельцы солнечных электростанций могут столкнуться с необходимостью управления энергопотреблением конечными устройствами так как сокращение потребления может расширить время работы от аккумулятора в вечернее время и в пасмурную погоду, а также избежать потери данных в случае жесткого отключения.

Большинство современных компьютеров позволяют регулировать частоту процессора что приводит с одной стороны к снижению производительности с другой к увеличению времени автономной работы. В Windows снижение частоты осуществляется вручную через интерфейс программы управления, в Linux через виджет панели задач и через консоль (cpupower — CentOS, cpufreq-set — Ubuntu).

В Linux выполнение команд через консоль позволяет осуществлять их выполнение автоматически при наступлении определенных событий.

Утилита usps-consumptionagent из свободного набора UmVirt Solar Power Station позволяет выполнять команды управляющие производительностью процессора в зависимости от оперативных данных солнечной электростанции.

Типовая конфигурация для 12 вольтового режима:

  • Если напряжение на панелях выше 16 вольт, установка режима производительность
  • Если напряжение на панелях ниже 16 вольт или неизвестно, установка режима энергосбережение
  • Если напряжение на аккумуляторе меньше 11,6 выполнение команды отключения

Команда отключения может быть:

  1. плавное отключение (poweroff),
  2. спящий режим (systemctl suspend),
  3. гибернация (systemctl hibernate),
  4. последовательность команд.

Пример последовательности команд:

./suspend.py &&  systemctl suspend

Выполнение этой команды сохранит текущие виртуальные машины на диск и переведет компьютер в спящий режим. Данная команда может быть востребована програмистами и майнтайнерами в случае компиляции «больших» программ таких как Firefox, Chrome, LibreOffice и других, когда время работы (аптайм) может привысить дневное время.

В качестве демонстрации небольшое видео без звука.

Источник: habr.com