Kurs Raspberry Pi, projekty – #2 – Domoticz, DS18B20, maile

Kurs Raspberry Pi, projekty – #2 – Domoticz, DS18B20, maile

Raspberry Pi jest często używane jako kontroler automatyki domowej. Inteligentne sterowanie roletami i oświetleniem to mały wycinek tego co potrafi malinka z Domoticzem.

Na początku warto zacząć od ustawień systemu, podłączenia czujników temperatury (DS18B20) oraz konfiguracji powiadomień.

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.

Pomiar temperatury na Domoticzu.

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:

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!

Zestaw elementów do kursu

Gwarancja pomocy na forum Błyskawiczna wysyłka

Elementy niezbędne do wykonania wszystkich ćwiczeń z kursu podstaw Rasberry Pi dostępne są w formie gotowych zestawów!

Kup 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.

Pobieranie archiwum z Domoticzem.

Następnie wypakowujemy archiwum i usuwamy pobrany plik:

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:

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:

Podgląd pliku:

Plik z ustawieniami Domoticza.

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:

Poprawnie zainstalowany Domoticz.

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
Kurs Raspberry Pi – #15 – czujnik temperatury DS18B20

W tym odcinku kursu do malinki podłączymy termometr cyfrowy. Czujnik DS18B20 pozwala na… Czytaj dalej »

Schemat podłączenia DS18B20 do Raspberry Pi.

Po podłączeniu czujnika uruchamiamy interfejs 1-wire (w raspi-config) i restartujemy malinkę:

Uruchomienie interfejsu 1-wire.

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):

Poniżej przykład wyniku przy poprawnym podłączeniu:

Sprawdzenie podłączenia czujnika.

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). 

Szczegóły nowego czujnika.

Po kliknięciu Add, czujnik pojawi się na liście dostępnych sprzętów:

List sprzętów dostępnych w Domoticzu.

Teraz przechodzimy do zakładki Setup > Devices, gdzie zobaczymy nasz czujnik i podgląd temperatury:

Podgląd dostępnych czujników.

Klikamy zielone kółeczko ze strzałką i w nowym polu podajemy przyjazną nazwę czujnika:

Nadanie przyjaznej nazwy.

Od teraz czujnik będzie widoczny w zakładce Temperature:

Widget z czujnikiem.

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).

Podręczny widget z aktualną temperaturą.

Kliknięcie na pomarańczową ikonkę przeniesienie nas od razu do wykresów (które na początku będą oczywiście puste):

Podgląd wykresu z czujnika.

Z czasem jednak dane zaczną się kumulować, a w interfejsie zobaczymy przejrzyste wykresy:

Wykres temperatury z całego dnia.

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):

Podłączenie dwóch czujników temperatury do Raspberry Pi.

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:

Podłączenie drugiego czujnika DS18B20 do Domoticza.

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źć. 

Dostępne ustawienia.

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.

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.

Ustawienia konta pocztowego.

Po wpisaniu danych warto kliknąć przycisk Test - praktycznie od razu powinniśmy na naszego maila otrzymać taką wiadomość:

Wiadomość testowa z Domoticza.

Jeśli ją otrzymamy to koniecznie klikamy w Domoticzu czerwony przycisk Apply settings

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:

Nowe powiadomienie o wysokiej temperaturze.

Zatwierdzamy nowe powiadomienie i gotowe! Po testowym podgrzaniu termometru (najlepiej palcem) przyjdzie do nas wiadomość:

Powiadomienia mailowe z Domoticza.

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ć:

Podsumowanie

Za na mi 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 PiKoniecznie dajcie znać w komentarzach jak spodobały Wam się pierwsze kroki z Domoticzem!

Nawigacja kursu

Autor: Damian Szymański
Przykłady: Piotr Adamczyk

Domoticz, DS18B20, kurs, kursRPiProjekty, smart home

Komentarze

Komentarze do tego wpisu są dostępne na forum: