Управление температурой с помощью NetPing TS v2 и NetPing 2/PWR-220 v2

()

Некоторое время назад было показано, как можно организовать мониторинг температуры с помощью программного пакета MRTG и устройств NetPing TS v2, а также было рассказано, как можно отслеживать выход температуры за допустимые границы.

Однако кроме оповещения о критической ситуации можно ещё и попытаться исправить её автоматически. Уже упоминалась плата Netping Cooler Board 2+2, которая может использоваться для включения/выключения различных устройств, однако, она позволяет управлять лишь маломощными устройствами, если же нужно включить достаточно мощное (до пятисот ватт) устройство, лучше воспользоваться устройством NetPing 2/PWR-220 v2.

NetPing 2/PWR-220 v2 позволяет управлять двумя нагрузками суммарной мощностью до пятисот ватт, и, кроме всего прочего, позволяет проверять доступность сетевых хостов, и в случае их недоступности перезагружать их по питанию (режиме «сторожа»), хотя в данном случае нам будет более чем достаточно возможности включать/выключать устройство с помощью команд, передаваемых по SNMP.

Сейчас попробуем решить простую задачу: поддержание температуры в заданном интервале в домашней оранжерее или на рабочем месте. Для охлаждения будем использовать простой напольный вентилятор, а для обогрева - тепловинтилятор. Схема сети и конфигурация MRTG в целом аналогичны ранее описанным, только добавляется ещё устройство NetPing 2/PWR-220 v2 с IP-адресом 192.168.3.9 и SNMP Community "SWITCH", доступ к которому разрешён с сервера мониторинга.

Для начала приведём устройство в исходное состояние, то есть отключим оба канала питания, это можно сделать, авторизовавшись на устройстве, на странице «Управление 220V».

Для управления устройством нам понадобиться два OID:

  • 1.3.6.1.4.1.25728.52.1.5801.1.2 - первый канал: 0 - выключен, 1 - включен
  • 1.3.6.1.4.1.25728.52.1.5801.2.2 - второй канал: 0 - выключен, 1 - включен

Создадим скрипт обработчик проблем и сохраним его под именем /root/scripts/netping_bad.sh следующего содержания:

#!/bin/sh

# Получаем параметры из командной строки
# Пороговое значение передаётся вторым параметром, а текущее - третьим
THRESH_VAL=$2
CUR_VAL=$3

# Если слишком холодно
if [ ${THRESH_VAL} -gt ${CUR_VAL} ]; then
    # Выключаем вентилятор
    snmpset -v 1 -c SWITCH 192.168.3.9 1.3.6.1.4.1.25728.52.1.5801.1.2 integer 0 > /dev/null
    # Включаем тепловентилятор
    snmpset -v 1 -c SWITCH 192.168.3.9 1.3.6.1.4.1.25728.52.1.5801.2.2 integer 1 > /dev/null
# Если же наоборот жарко
elif [ ${THRESH_VAL} -lt ${CUR_VAL} ]; then
    # Выключаем тепловентилятор
    snmpset -v 1 -c SWITCH 192.168.3.9 1.3.6.1.4.1.25728.52.1.5801.2.2 integer 0 > /dev/null
    # Включаем вентилятор
    snmpset -v 1 -c SWITCH 192.168.3.9 1.3.6.1.4.1.25728.52.1.5801.1.2 integer 1 > /dev/null
fi

Также создадим скрипт, который будет выполняться при возврате температуры в норму и сохраним его под именем /root/scripts/netping_ok.sh. Его содержанием заметно проще:

#!/bin/sh

# Выключаем вентилятор
snmpset -v 1 -c SWITCH 192.168.3.9 1.3.6.1.4.1.25728.52.1.5801.1.2 integer 0 > /dev/null
# Выключаем тепловентилятор
snmpset -v 1 -c SWITCH 192.168.3.9 1.3.6.1.4.1.25728.52.1.5801.2.2 integer 0 > /dev/null

Затем добавим в конфигурацию MRTG следующие строки:

# Максимальная температура
ThreshMaxO[netping]: 27

# Минимальная температура
ThreshMinO[netping]: 22

# Скрипт, выполняем при нарушении температурного режима
ThreshProgO[netping]: /root/scripts/netping_bad.sh

# Скрипт, выполняемый при возврате температуры в норму
ThreshProgOKO[netping]: /root/scripts/netping_ok.sh

Теперь температура будет поддерживаться (на сколько это возможно) в интервале от 22 до 27 градусов, чтобы проверить работоспособность системы достаточно зажать датчик пальцами и подержать его несколько минут. За счёт нагрева от тела человека температура на датчике увеличится и должен включиться вентилятор.

На этом всё. Приятной работы!

P.S. Статья написана по просьбе «Алентис Электроникс» и так же опубликована на сайте компании.

P.P.S. Отдельное спасибо Фроловой Марии за корректировку статьи.

Ключевые слова: netping, mrtg, мониторинг, триггер, pwr-220.

Комментарии:

Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE