AFE Firmware: rozszerzenie WiFi do sterownika bramy wjazdowej / garażowej

Udostępniam kolejną wersję AFE Firmware – typ T5. Główne cechy AFE Firmware T5 to:

  • współpraca z sterownikiem bramy wjazdowej (drzwi garażowych itp.) poprzez wysyłanie impulsu do sterownika bramy, który uruchamia silnik, czyli powoduje  otwieranie / zamykanie bramy
  • informowanie, czy brama jest otwarta / zamknięta dzięki zastosowaniu czujników magnetycznych, kontaktronów lub wyłączników krańcowych w zależności co jest podłączone.
  • dodatkowo obsługuje czujnik temperatury / wilgotności DHxx

Sprzęt obsługiwany przez ten firmware

  • Chip ESP8266 lub ESP8285
  • 1 Przekaźnik
  • Do 3 Diod LED
  • Do 2 Przycisków / Włączników
  • Do 2 Czujników magnetycznych / kontaktronów

Wyjście z przekaźnika należy podłączyć do sterownika bramy. Powoduje on chwilowe zwarcie, czyli efekt wciśnięcia przycisku. Czas zwarcia ustawia się w zakresie od 1 milisekundy do 2 sekund

Jedna dioda LED może być wykorzystywana do informowania o stanie i zdarzeniach w urządzeniu, np. łączenie się z siecią WiFi, odebraniem komendy itp. Pozostałe dwie diody można przypisać do czujników magnetycznych. Świecenie diod informuje o stanie czujników magnetycznych, kontaktronów lub wyłączników krańcowych.

Wspomniane czujniki magnetyczne wykorzystywane są do informowania, czy brama/drzwi są otwarte lub zamknięte.

  • Przy jednym czujniku magnetycznym będziemy poinformowani o dwóch stanach bramy: otwarta, zamknięta. Nie będziemy wiedzieli, czy brama jest częściowo otwarta lub całkowicie otwarta (przy zamontowaniu czujnika na zamknięciu bramy)
  • Przy zamontowaniu dwóch czujników; jednego przy całkowitym zamknięciu bramy, a drugiego otwarciu, będziemy wiedzieć, czy brama jest: całkowicie otwarta, częściowo otwarta lub zamknięta.
  • Gdy nie będą zainstalowane czujniki magnetyczne, to nie będziemy wiedzieć w jakim położeniu jest brama

Do urządzenia można podłączyć dwa przyciski, które wykorzystywane są do sterowania urządzeniem i/lub sterowania bramą.

Informacja: czujnik magnetyczny, kontaktron, czy wyłącznik krańcowy mają taką samą funkcjonalność, czyli zamykają lub przerywają obwód (płynie lub nie płynie przez nie prąd). Te elementy mają też taką samą funkcję w kontekście tego oprogramowania: informują, czy brama jest otwarta lub zamknięta. W dalszej części dokumentacji będę pisał tylko o czujnikach magnetycznych, przy czym informacje odnoszą się do tych 3 elementów.

Uwaga: O ile to oprogramowanie można wgrać np. do Sonoff’a Basic, to nie można takiego Sonoff’a podłączyć bezpośrednio do sterownika bramy. Na wyjściu Sonoff’a  jest 230V; puszczenie 230V na sterownik bramy spowoduje jego spalenie, pożar itp. Tutaj jest propozycja, jak można takiego Sonoff’a przerobić. Natomiast takie modyfikacje robisz na własną odpowiedzialność!!! Można też takiego Sonoff’a podłączyć do sterownika bramy z przekaźnikiem z cewką 230V między Sonoff’em, a sterownikiem bramy.

Funkcjonalności

  • Sterowanie przekaźnikami za pomocą protokołu MQTT lub HTTP lub przycisku (wysyłanie impulsu do sterownika bramy)
  • Czas impulsu można ustawić w zakresie od 1 do 2000 milisekund
  • Diody LED mogą sygnalizować stan urządzenia lub czujników magnetycznych, czyli czy poszczególne czujniki magnetyczne są otwarte /zamknięte
  • Urządzenie wysyła automatycznie wiadomość MQTT o stanie bramy – musi być podłączony do urządzenia minimalnie jeden czujnik magnetyczny
  • Urządzenie można „odpytać” o stan otwarcia bramy przez protokół MQTT lub HTTP
  • Można odpytać o stan poszczególnych czujników magnetycznych przez protokół MQTT lub HTTP
  • Jest możliwość ustawienia typów zastosowanych czujników magnetycznych: NO (normalnie otwarty), NC (normalnie zamknięty)
  • Stan otwarcia bramy wysyłane/odczytywane przez MQTT/HTTP są w pełni konfigurowalne
  • Konfigurację urządzenia wykonuje się przez przeglądarkę
  • Nowe wersje oprogramowania wgrywa się przez przeglądarkę

