Smart Home – automatyczne otwieranie okien

Smart home – pierwsza krew

Artykuł autorstwa mojego męża:

Są takie dni w życiu każdego mężczyzny, kiedy mówi sobie – „kurwa nie chce mi się tego robić”. Takie też i było moje podejście do tego projektu, więc od chwili gdy pojawił się koncept, do chwili wdrożenia go (jak na razie jako tako) w życie minęło kilka ładnych miesięcy…
Ale po kolei.
PROBLEM
Z powodu słabej izolacji dachu w sypialni latem jest w ciul gorąco, a zimą też w ciul, ale zimno. Latem wspomagamy się więc klimatyzatorem, a zimą tradycyjnie – kaloryferem. Na dodatek ja nie mogę spać w kiepsko wywietrzonych pomieszczeniach, a oba te środki wymagają zamykania okna. Ponieważ:
⦁ jestem leniwy
⦁ sypialnia jest na górze, a ja zwykle rezyduję na dole mieszkania
⦁ uwielbiam automatyzację
⦁ jestem inżynierem
wpadłem na:
PROPOZYCJĘ ROWZIĄZANIA (fanfary)
Smart Home – czyli automatyzacja własnej chałupy. Plan urodził się pi razy drzwi (to pi okazało się tutaj nie od parady) taki: za pomocą Raspberry Pi sterować termostatem kaloryfera, klimatyzacją i oknem tak, aby zapewnić maksimum komfortu jednocześnie nie musząc tego samemu pilnować.
POCZĄTKI
Do klimatyzatora kupiłem uniwersalny pilot na Wi-Fi za kilkadziesiąt złotych. Póki co działa poprzez aplikację w telefonie, a protokół jakim się posługuje wydaje się być uniwersalny, więc dalsze rozpoznanie bojem tego tematu odłożyłem na później.
Termostat który mam obecnie nie ma możliwości zdalnego nim sterowania, ale w ofercie są termostaty sterowane poprzez BLE – krótkie rozpoznanie tematu daje nadzieję, na to, że uda się taką głowicę wykorzystać. W handlu są też dostępne głowice komunikujące się za pomocą np. Z-Wave, ale ten protokół choć jest otwarty wymagałby dodatkowego nadajnika do RPi (koszt nieznany, bo nie sprawdzałem) ponieważ operuje na częstotliwości bodajże 433MHz, a urządzenia z nim są automatycznie droższe o 100-150 PLNów. Temat ogólnie jest olbrzymi i ideałem byłoby tutaj coś co komunikuje się via Wi-Fi, otwartym protokołem i w cenie do 150-200 PLNów. Póki co termostat który mam pozwala na ustawianie przedziałów czasowych w których ma grzać, a w których mniej (lub wcale), więc jest to drugi temat odłożony na później.
Szybka wizyta na jednym z portali aukcyjnych w celu rozpoznania czy są dostępne jakieś gotowe siłowniki do okien i ogrom rozwiązań tego typu jaki wylał się z monitora mnie powalił. Ponieważ była to jednak zima stwierdziłem tylko, że wolałbym nie rozwalić okna gdy grozi to wdarciem się śniegu do wnętrza i temat został odłożony.
Niestety, moja żona wciąż o nim pamiętała… Jako że cholerze się spodobał, główna przeszkoda (zima) została usunięta i nawet dzieci zostały wykopane na kolonie nie miałem wyjścia – zamówiłem co wydawało mi się niezbędne i zabrałem się do roboty…
ZAŁOŻENIA KONSTRUKCYJNE
Przede wszystkim chciałem, aby całość mieściła się w jednej obudowie, korzystała z siłownika zasilanego bezpośrednio z sieci i aby całość była zasilana jednym kablem. W handlu dostępne są siłowniki np. na 24V DC ale troszkę by to komplikowało zasilanie wewnątrz obudowy – dość, że nawet teraz w najprostszej wersji mam aż trzy poziomy zasilania – siłownik na 24V dołożyłby czwarty. Wydawałoby się, że prościej się nie da. Dodatkowo chciałem, aby można łatwo było wymienić przewód zasilający i aby był tam wyłącznik.

