Inteligentny dom na OpenWRT

Trochę czasu upłynęło od ostatniego posta i wiele się zmieniło w moim “środowsku routerowym”. Porzuciłem z pewnych względów dd-wrt na rzecz bardziej elastycznego (bo opartego na jądrze 2.6) OpenWRT. Stało się tak głównie za sprawą przeprowadzki z mieszkania do domu, a co za tym idzie, powstania nowych potrzeb. Nowe potrzeby to “prawie inteligentny dom”. Właściwie nie do końca inteligentny dom, ale powoli ku rozwiązaniom znanym pod tą nazwą to dąży. Ale po kolei.

Domek ma dwie kondygnacje plus dużą piwnicę z mieszczącym się w niej garażem. Przed przeprowadzką miałem okazję przeprowadzać remont, więc przy tej okazji pociągnąłem po 2-3 skrętki z garażu do części pokoi (nie wszędzie się dało, jako że na totalną demolkę się nie zdecydowaliśmy). Dlaczego do garażu? Bo tam teraz wisi szafka (kuchenna), w której jest router TP-Link TL-WR1043ND z podłączonym hubem usb, dyskiem 750GB i przejściówką usb-serial-1wire oraz bramka voip.

W pokoju komputerowym na piętrze (o ironio bez pociągnętej skrętki z piwnicy) znajduje się drugi router - dlink DIR-320, na którym wcześniej był DD-WRT, a obecnie działa OpenWRT. Dlink łączy się z TP-Linkiem przez wi-fi. Podłączone są do niego przez hub - pendrive, drukarka oraz webcam obserujący bramę i wejście do domu.

Do ekosystemu wkrótce dołączy TP-Link MR3420, ale o tym pewnie napiszę w osobnym poście.

Jest też jeszcze jedno urządzenie, którego pominąć nie wypada. W salonie przy telewizorze stoi sobie WD TV Live. Mała skrzyneczka, która przez ethernet połączona jest z routerem w garażu. Urządzenie niezwykle przydatne i funkcjonalne. Dzięki współpracy z sambą zainstalowaną na routerze pozwala m.in. oglądać przez sieć filmy dopiero co ściągnięte na dysk routera. Także w Full-HD. Działa tak dobrze, że na razie nawet nie kusi mnie specjalnie, żeby wymieniać w nim oprogramowanie na alternatywne.

Inteligentny dom?

Co system w tej chwili potrafi? Na razie głównie monitorować…

Mamy więc monitoring wejścia do domu realizowany przez kamerkę Creative Live Vista IM. Jest to istotne ponieważ - działa pod USB 2.0, ma rozdzielczość 640x480 oraz radzi sobie w różnych warunkach oświetlenionych. Testowałem też inną kamerkę, niestety nie radziła sobie zupełnie przy ostrym świetle słonecznym - wszystko było prześwietlone. Jak to dokładnie działa? Na routerze zainstalowany jest program motion, który cały czas obserwuje co się dzieje. Jak nic się nie dzieje, to zrzuca zdjęcie co kwadrans. Jeżeli natomiast zostanie wykryty ruch, to robi zdjęcia co 2 sekundy. Zapisane zdjęcia z kolei wysyłane są zaraz przez Internet na zewnętrzny serwer (bo co mi z monitoringu, który złodziej wyniósłby z zapisem?). Z czasem pewnie zainwestuję w kamerę zewnętrzną, być może w HD, ale póki co webcam za szybą sprawdza się świetnie.

Serwowanie sieci, filmów i miejsca na dyskach to główne zadanie routera z garażu, ale nie jedyne. Przez magistralę 1-wire (za pośrednictwem skrętki trafiającej do różnych pomieszczeń) podłączonych jest kilkaście termometrów. Po co tyle? Badam temperaturę zewnętrzną, w pomieszczeniach w piwnicy, salonie, kuchni, 2 sypialniach, a przede wszystkim kotłowni. Istotną informacją może być, że dom jest ogrzewany kotłem na ekogroszek. Po co mi te temperatury? Przede wszystkim, żeby wiedzieć co się dzieje w kotłowni bez schodzenia do piwnicy (kto ma piec na ekogroszek to wie o czym mówię). Poza tym, żeby badać pracę całego układu i wyciągać wnioski - czy regulacja jest właściwa, czy moc jest wystarczająca, czy temperatura jest utrzymywana na właściwym poziomie, jak pracuje zawór czwórdrogowy, itp. Mogę też dzięki temu optymalizować cyrkulację ciepłej wody. Na wykresie widzę w jakich godzinach ciepła woda jest używana i kiedy warto uruchomić pompkę, która sprawi, że z kranu poleci od razu gorąca woda, a kiedy nie warto tego robić. Poza tym piec na ekogorszek ma to do siebie, że jak skończy się opał to wygasa. Podobnie jest w przypadku gdy w podajniku zerwie się zawleczka. W takich wypadkach dostaję smsa z informacją o takim zdarzeniu i mogę odpowiednio szybko zareagować.

Jak to działa? Digitemp odczytuje wartości z termometrów DS 1820. Skrypt sprawdza czy nie odbiegają od normy i nie należy powiadomić mnie o tym (gdzieś robi się zbyt zimno lub gorąco, a nie powinno) i zapisuje dane do pliku przez rrdtool. Temperatury zapisywane są co minutę. Co 10 minut generowane są wykresy ze średnimi 5-minutowymi i wysyłane na zewnętrzny serwer do prezentacji przez www.

Co dalej?

To oczywiście jeszcze nie koniec. W tej chwili tworzę system do podlewania ogródka sterowany przez prognozę pogody (bardzo szczegółową i sprawdzalną z ICMu ). Bo cóż mi z tego, że nie będę podlewał ogrodu, gdy przed chwilą padał deszcz, skoro będę to robił gdy deszcz za chwilę będzie padał, jak to ma miejsce w klasycznych systemach do nawadniania. Planuję też zrobić czujnik deszczu do routera, żeby infomację o opadach jednak posiadać (choćby by sprawdzić skuteczność prognozy).

W dalszej kolejności będę instalował czujniki zalania pomiesczeń, bo jest to u mnie pewien problem przy gwałtownych opadach. Przyjdzie też kolej na piec - chcę obliczać ilość zużywanego opału na podstawie ilości załączeń silnika podajnika ślimakowego oraz sterować ogrzewaniem na podstawie temperatury w domu, a przede wszystkim móc włączyć/wyłączyć ogrzewanie zdalnie (np. przed powrotem z wyjazdu narciarskiego).

Będą też czujki ruchu i budowa systemu alarmowego. Początkowo będzie je kontrolował router, a z czasem zostaną przepięte do centralki alarmowej, a ta z kolei do routera… Po podpięciu centralki do routera będę miał informację, np. kiedy nikogo nie ma w domu, a co za tym idzie, kiedy nie warto włączać cyrkulacji ciepłej wody.

Jak znajdę chwilę, to pewnie opiszę dalsze zmagania.

Kilka szczegółów dotyczących części związanej z c.o. pożna zlaeźć w poście na forum o ogrzewaniu .