Instalacja:

  • Instrukcja instalacji jest identyczna, jak dla każdej innej wersji AFE Firmware.
  • Przed wgraniem firmware należy sprawdzić wersje chip’a ESP, które posiada urządzenie (ESP8266 / ESP8285)
  • Podczas pierwszego uruchomienia pamięć urządzenia jest czyszczona oraz ładowane są wartości domyślne dla urządzenia.  Pierwsze uruchomienie może potrwać ok. 1-2min.

Konfiguracja

Szczegółowa konfiguracja wszystkich wersji AFE Firmware jest opisana tutaj.

Poniżej pokazane są ekrany specyficzne dla wersji T5

Ekran do konfiguracji urządzenia

W konfiguracji urządzenia nadaje się nazwę urządzeniu, wybiera się elementy podłączone do  urządzenia oraz metody sterowania MQTT i / lub HTTP

Ekran konfiguracji urządzenia

Ekran konfiguracji urządzenia

Ekran do konfiguracji przekaźnika

Konfiguracja przekaźnika to wybór GPIO, do którego podłączony jest przekaźnik oraz czas, na jak długo przekaźnik ma być zwarty (długość impulsu)

Ekran konfiguracji przekaźnika

Ekran konfiguracji przekaźnika

Ekran do konfiguracji przycisku

Przycisk może mieć dwie funkcje.

  • przycisk systemowy lub
  • tylko sterowanie przekaźnikiem

Przycisk systemowy:

  • krótkie naciśnięcie: zwiera przekaźnik na skonfigurowany czas. Funkcja jest aktywna tylko gdy do przycisku przypisany jest numer sterowanego przekaźnika,
  • naciśnięcie na czas od 5 do 10 sekund uruchamia tryb konfiguracyjny
  • naciśnięcie powyżej 10 sekund uruchamia konfigurację urządzenia w trybie hot-spot.
Ekrany konfiguracji przycisku

Ekrany konfiguracji przycisku

Ekran konfiguracji diod LED

W tej sekcji przypisujemy GPIO, do których podłączone są diody LED. Każdej diodzie można ustawić tryb świecenia. Jednej diodzie LED można przypisać funkcję informowania o stanie urządzenia oraz występujących zdarzeniach tzw. LED systemowy.

Ekran konfiguracji diod LED

Ekran konfiguracji diod LED

Konfiguracja czujnika magnetycznego, kontaktronu lub wyłącznika krańcowego

Każdy czujnik magnetyczny musi posiadać unikalną nazwę. Jest to konieczne, gdy do urządzenia podłączy się dwa czujniki.

Każdy czujnik, może mieć ustawiony tryb NO lub NC oraz można do niego przypisać jedną diodę LED, która będzie sygnalizować, czy czujnik jest zwarty lub rozwarty.

Parametry czułości, należy ustawić eksperymentalnie, tak aby wyeliminować potencjalne drgania czujników, które mogą powodować wysyłanie niepoprawnych wartości stanu bramy.

Ekran konfiguracji czujnika magnetycznego

Ekran konfiguracji czujnika magnetycznego

Ekran konfiguracji stanów bramy

Aby urządzenie wysyłało poprawny stan bramy, czyli

  • brama jest zamknięta,
  • otwarta,
  • bądź częściowo otwarta

konieczne jest odwzorowanie stanów czujników magnetycznych na faktyczny stan bramy.

Ekran konfiguracji stanów bramy

Ekran konfiguracji stanów bramy

Konfiguracja czujnika temperatury oraz wilgotności z rodziny DHT

 

Ekran konfiguracji czujnika DHxx

Ekran konfiguracji czujnika DHxx

Sterowanie oraz kontrolowanie urządzenia

