Przejdź do głównej zawartości

Kolejny sterownik bramy garażowej

Udało mi się w końca zabrać za zrobienie sterownika bramy do własnego garażu. Wcześniej opisywałem prostszy sterownik, wykonany dla kogoś innego. Urządzenie tutaj prezentowane posiada całkiem inną funkcjonalność, tzn. oczywiście również realizuje podstawowe działanie otwierania i zamykania bramy, ale oprócz tego potrafi o wiele więcej.

Główne założenia jakie postawiłem sobie przy jego realizacji:
  • zdalne otwieranie/zamykanie bramy
  • sprawdzanie czy drzwi są zamknięte
  • podgląd z kamery
  • zabezpieczenie przed pozostawieniem otwartego garażu w przypadku odbicia bramy
  • powiadomienia na telefon
  • podłączenie bariery optycznej informującej czy auto znajduje się w świetle bramy
  • automatyczne włączanie światła w garażu gdy drzwi garażowe zostaną otwarte
  • wykrywanie czy "znana" osoba znajduje się w garażu
  • integracja z Home Assistant jako klient VPN
  • pomiar temperatury

Hardware
Tym razem postawiłem na trochę mocniejszy sprzęt, głównie ze względu na kamerę. Wybrałem Raspberry Pi Zero i dołożyłem ethernet na USB. W systemie wyłączyłem praktycznie cały zapis na kartę, co na pewno wydłuży pracę karty. Zobaczymy jak to się sprawdzi (backup oczywiście i tak zrobiony). Aplikacja jest napisana w pythonie, łatwo i przyjemnie. Komunikacja jest po MQTT, a kamerą zajmuje się motion. Płyteczka zrobiona na żelazku z wykorzystaniem zalegających rzeczy w szufladach.

Zabezpieczenie przed odbiciem
Czasem przed garażem potrafią zebrać się jakieś drobne śmieci czy liście i zdarzało się, że przy zamykaniu garażu brama potrafiła odbić bo napotykała przedwcześnie opór, a wiadomo człowiek nieraz się spieszy i nie czeka, aż garaż na pewno się zamknie. 
Potrzebowałem mechanizmu, który wykryje taką sytuacje i automatycznie spróbuje zamknąć garaż, zazwyczaj przy drugiej próbie już siły domykające są większe i jest ok.


Bariera optyczna
Kolejna kwestia, która jest przydatną funkcją to bariera optyczna na wjeździe. Jest ona aktywowana tylko gdy garaż jest otwarty, nie ma potrzeby, żeby pracowała przy zamkniętej bramie. Sterownik posiada super jasną dwukolorową diodę, która informuje czy coś znajduje się w świetle bramy. Taka sygnalizacja ma na celu poinformować kierowcę, że już nie musi więcej wjeżdżać do garażu aby niepotrzebnie nie zabierać za dużo miejsca. Auto zawsze jest parkowane tyłem i diodę sygnalizacyjną ma się zawsze na widoku przed sobą. Dodatkowo może to posłużyć do blokady zamknięcia drzwi garażowych gdy coś znajduje się w świetle bramy.

Wykrywanie użytkowników
Sterownik na bieżąco odpytuje router wifi (openwrt) o aktywne urządzenia i weryfikuje czy podłączony jest któryś z telefonów domowników do sieci garażowej (adresy MAC są znane). Jeśli wykryto by otwarcie garażu, a na liście klientów wifi nie byłoby żadnego telefonu domowników to mamy sytuacje alarmową. Tą funkcjonalność można również wykorzystać do automatycznego zamknięcia garażu, gdy znany telefon nie będzie aktywny np. przez 5 minut.

Automatyczne włączanie światła
Brakowało mi sensowniejszego oświetlenia gdy po zmroku wjeżdżam do garażu. Obecnie po otwarciu bramy główne światło jest włączane na zadany czas, np. 3 min co pozwala swobodnie wysiąść z auta i wyjść z garażu nie myśląc o wyłączaniu światła. Oczywiście jest możliwość zdalnego włączenia światła np. w celu sprawdzenia na kamerze czy auto jest w garażu


Zdalne otwieranie
Zdarza się, że zapomnę zabrać ze sobą kluczy od garażu i wtedy można poratować się zdalnym dostępem przez Home Assistant po https albo po VPNie.

Integracja z Home Assistant i powiadomienia
Większość opcji jest wyciągnięta na kartę, podgląd z kamery w czasie rzeczywistym, a każde otwarcie czy zamknięcie jest raportowane na Facebookowgo messengera z wykorzystaniem IFTTT.
Pewnego dnia tak sobie pomyślałem, że skoro w domu posiadam odpowiedni sprzęt z głośnikiem w postaci dozownika karmy dla kota to można go wykorzystać do powiadomień głosowych :) Zainstalowałem na nim serwer MPD, w Home Assistant skonfigurowałem Text-To-Speech i teraz gdy narzeczona wraca do domu to karmnik dla kota informuje mnie głosowo, że garaż został otwarty.
Gorzej jak wszyscy są w domu a karmnik przemówi, wtedy trzeba szybko lecieć bronić dobytku ;) Na fotce z kamery widok wnętrza został podmieniony, to nie mój garaż ;)

Internet w garażu
Garaż jest trochę oddalony od mieszkania i nie było możliwości podciągnięcia internetu z domu. Z racji, że posiadam UPC a w okół sporo osób ma aktywne UPC Wi-Free postanowiłem to wykorzystać stawiając router w trybie repeatera , ale szybko trafiłem na spory problem... typ zabezpieczeń.
Sieć jest rozgłaszana w trybie WPA2-Enterprise i praktycznie żaden z tanich routerów tego nie wspiera. Wziąłem na warsztat router TP-Link TL-MR3420 i postawiłem na nim Openwrt z odpowiednim trybem zabezpieczeń. Konfiguracja Openwrt nie należy do najprzyjemniejszych, ale udało się. Router łączy się do UPC Wi-Free i jednocześnie rozgłasza swoją własną sieć. Na sterowniku garażu postawiłem klienta OpenVPN, który raportuje po MQTT do brokera w domu. Niestety nie zmieściłem już klienta VPN w samym routerze.

Fotki z postępu prac:









Komentarze

Popularne posty z tego bloga

Smart Domofon

W tym artykule chciałem pokazać możliwość przerobienia zwykłego i praktycznie dowolnego domofonu na "smart" . Nie ma znaczenia jaki producent oraz czy jest on cyfrowy czy może analogowy. Odpowiednie przerobienie to kwestia analizy płytki PCB posiadanej słuchawki. Jedne słuchawki są bardzo wygodne do przeróbek, a niektóre wymagają więcej pracy.

Tablica Manipulacyjna

W przeróżnych pudełkach zawsze walają się u mnie jakieś przełączniki, pokrętła i innego rodzaju elementy. Córka (3 lata) od zawsze lubiła pstrykać wszelkimi guzikami. Wychodząc z mieszkania to ona zawsze przywołuje windę i wybiera piętro.

Kontroler czujników obecności - EspHome

Prezentowany moduł powstał z potrzeby obsługi wszystkich przewodowych czujników ruchu oraz czujników otwarcia. Sterownik jest zbudowany w oparciu o ESP32 LoLin. Dodatkowo obsługuje on domofon oraz dzwonek do drzwi. Całość jest oprogramowans z wykorzystaniem EspHome z pełną integracją z Home Assistant.