Kursy • Poradniki • Inspirujące DIY • Forum
Artykuł ten jest częścią serii wpisów opisujących praktyczne wykonanie różnych projektów bazujących na Raspberry Pi (popularnym komputerze jednopłytkowym). W tym artykule skupiamy się na wykonaniu konkretnego projektu. Jeśli nie znasz podstaw tego układu (instalacja, konfiguracja, praca z Linuksem) to niezbędne informacje znajdziesz w poprzednim kursie podstaw Raspberry Pi.
Inteligentny budynek z Raspberry Pi
Coraz częściej spotykamy się z inteligentnymi budynkami, które za pomocą odpowiednich czujników oraz elementów wykonawczych mogą ułatwić życie wszystkich domowników. Nawet prosta automatyka domowa jest bardzo pomocna - warto więc zainteresować się tym tematem w praktyce.
Oczywiście można zdecydować się na zakup jednego z gotowych zestawów smart home lub stworzyć własny system, którego sercem będzie Raspberry Pi. Oczywiście w tym artykule zajmiemy się właśnie tym drugim rozwiązaniem. Na szczęście nie musimy tworzyć takiego systemu samodzielnie od zera. Wszystko będzie bajecznie proste za sprawą Domoticza.
Czym jest Domoticz?
Domoticz to niezwykle popularne, darmowe oprogramowanie do tworzenia automatyki domowej. Za jego pomocą można zebrać informacje z czujników i połączyć je z elementami wykonawczymi. Dzięki temu możliwe jest np. sterowanie oświetleniem, przekaźnikami, mierzenie temperatury itd. Praktycznie całą konfigurację można "wyklikać" w interfejsie graficznym.
Domoticz pozwala na generowanie wykresów, powiadomień oraz raportów. Możliwe jest również konfigurowanie automatycznych mechanizmów typu: włącz światło o zachodzie słońca, zasłoń rolety, gdy jest za ciemno, włącz podlewanie ogrodu o 21:00 itd.
Dostęp do takiego systemu automatyki domowej, jest możliwy z poziomu przeglądarki Internetowej lub dedykowanych aplikacji mobilnych (iOS/Android).
Z czym współpracuje Domoticz?
Oprogramowanie jest bardzo ważne, ale ciężko sobie wyobrazić system smart home bez czujników, przełączników, sterowników rolet itd. Jak sprawa wygląda w tym przypadku? Nie mamy gotowych, pięknych i błyszczących urządzeń z logiem Domoticza. Do systemu możemy podłączyć samodzielnie "gołą" elektronikę, czyli np. przekaźniki, LEDy i termometry 1-wire tak jak robiliśmy to w kursie podstaw Raspberry Pi. Przykład podłączenia czujnika temperatury:
Dzięki temu każdy system może być dopasowany idealnie do naszych potrzeb, a przy okazji będzie stosunkowo tani.
Oprócz tego Domoticz współpracuje z różnymi gotowymi modułami. Możemy np. skonfigurować go do pracy z testowanymi niedawno modułami z serii BleBox, możemy podłączyć do niego elementy z serii Xiaomi Smart Home. Społeczność projektu jest olbrzymia, w sieci znaleźć można instrukcje podłączania naprawdę przeróżnych elementów w tym np. popularne, zdalnie sterowane gniazdka sieciowe, dzięki czemu nie trzeba samodzielnie majstrować przy 230V. Pora przejść do praktyki!
Gotowe zestawy do kursów Forbota
Komplet elementów Gwarancja pomocy Wysyłka w 24h
Elementy niezbędne do wykonania wszystkich ćwiczeń z kursu podstaw Rasberry Pi dostępne są w formie gotowych zestawów!
Zamów w Botland.com.pl »Jak zainstalować Domoticza na Raspberry Pi?
Do uruchomienia Domoticza potrzebne będzie nam Raspberry Pi z Raspbianem. Malinka powinna mieć dostęp do Internetu oraz włączoną opcję logowania przez ssh. Wszystkie te kroki zostały opisane w poprzednim kursie podstaw Raspberry Pi.
Gdy system jest gotowy możemy przejść do instalacji. Dla porządku tworzymy katalog "domoticz", a następnie (za pomocą polecenia wget) ściągamy do niego archiwum z najnowszą wersją programu.
mkdir domoticz
cd domoticz/
wget https://releases.domoticz.com/releases/release/domoticz_linux_armv7l.tgz
Pod podanym adresem zawsze znajduje się najnowsza, stabilna wersja Domoticza!
Następnie wypakowujemy archiwum i usuwamy pobrany plik:
tar xvfz domoticz_linux_armv7l.tgz
rm domoticz_linux_armv7l.tgz
Teraz musimy skonfigurować system w taki sposób, aby Domoticz startował samoczynnie w tle podczas włączania Raspberry Pi. W tym celu wykorzystujemy gotowy skrypt domoticz.sh:
sudo cp domoticz.sh /etc/init.d
sudo chmod +x /etc/init.d/domoticz.sh
sudo update-rc.d domoticz.sh defaults
Warto podejrzeć ten plik, znajdziemy tam ważne ustawienia. Plik można edytować na PC w ulubionym edytorze dzięki metodzie z tego artykułu: Jak zdalnie i wygodnie edytować skrypty na Raspberry Pi? lub bezpośrednio na Raspberry Pi:
sudo nano /etc/init.d/domoticz.sh
Podgląd pliku:
Znajdziemy tam między innymi ustawienia portu, na którym ma działać interfejs Domoticza (8080). Są tam też ustawienia użytkownika RPi, który będzie używany przez Domoticza. Na początek nie musimy nic zmieniać w tym pliku.
Po zainstalowaniu pozostaje nam zrestartować Raspberry Pi. Po ponownym uruchomieniu w dowolnej przeglądarce możemy wywołać adres naszej malinki z portem 8080, czyli w praktyce wchodzimy na adres np.: 192.168.1.32:8080. Jeśli wszystko przebiegło poprawnie to zobaczymy następujący panel:
Zgodnie z komunikatem na ekranie pora teraz podłączyć jakąś elektronikę. Zacznijmy od termometru cyfrowego. Za jego pomocą będziemy mogli z poziomu Domoticza sprawdzić aktualną temperaturę oraz podejrzeć wykres np. z całego dnia lub miesiąca.
Jak podłączyć termometr DS18B20 do Domoticza?
Termometr cyfrowy DS18B20 podłączamy tak samo jak podczas eksperymentów z Pythonem w kursie podstaw Raspberry Pi, czyli zgodnie z poniższym schematem. Należy koniecznie pamiętać o rezystorze podciągającym 4,7kΩ. Szczegółowa instrukcja podłączenia znajduje się we wspomnianym artykule:
Kurs Raspberry Pi – #15 – czujnik temperatury DS18B20
W tym odcinku kursu do malinki podłączymy termometr cyfrowy. Czujnik DS18B20 pozwala na precyzyjny pomiar temperatury, więc często... Czytaj dalej »
Po podłączeniu czujnika uruchamiamy interfejs 1-wire (w raspi-config) i restartujemy malinkę:
Po restarcie za pomocą polecenia lsmod sprawdzamy, czy widoczne są moduły sterownika o nazwach w1_gpio oraz w1_therm. Jeśli zobaczymy tylko w1_gpio (bez w1_therm) będzie to oznaczać, że system nie wykrył czujnika. Czyli w praktyce: interfejs działa, ale źle podłączyliśmy termometr.
Następnie za pomocą poniższego polecenia sprawdzamy, czy nasz czujnik jest na pewno widoczny (powinien pokazać się jego adres):
cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slaves
Poniżej przykład wyniku przy poprawnym podłączeniu:
Konfiguracja termometru w Domoticzu
Pora skonfigurować nasz nowy czujnik w Domoticzu. W tym celu w panelu dostępnym z poziomu przeglądarki wybieramy zakładkę Hardware i dodaje urządzenie zgodnie z poniższym zrzutem ekranu. W pole "Name" wpisujemy nazwę sprzętu - najlepiej wpisywać tutaj techniczne określenia np. symbol czujnika/interfejs (na ładne nazwy typu "Temperatura w pokoju" przyjdzie czas w dalszych krokach).
Rozwijając pole Type zobaczymy listę wszystkich urządzeń, które mogą współpracować z testowaną wersją Domoticza - jest tego naprawdę sporo.
Po kliknięciu Add, czujnik pojawi się na liście dostępnych sprzętów:
Teraz przechodzimy do zakładki Setup > Devices, gdzie zobaczymy nasz czujnik i podgląd temperatury:
Klikamy zielone kółeczko ze strzałką i w nowym polu podajemy przyjazną nazwę czujnika:
Od teraz czujnik będzie widoczny w zakładce Temperature:
Kliknięcie gwiazdki w lewym dolnym rogu panelu danego czujnika przypisze go do ulubionych. Czujnik taki będzie wtedy widoczny na stronie głównej Domoticza (Dashboard).
Kliknięcie na pomarańczową ikonkę przeniesienie nas od razu do wykresów (które na początku będą oczywiście puste):
Z czasem jednak dane zaczną się kumulować, a w interfejsie zobaczymy przejrzyste wykresy:
Domoticz i kilka czujników temperatury DS18B20
Oczywiście nasz system inteligentnego budynku aktualnie mieści się na biurku i ma walory głównie edukacyjne. W praktyce taki system powinien zawierać znacznie więcej czujników temperatury (np. dla każdego pomieszczenia). Jak więc dodać kolejne czujniki? Bardzo łatwo! Nie skorzystamy z tego teraz, ale warto wiedzieć dla ciekawostki jak to wykonać.
Termometry DS18B20 działają na interfejsie 1-wire, więc gdybyśmy mieli więcej czujników to wystarczy wpiąć kolejne sensory równolegle (zwróć uwagę na tylko jeden rezystor podciągający):
W Domoticzu wystarczy zaktualizować informacje o czujniku w zakładce Hardware (zaznaczamy czujnik i klikamy Update). Nie trzeba dodawać go drugi raz! Po chwili w zakładce Devices pojawią się odczyty z drugiego sensora:
Długa lista ustawień Domoticza
Oprogramowanie to ma bardzo rozbudowane ustawienia na szczęście przyjazny interfejs graficzny sprawia, że każdy sobie z nimi poradzi. W ramach "zadania domowego" polecam przeklikać przez opcje i sprawdzić co można tam znaleźć.
Zadnim przejdziesz dalej ustaw w Domoticzu swoją lokalizację (Settings > System > Location), dzięki temu system będzie wiedział m.in., o której w Twojej lokalizacji wschodzi i zachodzi słońce (przydatne np. do sterowania oświetleniem).
Powiadomienia mailowe w Domoticzu
Nikt nie będzie całe dnie sprawdzał Domoticza, aby weryfikować czy z jego systemem jest wszystko dobrze. Miłym akcentem są proste powiadomienia mailowe. Stwórzmy teraz powiadomienie, które będzie informowało nas mailem, gdy temperatura na podłączonym wcześniej czujniki przekroczy 30°C.
Analogicznie po podłączeniu czujnika wody można byłoby wysyłać powiadomienia np. o zalaniu mieszkania, a to bardzo praktyczna funkcja systemu smart home!
Zaczynamy od ustawień maila. W zakładce Setup > Email podajemy dane konta pocztowego, które ma być używane przez Domoticza (analogicznie jak w przypadku programów pocztowych). Przykładowo poniższe ustawienia oznaczają, że z konta kontakt w domenie forbot.pl będą wysyłane maile na adres alert w domenie forbot.pl. Drugi adres utworzyłem na potrzeby tego ćwiczenia, w praktyce ma to być Wasz adres email, na który będą przychodziły wiadomości. Uwaga! Do wysyłki najlepiej wykorzystać jakieś nowe konto założone u jednego z dostawców darmowej poczty.
Po wpisaniu danych warto kliknąć przycisk Test - praktycznie od razu powinniśmy na naszego maila otrzymać taką wiadomość:
Jeśli ją otrzymamy to koniecznie klikamy w Domoticzu czerwony przycisk Apply settings.
Wysyłanie maili z Gmaila nie działa, jeśli nie zezwolimy w ustawieniach danego konta na logowania z "mniej bezpiecznych" aplikacji. Szczegóły w pomocy Google »
Konfiguracja powiadomienia mailowego w Domoticzu
Na koniec wystarczy skonfigurować powiadomienie. Wybieramy zakładkę Temperature i na kafelku z naszym termometrem klikamy przycisk powiadomienia (Notifications). Tam tworzymy powiadomienie:
Zatwierdzamy nowe powiadomienie i gotowe! Po testowym podgrzaniu termometru (najlepiej palcem) przyjdzie do nas wiadomość:
Częstotliwość powiadomień ustawia się w zakładce Settings > Notifications > Notification Intervals. Domyślnie w przypadku czujników powiadomienia wysyłane są raz na 12h. Jeśli zmienimy tam wartość np. na 1 minutę to maile będą przychodziły do nas właśnie z taką częstotliwością (jeśli spełniony będzie warunek wyzwalający powiadomienie).
Dodatkowe artykuły, które mogą Cie zainteresować:
- Zdalne edytowanie skryptów na Raspberry Pi w wygodnym edytorze
- Kurs podstaw elektroniki
- Wykorzystanie termometru DS18B20 z Arduino
- Kurs podstaw Raspberry Pi
- Recenzja sterownika taśm LED współpracującego z Domoticzem
Podsumowanie
Za nami pierwsze eksperymenty z Domoticzem. Zachęcam do dokładnego sprawdzenia dostępnych ustawień oraz własnych testów. W kolejnym artykule dotyczącym tej tematyki zajmiemy się GPIO. Dzięki temu za pomocą Domoticza będziemy kontrolować wejścia i wyjścia malinki. Zajmiemy się też tworzeniem prostej logiki, co pozwoli na prawdziwą automatyzację. Ustawimy też podgląd z kamery podłączonej do malinki.
Na koniec przypominam, że jeśli coś z tego artykułu nie jest jasne to znak, że trzeba zerknąć do poprzedniego kursu podstaw Raspberry Pi. Koniecznie dajcie znać w komentarzach jak spodobały Wam się pierwsze kroki z Domoticzem!
Nawigacja kursu
Autor: Damian Szymański
Przykłady: Piotr Adamczyk
Powiązane wpisy
Domoticz, DS18B20, kurs, kursRPiProjekty, smart home
Trwa ładowanie komentarzy...