Urządzenie z AFE Firmware T5 obsługuje te same żądania HTTP lub MQTT, jak każda inna wersja AFE Firmware. Oczywiście nie są obsługiwane przez T5 żądania związane ze sprzętem, który nie jest wymieniony, jako sprzęt obsługiwany przez tę wersję AFE Firmware.

Oprogramowanie wysyła automatycznie po MQTT wszystkie zmiany stanu bramy, przekaźnika oraz zmiany temperatury lub wilgotności. Urządzenie nie wysyła automatycznie informacji o zmianie stanu poszczególnych czujników magnetycznych. O ich stan można odpytać urządzenie wysyłając żądanie MQTT lub HTTP. Stany bramy w zasadzie odpowiadają wartościom czujników magnetycznych i w większości przypadków nie będzie konieczności analizowania w jakim stanie jest danym  momencie czujnik magnetyczny

openHAB z wykorzystaniem protokołu MQTT

Zakładając, że:

  • nazwa skonfigurowanego brokera MQTT: broker
  • Nazwa tematu MQTT w konfiguracji brokera MQTT : /brama/
  • Czujniki magnetyczne mają nazwy: C1, C2

Plik konfiguracyjny items

Przykładowa sitemap’a

OpenHab po HTTP

Urządzenie sterowane żądaniami HTTP z openHAB jest ograniczone do kilku komend

  • puszczanie sygnału do sterowania bramy, aby ten uruchomił silnik
  • uruchamianie trybu konfiguracji
  • reset urządzenia

Pozostałe żądania HTTP opisane w kolejnym rozdziale są znacznie trudniejsze do oprogramowania w openHab i nie będę ich opisywał. Sugeruję korzystanie z MQTT w openHab.

Zakładając, że:

  • Adres IP urządzenia: 192.168.2.125

Plik konfiguracyjny items

Przykładowa sitemap’a

Sterowanie urządzeniem komendami HTTP
Komendy uruchamiane na poziomie urządzenia

Format:

  • http://adres-ip-urządzenia/?command=Komenda

Komendy

  • reboot – restartuje urządzenie
  • configurationMode – uruchamia urządzenie w trybie konfiguracji
Komendy dla bramy

Format:

  • http://adres-ip-urządzenia/?device=gate&command=Komenda

Komendy

  • toggle– wysyłanie sygnału do sterownika bramy
  • get – odczyt pozycji bramy: (open, closed, partiallyOpen)
Komendy dla czujnika magnetycznego

Format:

  • http://adres-ip-urządzenia/?device=contactron&name=NazwaCzujnika&command=Komenda

NazwaCzujnika jest nadawana czujnikowi w panelu konfiguracyjnym. Każdy czujnik w ramach urządzenia musi mieć unikalną nazwę.

Komendy

  • get – zwraca informację, czy czujnik jest zwarty  lub rozwarty (open, closed)
Komendy dla czujnika temperatury DHT (DH11,DH21, DH22)

Format:

  • http://adres-ip-urządzenia/?device=dht&name=temperature&command=Komenda
  • http://adres-ip-urządzenia/?device=dht&name=heatIndex&command=Komenda
  • http://adres-ip-urządzenia/?device=dht&name=humidity&command=Komenda

Komendy

  • get – odczytuje temperaturę (name=temperature), temperaturę odczuwalną (name=heatIndex) lub wilgotność (name=humidity) lub punkt rosy (name=dewPoint)

Zanim zdecydujesz zainstalować AFE Firmware przeczytaj pełną dokumentację.

Pobierz aktualną wersję.

Udostępnij
  • 1
    Share

adrian

Autor blog'a Smartny Dom

Może Ci się również spodoba

33
Dodaj komentarz

Proszę Zaloguj się aby komentować
19 Wątek skomentowany
14 Odpowiedzi w wątku
6 Obserwujących
 
Komentarz z największa reakcją
Gorący wątek
9 Liczba komentowanych autorów
lukas121jackowisomappaloosarysiok Ostatnio komentowani autorzy
  Subskrybuj  
najnowszy najstarszy oceniany
Powiadom o
slawekz
Użytkownik
slawekz

