Судя по отзывам моя статья о Ethernet controller-е вызвала большой интерес у кабельменов. И по просьбам трудящихся решил рассказать о более расширенной версии данной разработки. Power controller разрабатывался для конкретной задачи — скинуть проблему зависающих тюнеров на персонал. А себе, любимому, оставить больше времени на высокое… шутка)
Конкретно описываемое здесь устройство состоит из головного блока и пяти розеточных модулей, которые соединяются между собой шлейфами проводов.
Головной блок собран в корпусе старенького длинковского коммутатора и в нём находятся:
1) блок питания +12в (использовал топкамовский бп), стабилизаторы на +5 и +3,3в
2) микроконтроллер AtMega32A-PU
3) пять 12-ти разрядных двоичных счётчиков 74HC4040 (используются только 8 разрядов)
4) сорок транзисторных ключей (UPD: можно использовать драйверы ULN2803)
Розеточные модули претерпели некоторую модернизацию. В них встроены реле, в нормальном состоянии контакты которых ЗАМКНУТЫ. Каждая розетка подключена через своё реле, таким образом, что при подаче на него +12в питание с розетки отключается.
Как дополнительная опция, устройство позволяет подключить ТРИ датчика типа DS1820(DS18S20). По их показаниям можно судить о температуре в серверной, на улице или ещё где-то… Настроив нужным образом допустимые пределы температурных значений, легко организовать отправку алармов по SMS или на EMAIL — как показала практика, очень нужная вещь в летнее время года.
Атмегу прошиваем данной прошивкой. В ознакомительной версии прошивки отключены датчики температуры. Фьюзы микроконтроллера установлены как и у прошлой версии.
Итак, устройство собрано. Когда зайдёте по его IP адресу(http://192.168.1.99) вы обнаружите json-ответ:
{"a":0,"b":0,"c":0,"d":0,"e":0,"t1":0,"t2":0,"t3":0}
Если с t1,t2,t3 понятно(показания температуры), то с другими параметрами по-сложнее. Каждой розеточной группе, а их как помните — ПЯТЬ штук, присвоена буква: a,b,c,d или e. Из приведённого ниже примера станет понятно, как с ними работать:
http://192.168.1.99/?a=255 # выключить все розетки группы A http://192.168.1.99/?a=1 # выключить первую розетку группы A http://192.168.1.99/?b=2 # выключить вторую розетку группы B http://192.168.1.99/?d=64 # выключить седьмую розетку группы D http://192.168.1.99/?a=127 # выключить все розетки, кроме восьмой, в группе A http://192.168.1.99/?e=9 # выключить первую и четвёртую розетки группы E
Параметры можно чередовать в соответствии с правилами GET-запросов, например http://192.168.1.99/?a=255&b=0&c=128&e=1
После отключения каких-либо розеток, контроллер автоматически возвратит питание через ТРИ СЕКУНДЫ! Таким образом осуществляется перезапуск тюнера. Чтобы было удобно работать с устройством, написал небольшое веб-приложение, которое необходимо установить в директорию www-сервера. Файлы можно скачать здесь.
Онлайн-эмулятор для ознакомления здесь: http://conture.by/pctrl. Только отключена функция записи лога и изменения названий каналов из соображений безопасности.
Логин/пароль администратора: admin/admin
Логин/пароль пользователя: pasha/pasha
Важно помнить, что мощность на одну розетку с такими реле не должна превышать 80-100 Ватт. Использовав более мощные это значение можно увеличивать.
Если будет использован один датчик температуры на расстоянии до 20 метров, его можно подключить двухпроводным кабелем, используя паразитное питание.
Помимо тюнеров, данным устройством (при условии соблюдения мощности контактов реле) можно осуществлять перезапуск серверов на базе персоналок. Для этого вешаем на кнопку включения ПК электролит ёмкостью 100-220 мкФ. При подаче питания на БП заряд конденсатора будет эмулировать нажатие кнопки. Ну или есть другой способ — зелёный провод на землю. Удачи в творчестве!
UPDATE. Более расширенная версия панели управления: http://conture.by/pctrl2