Tak mniej więcej wygląda skrzyneczka spełniająca te założenia. Na dole (czarne) gniazdo na kabel zasilający jak od komputera z bezpiecznikiem i włącznikiem. U góry w perforowanej obudowie zasilacz impulsowy 5V 6A do lampek LED – z powodzeniem można użyć nieco słabszy. Ja zdecydowałem się na ciut mocniejszy, ponieważ nie byłem pewien czy sam siłownik przymykający okno wystarczy i czy nie będzie potrzeba do towarzystwa jakiegoś serwa kręcącego klamką, a one też mają swoje wymagania prądowe (głupio by było jakby się RPi resetowało przy każdej próbie zamknięcia okna). Później się okazało, że serwo raczej nie będzie potrzebne. Góra zaś była razem ze skrzyneczką i wykorzystałem ją do rozprowadzenia napięcia 230V. Zielona część na fazę, a niebieska na neutral.
Skoro mowa o 230V – RPi nie może bezpośrednio posługiwać się tak dużym napięciem. Potrzeba mu przekaźników:

Moduł przekaźników, który znalazłem również zasilany jest przez 5V (nie mogę powiedzieć, żeby to był przypadek), a więc również z zasilacza. Można znaleźć przekaźniki na 3,3V – takim napięciem posługuje się RPi bezpośrednio z pinów GPIO, ale chciałem aby przekaźniki były stosunkowo od RPi niezależne na wypadek gdyby komputer padł, lub zawisł.
A skoro mowa tyle o RPi:

W końcu komputer znalazł swoje miejsce w skrzyneczce. Na zdjęciu powyżej widać, że na razie jest bezpośrednio wpięty w sterownik przekaźników – to jedno z wielu ustawień testowych. Ogólnie bardzo polecam dużo testować takie układy na każdym etapie budowy – w moim wypadku oszczędziło mi to trochę frustracji ponieważ np. okazało się, że nie przewidziałem wszystkich konsekwencji faktu, że cewki sterowane są sygnałem niskim – większość pinów maliny ma po resecie stan ustawiony z miejsca na niski, ale na szczęście okazało się, że niektóre wstają jednak w stanie wysokim (zgodnie z planem), co pozwala na kontrolowany rozruch. Co bardziej spostrzegawczy zapewne zauważyli, że jako szyną 5V wykorzystałem kawałek płytki prototypowej. A skoro mowa o płytce prototypowej:

Okazało się, że można ją wykorzystać również jako szynę 3,3V (drugi podłużny kawałek) i do podłączenia interfejsu I2C (lewa część płytki). Interfejs ten chciałem wykorzystać do podłączenia m.in. czujników. Na zdjęciu widać też wciśnięty w obudowę czujnik hałasu, który chciałem wykorzystać jako klaskacz. Na razie poniosłem sromotną klęskę.
A skoro mowa o klęsce…

Aby ją podkreślić postanowiłem zakłócić chronologię zdjęć. W każdym razie na pierwszym planie, poza moją dłonią oczywiście, widać czujniczek przyklejony do obudowy (czujnik z odzysku, ale potrafi mierzyć temperaturę i ciśnienie powietrza, natomiast producent twierdzi, że potrafi jeszcze sczytywać swoje położenie, ale życie tego nie potwierdza). W każdym razie zapomniałem o nim i przypomniałem sobie gdy duża część skrzyneczki była już zmontowana, no ale trzeba było wywiercić otwór. Wziąłem więc swoją wielką i ciężką młotowiertarkę (nie mam innej) i przeszedłem przez plastik jak przez masełko uderzając w piny RPi. Wiem, że w nie uderzyłem, bo całkowicie się pogięły – na szczęście udało się je wyprostować, co być może nawet widać na załączonym zdjęciu.
Skoro jednak mowa o załączaniu…