Ciekawe rozwiązanie. Od jakiegoś czasu zastanawiałem się nad sterowaniem mojego napędu bramy Faac 741. Z jakim napędem to rozwiązanie było testowanie ? Jakiś przykładowy schemat połączenia do esp8266 do elektroniki bramy ? W Faac 741 mam złącza:
OPEN A- całkowite otwarcie bramy
OPEN B – częściowe otwarcie bramy (furtka)
J5 Limits – złącze wyłączników krańcowych.
O ile OPEN A i B można podłączyć do GPIO i sterować poprzez zamykanie obwodu przez przekaźnik to nie wiem jak podłączyć GPIO pod złącze J5 które zamyka obwody otwarty/zamknięty za pomocą kontraktonu.
Czy w AFE jest możliwe sterowanie dwoma stanami bramy OPEN A i B ?

Krzysztofch
Użytkownik
Krzysztofch

Wlasnie przeczytalem ten temat i tak sie zastanawiam czy te diody moge podlaczyc bezposrednio do GPIO?chodzi o te trzy diody w konfiguracji.

Maciek
Użytkownik
Maciek

Mam dwa pytania:1. Podłączę czujnik DHT pod GPIO 14. Pod jakie GPIO mogę podłączyć kontaktron lub kontaktrony. Jak rozumiem potrzebuję jeszcze wolne GPIO.2. Czy mogę użyć tylko jednego kontaktronu?BTW dzięki za opracowanie takiego oprogramowania.

rysiok
Użytkownik
rysiok

Jakie są możliwości wprowadzenia obsługi czujnika 1-wire DS18B20 do wersji T5?

appaloosa
Użytkownik
appaloosa

Pytanie – czy można przystosować SONOFFa SV (5V-24V) do sterowania automatyką bramy? Jeśli tak to co trzeba zrobić? Gdzie znajdę opisy pinów do SONOFF SV

PS. Próbowałem wgrać testowo firmware jako samodzielny włącznik WiFi i po zapisaniu konfiguracji SONOFF SV przestaje odpowiadać, trzeba go resetować przez wgranie firmware od nowa.

isom
Użytkownik
isom

Sonoff SV ma przekaźnik na GPIO 12 , GPIO 0 to przycisk a GPIO 4 , 5 i 14 masz opisane na płytce drukowanej tam gdzie jest takich 9 pinów gdzie trzy to GND kolejne trzy to 3,3V i trzy to GPIO 4,5,14 .Spróbuj wgrać wersję dla ESP-8285 i najlepiej Flash Download Tools  zacznij od T-0  najmniej konfiguracji. Jak się uda to T-5 i np GPIO 4 przycisk do ręcznej obsługi bramy , GPIO 14 kontaktron jako czujnik otwarcia , a GPIO 12 jako przekaźnik 

appaloosa
Użytkownik
appaloosa

Dzięki – w miarę to ogarnąłem, kupiłem też kontaktrony. Na razie użyję jednego SONOFFa do sterowania zamkiem magnetycznym do otwarcia furtki.

Maciek
Użytkownik
Maciek

Tu jeszcze inny przykład na przeróbkę sonoff:https://www.instructables.com/id/Sonoff-Garage-Door-Opener/Wygląda na prostszy – nie trzeba skrobać ścieżek ale prawdę powiedziawszy nie sprawdzałem czy uzyskamy to samo. Jeśli ktoś mógłby obadać tą metodę byłbym wdzięczny.Wczoraj zabrałem się za T5 i pod wpływem powyższych postów niechcący polutowałem wszystkie kable (czujnik i kontaktron) pod DS18B20 (dzwoniło mi coś w głowie o wodoodpornej obudowie). Jak uruchomiłem soft to podczas konfiguracji się zorientowałem, że prosi o numer DH… Niezły ubaw miałem wieczorem i polutowałem całkiem nową wersję. Na razie coś mi sonoff zdechł, było późno wieczorem i sukcesu nie ma. Napiszę jak mi się uda zakończyć projekt.

isom
Użytkownik
isom

Zamiast ciąć laminat w sonoff basic , lepiej kupić tańszy i lepszy moduł do obsługi bramy https://pl.aliexpress.com/item/ESP8266-220V-10A-DC-7-30V-Network-Relay-WIFI-Module-GM/32740623994.html?Raz, że masz uniwersalne zasilanie , dwa wejście na czujnik jest z optoizolacją (transoptor)Przycisk otwarcia mozna zrobić na TX lub RX i wszystko . Dodatkowo ESP 12 jest mniej podatny na zakłócenia i ma lepszą antenkę. Działa z AFE sprawdzałem.

