PicoIP на Неомонтана е доста добър контролер, предназначен основно за управление на комутатори, но с 16-те си изходни порта и 8 входни (10 битов АЦП) има широко поле на приложение за всякакъв вид автоматика.
Голямо предимство е управлението му чрез snmp , т.е. дистанционно може да се управляват до 16 консуматори и да се мерят до 8 входни аналогови величини.
В момента правя автоматизация на включването и изключването на бойлера в къщи , като в допълнение ще меря моментната консумация на ел.енергия (щото ЧЕЗ ми режат главата напоследък) и няколко температури – външна и в стаите. Включването и изключването на бойлера ще става от crontab-a в определени часове, а в допълнение ще може да се управлява и ръчно през уеб страница.
Досега съм направил четенето на съответните регистри на PicoIP и показването им в тази страница.
Предстои да сложа релетата (и контактора) за управление и няколко термистора за измерване на температурата.
Консумацията на енергия ще меря посредством измерване на консумирания ток ( с токов трансформатор) . Токовия трансформатор е от тороидален дросел от компютърно захранване с 30 намотки – т.е. трансформация 1:30 , при 30А консумация трансформатора ще дава на вторичната намотка 1 А , които пък чрез съпротивление от 2 ома ще се превърне в напрежение, удобно за измерване от PicoIP . Ще трябва да го изправя и ще меря максималната стойност на тока, която пък чрез сметки ще се доведе до ефективната, а оттам и до консумираната мощност (с умножение по напрежението).
Управлението на PicoIP през web става по следния начин :
1. Упраление на изходните портове:
включване:
#!/bin/sh
echo “Refresh: 1; url=http://ss7.dupnica.net/?page_id=1568/”
echo “Content-type: text/html; charset=iso-8859-1”
echo
echo “<html><head>”
echo ” </head>”
echo “<body>”
snmpset -v1 -c private 10.10.10.101 PortCTRL.pctrlPort3.pctrlP3pin1.0 i 1
echo “</body>”
echo “</html>”
излючване :
snmpset -v1 -c private 10.10.10.101 PortCTRL.pctrlPort3.pctrlP3pin1.0 i 0
2. Четене на данни от входните портове (променил съм MIB-овете за удобство) :
<?php
Print “Boiler is: “;
print exec(‘snmpget -v1 -c public 10.10.10.101 PortCTRL.pctrlPort3.bojler.0 -O Q -O v’);
print “<br><br>Power: ” ;
print exec(‘snmpget -v1 -c public 10.10.10.101 PortCTRL.pctrlPort6.PowerConsumption.0 -O Q -O v’);
print ” W <br>Temp: ” ;
print exec(‘snmpget -v1 -c public 10.10.10.101 PortCTRL.pctrlPort6.Temp.0 -O Q -O v’);
print ” C<br>OutTemp: ” ;
print exec(‘snmpget -v1 -c public 10.10.10.101 PortCTRL.pctrlPort6.OutsideTemp.0 -O Q -O v’);
print ” C”;
print “<br><br>”;
?>
Нне съм писал нищо от доста време , така, че не ме критикувайте :)
Скоро ще има действителни данни :)