Automatyka domowa – Domoticz i Arduino [wstęp].

Wpis ten dedykuję osobom, które poznały w stopniu podstawowym Arduino z wykorzystaniem Arduino IDE (język zbliżony do C). A skoro tutaj trafiłeś – mogłeś zaszłyszeć czym jest Domoticz, ale o nim za chwilę. O ile proste podłączanie czujników i odczyty wartości nie są mi straszne, tak oprogramowanie całej automatyki domowej z wykorzystaniem samego Arduino wydało mi się przerażające Uśmiech Rzeczy, które należałoby oprogramować m.in.:

  • czas rzeczywisty
  • system zdarzeń
  • ładny interfejs www
  • może jakaś aplikacja na androida?
  • i wiele innych mechanizmów, które zapewniałyby stabilność systemu

Szukałem dość długo optymalngo rozwiązania, żeby było stosunkowo łatwe, ale i funkcjonalne.

Trafiłem w ten sposób na projekt Domoticz.

Domoticz

Jest to system, który potrafi zintegrować wiele rozwiązań różnych producentów sprzetu do automatyki inteligentnej.  Ponadto wygląda ładnie na pececie jak i komórce oraz umożliwia pobranie aplikacji do sterowania ze sklepu Google Play(dla Android).

Domoticz

Z najważniejszych warto wymienić integrację z :

  • centralą alarmową Satel Integra
  • weather underground
  • urządzeniami w standardzie X10
  • urządzeniami bezprzewodowymi pracującymi w paśmie 433mhz
  • Z urządzeniami Z-Wave
  • Fibaro

i cała masa innych!

Posiada także API,z którego można korzystać poprzez interfejs JSON (czyli wywołania http). I właśnie ta funkcja pozwoli nam na dwustronną komunikację z Arduino. Tutorial podzielony jest na 2 części – budowa i konfiguracja po stronie arduino oraz konfiguracja Domoticz. Po wszystkim zepniemy te 2 “konstrukcje” ethernetem i voila Uśmiech

Domoticz może być zainstalowany na dowolnej maszynie z systemem linux/windows lub na malince (de facto linux). Ja po testach na pececie oraz debianie, finalnie wybrałem malinkę. Fakt – generuje to nam startowy koszt rzędu ok 180 zł, ale mamy ciszę i – z tego co słychać w eterze – stabilne działanie. Co więcej  – Domoticz na linuxie potrafi sam się aktualizować. Wersja Windows’owa tego nie potrafi .

Arduino

Na początek wystarczy najtańszy klon np. UNO R3

mega uno r3

do kupienia na popularnym portalu aukcyjnym.

Do tego płytka stykowa (taka za 6 zł) oraz ethernet shield W5100:

w5100

 

Dla początkujących polecam świetny i krótki kurs rozpoczęcia zabawy z Arduino z Forbot:

http://forbot.pl/blog/artykuly/programowanie/kurs-arduino-w-robotyce-1-wstep-id936

Najprościej mówiąc: na Arduino zakładamy ethernet shield’a i z shielda wyprowadzamy przewody do diody jak na rysunku poniżej:

dioda

 

Przełączniki fizyczne na ścianę – koniecznie dzwonkowe! np. http://legrand-sklep.pl/664507-665001

Idea działania

Idea jest taka – z jednej strony Arduino musi być serwerem WWW, żeby odbierać polecenia od Domoticza via http. Przykładowe wywołanie http mogłoby wyglądać tak:

http://192.168.1.20/index.html?wlaczSwiatlo

gdzie 192.168.1.20 to dowolny adres IP w sieci ethernet (oczywiście adres Arduino). Zadaniem Arduino jest odebranie polecenia i odpowiednia interpretacja.

Z drugiej strony Arduino musi być klientem www i wysyłać wywołania do serwera Domoticz np. po wciśnięciu dzwonka do drzwi czy włączeniu światła.

W tym celu Arduino zwrotnie komunikuje się z Domoticzem np. tak:

http://192.168.1.30/zapaliłemŚwiatlo

a w domoticzu ikonka światła zmienia się na „włączoną żaróweczkę” .

 

Komunikacja dwustronna – schemat

5

Tak naprawdę polecenie JSON switchlight obsłuży nam 90% naszych potrzeb. Przydatne będą jeszcze te uruchamiające scenę, wysyłające LOG do Domoticza i w przyszłości kilka innych.

Aby zapoznać się ze sposobem wywoływania akcji w Domoticzu z wykorzystaniem JSON URL najłatwiej będzie obejrzeć API DOMOTICZ.

 

A tutaj kilka screenów z mojego działającego systemu:

przejdź do: część 1

Skomentuj wpis

komentarzy

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *



maltepe escort