Maciek
Użytkownik
Maciek

Zgadzam się. Tylko już miałem wolny sonoff basic i już z chęci pomajsterkowania pociołem laminat 🙂 

Maciek
Użytkownik
Maciek

Adrian, T5 poszedł od pierwszego, no dobra drugiego kopa (pisałem wcześniej o problemie z flashowaniem). Doskonała dokumentacja! Do T5 dodałem DHT21 i jeden kontaktron. W przyszłości dorobię jeden włącznik aby sterować sonoffem z przycisku ściennego.Mam pytania funkcjonalne:1. W jakim celu dodałeś do sitemapy obie linie: Default item=t5_gate_state_contactDefault item=t5_gate_state_textPrzecież już pierwsza linia podaje wlaściwy wynik.2. Sekcja „Czujniki magnetyczne” jest nadmiarową skoro „Stan” wskazuje nam czy brama jest OPEN czy CLOSED? Jakie zastosowanie może znaleźć „Pobierz wartość”?3. Do czego służy sekcja „Przekaźnik”?Dziękuję jeszcze raz za AFE T5. Cieszę się, że udało Ci się go wykonać. Zapewne znajdzie u mnie zastosowanie 🙂

Maciek
Użytkownik
Maciek

 Byłem malo precyzyjny. W pytaniu 2 i 3 też chodziło mi o sitemapę którą przedstawiłeś na zdjeciu. Konfigurację zakończyłem z sukcesem.1. Teraz rozumiem.2. Czyli po uruchomieniu się sonoffa po braku napięcia stan kontaktronu będzie nieznany? Jeśli tak jest muszę dodać taki przycisk ponieważ nigdy nie wiadomo kiedy był spadek napięcia. Należało by zawsze klikać „Pobierz wartość”.3. Do czego służy sekcja „Przekaźnik” w sitemapie, którą widzimy powyżej na zdjeciu z openhab?

Maciek
Użytkownik
Maciek

Dzięki, teraz wszystko jasne. Dodałem też grupę, której zadaniem jest zliczanie wszystkich otwartych itemów z dodatkiem (ile_otwarte).Wcześniej dla użytkowników mi to działało jako, że byli zdefiniowani jako Switch. Jak użytkownik jest w domu to jest ON. Jak nie ma to jest OFF. Wtedy ta metoda działa idealnie.Dla kontaktronów musiałbym to jakoś przerobić, żeby zliczało wszystkie „OPEN”…

Maciek
Użytkownik
Maciek

Zrobiłem ostatecznie inaczej:

Dziękować.@adrian sprawdziłęm też, że obecnie po zaniku zasilania stan kontaktronu nie jest aktualizowany. 1. Stan kontaktronu i openhab jest „otwarty”.2. Odłączyłęm zasilanie.3. Zmieniłem stan kontaktronu na „zamknięty”4. Podłączyłem zasilanie.5. Pokazał stan „otwarty”.

isom
Użytkownik
isom

Ad 1 jeżeli to sonoff basic , to pamiętaj że na wyjściu przekaźnika masz 230 V , do obsługi bramy trzeba go przerobić , możesz podłączyć np tak czujnik DHT pod GPIO 3 – pin RX w sonoff a kontaktron do GPIO 14 .

Ad 2 Oczywiście że możesz użyć jednego kontaktronu  ( zwarty brama zamknięta – rozwarty otwarta )

Maciek
Użytkownik
Maciek

1. Tak , tak pamiętam. To będzie sonoff basic. Czyli kontaktron idzie do GPIO 14 i GND. Trzeba dodać rezystor przy kontaktronie?

2. OK. Dzięki.

isom
Użytkownik
isom

Maciek jeżeli kontaktron będzie blisko samego sonoffa , to możesz pominąć stosowanie rezystora natomiast jeżeli będzie to kilka kilkanaście metrów przewodu to daj 4,7 k między 3,3V a GPIO 14 

Maciek
Użytkownik
Maciek

Będzie z 5m. Dam ten rezystor. Dzięki.

lukas121
Użytkownik
lukas121

Dobrze by było dodać, jest mniejszy i występuje w wodoodpornej obudowie.