Elektroda.pl
Elektroda.pl
X
Relpol
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Projekt inteligentnego domu oparty na Raspberry Pi.

Danies94 18 Lip 2015 21:08 14841 22
  • Projekt inteligentnego domu oparty na Raspberry Pi.

    Witam.
    Od jakiegoś czasu interesuję się instalacjami "inteligentnego domu". Gotowe rozwiązania nie są tanie co podkusiło mnie do wykonania takiej instalacji u siebie, domowymi sposobami.
    Jako centralę sterującą wybrałem komputer raspberry pi i obecnie w skład instalacji wchodzą ich dwie sztuki.

    Założeniami projektu na samym początku było:

    - niska cena
    - możliwość szybkiej i łatwej rozbudowy o kolejne pomieszczenia
    - możliwość sterowania oświetleniem z poziomu komputera, telefonu oraz przez internet


    Początkowo instalacja miała działać w jednym pomieszczeniu, wtedy więc nabyłem pierwsze raspberry i rozpocząłem prace. Akurat złożyło się, że miałem zaplanowany również remont jednego pokoju tak więc przystosowałem go do instalacji kablowej.
    Jako, że raspberry miało znajdować sie w tym samym pomieszczeniu co instalacja, zdecydowałem się na sterowanie oświetleniem drogą przewodową.

    Nabyłem więc kilka sztuk takich modułów z przekaźnikiem. Jeden z nich jest umieszczony w puszce włącznika światła górnego do którego doprowadzony jest trzy żyłowy przewód sterujący nim Puszka została zaślepiona atrapą włącznika. Całkowicie zrezygnowałem z możliwości ręcznego włączania światła. Kolejne 3 moduły przekaźników zamknąłem w puszce i schowałem za szafą. One służą do sterowania oświetleniem dodatkowym oraz paskiem led podświetlającym sufit podwieszany.

    Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi.





    Tak prezentuje się sufit podświetlany niebieskim paskiem ledowym na etapie remontu oraz po:

    Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi.

    Każdy moduł przekaźnika wymaga doprowadzenia trzech przewodów. Zasilania, masy oraz wyzwalacza. Podłączając trzeci pin do raspberry sterujemy przekaźnikiem podając na pinie plus lub minus. Oto schemat podłączenia:

    Projekt inteligentnego domu oparty na Raspberry Pi.

    Czas na oprogramowanie. Na raspberry zostal zainstalowany php oraz popularny serwer www Apache. Wybrałem PHP ponieważ znam go bardzo dobrze i szybko mogłem napisać skrypt spełniający moje wymagania oraz późniejsze "ficzery". Pierwsza wersja wyglądała i działała następująco.


    Link


    Jak wspomniałem wcześniej, całkowicie zrezygnowałem ze zwykłego włącznika światła górnego. Zamiast tego, przy wejściu do pokoju znajduje się na ścianie naklejka, tag NFC.

    Na telefonie zainstalowana jest aplikacja Trigger. Po zbliżeniu telefonu do naklejki, telefon całkowicie "w tle" wysyła do raspberry żądanie http a na samym raspberry robię z tym już to co chcę.

    Po przyłożeniu telefonu do naklejki:
    - światło górne zapala się jeżeli żadne inne oświetlenie nie jest włączone
    - gasi całe oświetlenie jeżeli którekolwiek z nich jest włączone

    Pierwsze testy na biurku i z diodą led wyglądały następująco:

    Link


    Pewnie część z was uzna to za niewygodne jednak z rozwiązania tego korzystam bardzo rzadko ze względu na zastosowana automatykę:

    - gdy wchodzę do domu i jest po godzinie 18-tej światło zapala się automatycznie. Aplikacja trigger wysyła żądanie do raspberry w momencie połączenia się z domową siecią wifi. Działą to bardzo szybko i sprawnie i światło zapala się jeszcze kilka sekund przed otwarciem drzwi.

    - gdy wychodzę z domu całe oświetlenie jest gaszone automatycznie na podobnej zasadzie. Wtedy natomiast telefon wysyła żądanie już przez sieć GSM nie będąc w zasięgu sieci domowej.

    - gdy jestem w domu światło zapala się o określonych godzinach. Nie zapali się jeżeli mnie nie ma w domu ponieważ sprawdzana jest obecność mojego telefonu w sieci wifi oraz stan komputera na podstawie pingów tych urządzeń.

    Do raspberry podłączyłem również czujnik temperatury DS18B20. Dzięki temu wiem jaka jest temperatura w domu oraz generują się na jej podstawie wykresy pozwalające sprawdzić jaka temperatura była o konkretnych godzinach i dniach.

    Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi.

    Strona do sterowania oświetleniem na komputerze jest przypięta do paska zadań i dodana jako aplikacja w chromie. Pozwala to na szybkie otwarcie małego okienka z aplikacją www i sterowania oświetleniem.
    Na chwilę obecną strona do sterowania oświetleniem i innymi urządzeniami prezentuje się następująco na telefonie oraz komputerze:

    Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi.

    Na screenie widać, że odczytuję również temperaturę panującą na zewnątrz. Jednak aby całkowicie zminimalizować koszty, zrezygnowałem z zakupu kolejnego czujnika temperatury. Znalazłem w internecie mapę amatorskich stacji pogodowych podłączonych do internetu i okazało się, ze jedna z nich jest zlokalizowana około 100 metrów od domu. Napisałem więc skrypt który co minutę łączy się z nią i odczytuje temperaturę.

    Widać powyżej, że oprócz oświetlenia mogę sterować innymi urządzeniami jak np. wentylator. Tutaj rozpoczął się kolejny etap instalacji a mianowicie sterowanie urządzeniami drogą bezprzewodową. Nabyłem więc do raspberry nadajnik radiowy 433mhz i przykleiłem wraz z anteną tuż obok raspberry do szafy. Na raspberry zainstalowałem oprogramowanie o nazwie pilight które bezproblemowo komunikuje się z bezprzewodowymi gniazdkami marki Clarus które w cenie około 30zł za 3 sztuki można nabyć na popularnym portalu aukcyjnym. Zasięg takiego nadajnika bezproblemowo obejmuje całe mieszkanie. W dowolnym pomieszczeniu mogę sobie podłączyć takie bezprzewodowe gniazdko i sterować daną lampą, wentylatorem, oświetleniem.

    Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi.


    Po jakimś czasie zdecydowałem się na umieszczenie kolejnego raspberry w pomieszczeniu najbardziej oddalonym od tego w którym raspberry już jest. Zrobiłem to tylko w celu sterowania oświetleniem RGB któe wymaga podłączenia przewodowego. W drugim pokoju wzdłuż sufitu, na ścianie biegnie ledowy pasek RGB. Dzięki zastosowaniu raspberry mogę sterować kolorami również z komputera i telefonu, dodatkowo napisałem prostą aplikację która pozwala na samodzielne układanie programów sterującym paskiem. Dzięki temu mogę włączać np. płynną zmianę barw, efekt strobo, czasowe zmienianie barwy na losową i wiele, wiele innych. Tutaj również znalazła zastosowanie naklejka NFC. Po przyłożeniu telefonu, pasek przybiera losową barwę. Do sterowania paskiem za pomocą raspberry wykorzystałem schemat znaleziony w internecie oraz wykonałem go na płytce prototypowej. Rpi wymagało doinstalowania oprogramowania servoblaster. Całość została schowana na regale.

    Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi.


    Link


    Moje drzwi wejściowe do mieszkania mają wbudowany kontaktron. Postanowiłem go wykorzystać. Podłączając go do raspberry oprócz tego, że zapisuję dokładną datę i godzinę każdorazowego otwarcia i zamknięcia drzwi, zrobiłem prosty powiadamiacz o tym, że ktoś wchodzi do mieszkania. Po otwarciu drzwi pasek dwukrotnie błyska w kolorze czerwonym. Po zamknięciu drzwi błyska jednokrotnie. Dodatkowo, zostawienie drzwi otwartych na dłużej niż 10 sekund skutkuje pulsowanie paska ledowego w kolorze pomarańczowym.

    Projekt inteligentnego domu oparty na Raspberry Pi. Projekt inteligentnego domu oparty na Raspberry Pi.

    To wszystkie funkcje instalacji na dzień 18 lipca 2015r.

    W planach mam jeszcze:
    - poszerzenie instalacji o kolejne pomieszczenia
    - sterowanie mechanicznym otwieraniem o zamykaniem drzwi przesuwnych
    - dodanie czujnika oświetlenia aby dostosowywać automatycznie oświetlenie wewnętrzne do warunków panujących na zewnątrz
    - mechaniczne otwieranie i zamykanie żaluzji w oknach

    Czekam na opinie, pytania i komentarze.
    Pozdrawiam.


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Relpol
  • #2 18 Lip 2015 22:35
    Dragas
    Poziom 26  

    1. Nie stosujesz rezystora pomiędzy RPi i tranzystorami przy RGB?
    2. Z jakiej biblioteki korzystasz do rysowanai wykresów temperatur?
    3. Czy mógłbyś udostępnić kod apki na androida i w czym ją pisałeś?

  • #3 19 Lip 2015 17:38
    Danies94
    Poziom 10  

    1. Nie stosuję rezystorów. Działa tak jak na schemacie.
    2. Dane temperatur zapisuję w bazie mysql. Wykresy generuję używając Google Charts https://developers.google.com/chart/?hl=pl
    3. Nie jest to aplikacja tylko strona www która z wykorzystaniem ajaxa przekazuje dane do php.

  • #4 19 Lip 2015 17:49
    Dragas
    Poziom 26  

    Chodzi mi o to, jak działa aplikacja z NFC, która włącza lub wyłącza światło po przybliżeniu telefonu do naklejki?

  • #5 19 Lip 2015 18:56
    Danies94
    Poziom 10  

    Jest to aplikacja Trigger dostępna w sklepie google play. Można w niej tworzyć zadania które wykonują się po zbliżeniu konkretnej naklejki. W tym przypadku po zbliżeniu wcześniej skonfigurowanej naklejki, aplikacja w tle otwiera adres url.

  • #6 19 Lip 2015 22:03
    bendar
    Poziom 11  

    Bardzo fajny pomysł. Może dlatego mi się podoba bo wymyśliłem zrobić coś podobnego :). Ja jeszcze zastanawiałem się nad sterowaniem zasilania prosto ze skrzynki bezpiecznikowej półprzewodnikowymi przekaźnikami (ang. SSR), zrealizowaniem alarmu na podstawie raspberry.
    Może Danies94 coś mi więcej podpowiesz bo ja mam dom w stanie surowym i rozkładam przewody właśnie do tego celu.
    A mógł byś jeszcze rozrysować kompletny schemat swojej instalacji?

  • #7 20 Lip 2015 21:53
    Danies94
    Poziom 10  

    Jeżeli jesteś na etapie prowadzenia kabli w ścianach to zastanów się nad doprowadzeniem skrętki komputerowej do każdego włącznika światła i każdego gniazdka elektrycznego. Tak na przyszłość... może się przydać.
    Myślę, ze nie ma sensu rysowania schematu... instalacja jest póki co bardzo prosta i opisana powyżej.

  • Relpol
  • #8 22 Lip 2015 13:45
    Balu
    Poziom 38  

    @bendar,
    Ja sugeruję po minimum 2 skrętki....

    Ja na wszelki wypadek mam puszczone po 2 lub 3 zależy "dokąd idą" do każdego włącznika, gniazdka,
    Oprócz tego gniazdka 230V+2xlan "obok" głowicy termostatycznej każdego grzejnika - gdybym wpadł na pomysł podłączenia ich do instalacji kiedyś.
    Jak coś pisz na pw. (P.S. instalacja sterowana jak bóg przykazał PLC, nie komputerem z debianem który wstaje półtorej minuty).

    Wszystkie gniazdka są bezpośrednio połączone z szafą sterującą. Tak samo oświetlenie.
    Pamiętaj o puszczeniu instalacji antenowej w ścianach (co prawda nie ma to nic wspólnego z mądrym domem, ale czasem się nie myśli :) a potem wyzywa).
    Do tego część ludzi powie Ci, że kable Lanowe tj. skrętka to zły pomysł na sterowanie i będzie chciała kłaść kable "alarmowe". Ja mam na skrętkach, znajomy ma na skrętkach zobaczymy za parę lat :)
    Oprócz tego proponuję puszczenie kabla hdmi/lan/power od miejsca montażu TV do miejsca w którym ma być szafka rtv. Ja tego nie zrobiłem i do dziś drażni mnie pęk kabli tv->amplituner.

  • #9 22 Lip 2015 13:49
    siutek84
    Poziom 10  

    Świetny projekt, chociaż osobiście nie bawią mnie światełka RGB regulowane ręcznie - nie widzę przydatności. Jedyne miejsce, gdzie takie coś jestem w stanie zaakceptować to Ambilight w TV, ale wówczas kolory zmieniają się samoistnie.

    Nie zmienia to faktu, że bardzo podoba mi się pomysłowość, wykorzystanie zupełnie różnych elementów (jak choćby NFC).

    Jedyne co bym zmienił, to pokusiłbym się o napisanie dedykowanej apki na androida, zamiast (lub alternatywnie) strony www. Są fajne projekty, które pozwalają przerobić stronę www z JS i CSS na aplikację androidową. Więc taka apka nie powinna stanowić problemu.

    Ale to moje subiektywne zdanie.

    Jeszcze jedno:
    Sam mieszkam w mieszkaniu i ostatnio bardzo męczy mnie temat regulacji temperatury kaloryferów. Nie jestem w stanie zrobić tego na sterowniku CO, bo to zewnętrzna kotłownia spółdzielni, ale są np termostaty (niestety >100zł/szt), które można by programować radiowo - w tym momencie na podstawie danych z czujników temperatury oraz zapisanego rytmu dnia (praca/dom/noc/dzień) można sobie ustawić odpowiednie temperatury w mieszkaniu, co może w dalszej kolejności przełożyć się na niższe rachunki za CO.

    pozdrawiam

  • #10 22 Lip 2015 16:52
    Zbigniew 400
    Poziom 36  

    Szanowny Kolego.Zrezygnowałeś z ręcznego sterowania. Urządzasz imieniny i akurat padnie Ci zasilacz od procesora, zostawiasz gości i lutownica do reki, tak to sobie wyobrazasz ?.

  • #11 22 Lip 2015 21:17
    Danies94
    Poziom 10  

    @siutek84 - podeślesz linka do takiego generatora apki na androida? Znam jeden ale to tez działa to jedynie jak zwykła strona www która wczytywana jest do aplikacji.

    @Zbigniew 400 - masz rację. Wszystko może zawieść w najmniej odpowiednim momencie i należało by się w jakiś sposób przed tym zabezpieczyć. Póki co ograniczam się jedynie do wypięcia zworki z modułu przekaźnika który wtedy puści napięcie na oświetlenie.

  • #12 23 Lip 2015 04:51
    Zbigniew 400
    Poziom 36  

    Najlepszym rozwiązaniem są przekażniki ze zwartymi stykami roboczymi. Można też w ich obudowach zamontować wyłączniki.

  • #13 23 Lip 2015 09:14
    makiawelli
    Poziom 9  

    Do całości można by dołożyć jakiś włącznik akustyczny;), fajny bajer a cieszy. Co do awaryjnego zasilania to można wykonać płytkę z przekaźnikami i dołączonymi do nich włącznikami zwierającymi do masy lub Vcc w zależności od projektu.

  • #14 23 Lip 2015 11:32
    Zbigniew 400
    Poziom 36  

    Tylko zwarcie na stykach przekażnika omija awarie systemu sterowania.

  • #15 23 Lip 2015 21:05
    Balu
    Poziom 38  

    Zawsze można zastosować przekaźniki z "chorągiewką" :)
    I pstryknąć je mechanicznie.

    Ja mogę powiedzieć że po 3 latach, awarii żadnych nie napotkałem (przekaźniki Findera, PLC Wago). (No poza brakami zasilania) ;-).

    Co do podłączenia przekaźników "Normalnie zwartych", policz straty prądu jakie wyjdą przy wielu obwodach, które, tak jak światło przez większość czasu są wyłączone, a włączane na jedyne 5..6h dziennie. W/g mnie gra nie warta świeczki.

  • #16 24 Lip 2015 00:34
    bendar
    Poziom 11  

    @Balu,
    widzę grubo poleciałeś z tymi przewodami od lan. Jeszcze nie wiem czy, aż tak będę szalał ale póki co położyłem lan-y do tv,kotłownia,kuchnia, pokoje,garaż oraz dwa na zewnątrz do kamerek. Przewody alarmowe też rozciągnąłem (po 6 żył) głownie do czujek PIR oraz do czujników temperatury i klawiatury. Od kolegi Danies94 chyba zapożyczę pomysł i dodam otwieranie drzwi na NFC.

    PS. Jak myślicie czy skrętka którą dajemy do sterowania nie będzie wrażliwa na działanie przewodów elektrycznych, przecież siłą rzeczy będą one położone wzdłuż przewodów zasilających (na studiach jeden prof. poświecił semestr by uświadomić nas jakie to zło ).

  • #17 24 Lip 2015 08:42
    makiawelli
    Poziom 9  

    Nie powinna być, skrętka jest jak nazwa wskazuje skręcona w odpowiedni sposób to co indukuje się w połowie "okresu" skrętki niweluje się z zakłócenieniem zindukowanym w drugiej połowie.

  • #18 24 Lip 2015 17:01
    Balu
    Poziom 38  

    @bendar, kable do kontaktronów do okien, drzwi (w drzwi są takie fajne wkręcane kontaktrony, że ich nie widać w ogóle), do zbiciówek w okna, do rolet wibracyjne.
    Co do "grubo poleciałeś" - zobaczysz jak wszystko zepniesz i się okaże że gdzieś jeden kabel uszkodziłeś...

  • #19 24 Lip 2015 17:10
    Futrzaczek
    Admin Grupy Retro

    Danies94 napisał:
    1. Nie stosuję rezystorów. Działa tak jak na schemacie.

    Działać może i działa, zobaczymy jak długo.

    Poza tym - masz bardzo długie przewody, rozprowadzone po całym mieszkaniu. Czy przed płytką Raspberry wstawiłeś jakieś zabezpieczenia przez przepięciami w nich indukowanymi, czy też wpiąłeś "na żywca", prosto do płytki?

  • #20 11 Lip 2016 15:29
    piterek-23
    Poziom 32  

    Danies94 napisał:
    Jest to aplikacja Trigger dostępna w sklepie google play. Można w niej tworzyć zadania które wykonują się po zbliżeniu konkretnej naklejki. W tym przypadku po zbliżeniu wcześniej skonfigurowanej naklejki, aplikacja w tle otwiera adres url.

    Możesz podpowiedzieć jak to skonfigurować? Tzn. aplikacje w Androidzie :)
    Wersja płatna czy darmowa?

  • #21 04 Paź 2016 15:54
    Hellcube
    Poziom 8  

    Ja swoje sterowanie zrobiłem na przekaźnikach radiowych z ALI (przełączniki zintegrowane z przekaźnikiem radiowym). Apka na androida pokazuje wystawioną przez RPI stronę w PHP. Zrobienie z tego pluginu do chrome było dość proste (przykre że trzeba zapłacić 5$ żeby móc mieć dodatek w chrome store). Dzięki temu wystarczy że zaktualizuje stronę to pozostałe punkty dostępowe się z automatu aktualizują. Zainspirowałeś mnie do zrobienia pomiarów temperatury. Jeszcze pracuje nad podpięciem przez ESP8266 kontaktora do drzwi oraz sterowania domofonem.
    Dodam że mam jeszcze na RPI camerę z detekcją ruchu i wysyłaniem fotki na maila oraz powiadomieniem na pushbullet.

    Projekt inteligentnego domu oparty na Raspberry Pi.

    https://www.youtube.com/watch?v=6uz5Pf_ia8Q

  • #22 05 Paź 2016 10:06
    siutek84
    Poziom 10  

    @Hellcube, na jakich przekażnikach z ali to zrobiłeś, podasz symbol tudzież linka?