Komputer bez przycisków jest jak łódź podwodna bez peryskopu. Nakleiłem więc takie cudaki za kilka złotych plus ekranik na obudowę. Przyciski mają – jak wcześniej wspomniałem – służyć do sterowania siłownikiem w sytuacji awaryjnej.
Skoro więc mowa o awariach…

W czasie testów zauważyłem, że siłownik jest naprawdę, naprawdę mocny. Zauważyłem też, że o ile przy zamykaniu gdy poczuje opór to się grzecznie wyłącza, natomiast przy otwieraniu… Dość powiedzieć, że miałem poważne obawy, co do tego, co nastąpi najpierw – zadziała zabezpieczenie wewnątrz siłownika, czy połamie się okno. Dlatego z mojej szuflady ze złomem wyciągnąłem endstopa i zamocowałem na małym i niezbyt eleganckim wsporniku. Ogólnie schemat podłączenia zmienił się w taki sposób, że przewód zasilający obwód zamykania idzie przez dwa przekaźniki. Pierwszy z nich jest typu NO (normalnie otwarty), a drugi NC (normalnie zamknięty). W zwykłych okolicznościach przyrody wystarczy sterować tylko pierwszym przekaźnikiem – podanie sygnału czy to z przycisku, czy RPi otwiera okno. Jeśli jednak otwieranie trwa zbyt długo okno zamknie obwód z endstopem, który z kolei uruchamia drugi przekaźnik i go otwiera przerywając obwód otwierania. W ten sposób oba kierunki działania są zabezpieczone.
Skoro mowa o zabezpieczeniach

W taki oto mało elegancki sposób zabezpieczyłem pokrywkę skrzyneczki przed niespodziewanym spadnięciem podczas gdy sam majstrowałem w jej bebechach.
Poniżej filmik przygotowany przy tej okazji pokazujący jak to mniej więcej działa.

A na koniec zdjęcia ukończonego (elektomechanicznie) projektu.
Na zdjęciu poniżej jak widać – nic nie widać .

Gdy jednak zanurkujemy pod firanę:

A na koniec ukończona, podłączona i działająca skrzyneczka (spokojnie – pokrywka wisi na nitkach, a nie na kablach):

TODO
Oprogramować. Póki co działa tylko na zegar.
Dodać obsługę klaskacza, przycisk odpalający shutdown, dodać odczyt temperatury i ciśnienia powietrza, dodać obsługę wyświetlacza (póki co nawet nie wiadomo czy działa), zamontować czujnik deszczu i dodać jego obsługę (kosztował mnie chyba z 7 PLNów, albo nawet 5!).
Aby nie było nudno: dodać obsługę klimy, termostatu na kaloryfer, stworzyć stronę WWW (i/lub aplikację na androida) dostępną tylko z mojej sieci Wi-Fi do zmieniania ustawień i zdalnego sterowania.
PODSUMOWANIE
⦁ Projektowanie na produkcji to zły pomysł, ale czasami inaczej się nie da.
⦁ Testowanie każdego etapu to dobry pomysł.
⦁ W ogóle testowania nigdy za dużo.
⦁ Jestem dopiero w połowie roboty, ale za to „wykonałem” już chyba z 70% budżetu. Wygląda jednak na to, że całość będzie mnie kosztować tyle ile sama centralka komercyjnego systemu Smart Home. Idzie za tym niestety gorsza jakość wykonania.
⦁ Tego nie widać, ale w tym projekcie prawie w ogóle nie było lutowania. Nawet to lutowanie co było (przedłużenie kabli od endstopa) było do uniknięcia, gdybym miał jeszcze jakieś szybkozłączki albo małe kostki.
⦁ Da się wykonać samodzielny projekt Smart Home mając zaledwie mgliste pojęcie o co chodzi (chociaż nie jest to robota na jeden, dwa wieczory.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *