Powiadomienia
Wyczyść wszystko

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

34 Wpisów
9 Użytkownicy
2 Likes
7,650 Wyświetleń
adrian
Wpisów: 3981
Admin Zasłużony dla Forum, Patron Strony
Autor tematu
(@adrian)
Szefu
Dołączył: 10 lat temu
wpf-cross-image

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

Switch  t5_gate                     "Brama"                 {mqtt=">[broker:/brama/gate/cmd:command:ON:open],>[broker:/brama/gate/cmd:command:OFF:close]"}

Contact t5_gate_state_contact       "Stan [%s]"             {mqtt="<[broker:/brama/gate/state:state:OPEN:open],<[broker:/brama/gate/state:state:OPEN:partiallyOpen],<[broker:/brama/gate/state:state:CLOSED:closed]"}
String  t5_gate_state_text          "Opis [%s]"             {mqtt="<[broker:/brama/gate/state:state:default]"}

Switch t5_contactron_1_get          "Czujnik 1"             {mqtt=">[broker:/brama/C1/cmd:command:ON:get],>[broker:/brama/C1/cmd:command:OFF:get]"}
Contact t5_contactron_1_state       "Stan [%s]"             {mqtt="<[broker:/brama/C1/state:state:OPEN:open],<[broker:/brama/C1/state:state:CLOSED:closed]"}

Switch t5_contactron_2_get          "Czujnik 2"             {mqtt=">[broker:/brama/C2/cmd:command:ON:get],>[broker:/brama/C2/cmd:command:OFF:get]"}
Contact t5_contactron_2_state       "Stan [%s]"             {mqtt="<[broker:/brama/C2/state:state:OPEN:open],<[broker:/brama/C2/state:state:CLOSED:closed]"}

Number  t5_temperature              "Temperatura [%.1f °C]" <temperature>   {mqtt="<[broker:/brama/temperature:state:default]"}
Number  t5_humidity                 "Wilgotoność [%.1f %%]" <humidity>      {mqtt="<[broker:/brama/humidity:state:default]"}
Number  t5_heat_index               "Odczuwalna  [%.1f °C]" <temperature>   {mqtt="<[broker:/brama/heatIndex:state:default]"}
Number  t5_dew_point                "Punkt Rosy [%.1f]"                      mqtt="<[broker:/brama/dewPoint:state:default]"} 

Switch  t5_configuration_mode       "Konfiguracja"          {mqtt=">[broker:/brama/cmd:command:ON:configurationMode],>[broker:/brama/cmd:command:OFF:configurationMode]"}
Switch  t5_reboot                   "Reboot"                {mqtt=">[broker:/brama/cmd:command:ON:reboot],>[broker:/brama/cmd:command:OFF:reboot]"}

Przykładowa sitemap'a

sitemap T5 label="T5" {


    Frame label="Brama" {
        Switch  item=t5_gate                mappings=[ON="Start"] visibility=[t5_gate!=ON]
        Switch  item=t5_gate                mappings=[OFF="Start"] visibility=[t5_gate!=OFF]
        Default item=t5_gate_state_contact
        Default item=t5_gate_state_text
   }

   Frame label="Czujnik magnetyczne" {
        Switch  item=t5_contactron_1_get    mappings=[ON="Pobierz wartość" ] visibility=[t5_contactron_1_get!=ON]
        Switch  item=t5_contactron_1_get    mappings=[OFF="Pobierz wartość" ] visibility=[t5_contactron_1_get!=OFF]
        Default item=t5_contactron_1_state
        Switch  item=t5_contactron_2_get    mappings=[ON="Pobierz wartość"] visibility=[t5_contactron_2_get!=ON]
        Switch  item=t5_contactron_2_get    mappings=[OFF="Pobierz wartość"] visibility=[t5_contactron_2_get!=OFF]
        Default item=t5_contactron_2_state
   }


   Frame label="Czujnik DHT" {
        Default  item=t5_temperature
        Default  item=t5_humidity
        Default  item=t5_heat_index
        Default  item=t5_dew_point
   }

    Frame label="Zaawansowane" {
        Switch  item=t5_configuration_mode mappings=[ON="Uruchom"] visibility=[t5_configuration_mode!=ON]
        Switch  item=t5_configuration_mode mappings=[OFF="Uruchom"] visibility=[t5_configuration_mode!=OFF]
        Switch  item=t5_reboot mappings=[ON="Reboot"] visibility=[t5_reboot!=ON]
        Switch  item=t5_reboot mappings=[OFF="Reboot"] visibility=[t5_reboot!=OFF]
    }
}
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

Switch  t5_http_gate                     "Brama"            {http=">[ON:POST: http://192.168.2.125/?device=gate&command=toggle ] >[OFF:POST: http://192.168.2.125/?device=gate&command=toggle ]"}
Switch  t5_http_configuration_mode       "Konfiguracja"     {http=">[ON:POST: http://192.168.2.125/?command=configurationMode ] >[OFF:POST: http://192.168.2.125/?command=configurationMode ]"}
Switch  t5_http_reboot                   "Reboot"           {http=">[ON:POST: http://192.168.2.125/?ommand=reboot ] >[OFF:POST: http://192.168.2.125/?command=reboot ]"}

Przykładowa sitemap'a

sitemap T5 label="T5" {

    Switch item=t5_http_gate mappings=[ON="Start"] visibility=[t5_http_gate!=ON]
    Switch item=t5_http_gate mappings=[OFF="Start"] visibility=[t5_http_gate!=OFF]
    Switch item=t5_http_reboot mappings=[ON="Reboot"] visibility=[t5_http_reboot!=ON]
    Switch item=t5_http_reboot mappings=[OFF="Reboot"] visibility=[t5_http_reboot!=OFF]
    Switch item=t5_http_configuration_mode mappings=[ON="Uruchom"] visibility=[t5_http_configuration_mode!=ON]
    Switch item=t5_http_configuration_mode mappings=[OFF="Uruchom"] visibility=[t5_http_configuration_mode!=OFF]

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

Format:

Komendy

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

Format:

Komendy

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

Format:

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:

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

33 Odpowiedzi
Wpisów: 11
(@slawekz)
Bywalec
Dołączył: 6 lat temu

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 ?

Odpowiedz
6 Odpowiedzi
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 10 lat temu

Szefu
Wpisów: 3981

testowałem z napędem Nice, ale nie na oryginalnym sterowniku bo mi padł chyba ze starość. Aktualnie korzystam z polskiego zamiennika, takiego jak tutaj.

Testowałem na czujnikach magnetycznych dodatkowych - bez wykorzystania krańcówek - za zimno było do tej pory, żebym mógł bardziej pogrzebać w swojej bramie.

To co robię to puszczam impuls pod ten przycisk PRG, który uruchamia bramę w trybie: start - stop - start, a 2 czujniki magentyczne. Jeden zamontowany na zamknięciu bramy, drugi na otwarciu daja mi informację, czy brama jest otwarta, częściowo otwarta lub zamknięta 

Jak się zrobi cieplej to będę chciał podpiąć się pod czujniki krańcowe i wyeliminować magnetyczne, bo dzisiaj to są dodatkowe kable. Muszę pomierzyć co tam jest napięciowo na tych KC, KO w Twoim przypadku J5.

Jaką funkcję w Twoim sterowniku ma OPEN A, OPEN B?

Odpowiedz
(@slawekz)
Dołączył: 6 lat temu

Bywalec
Wpisów: 11

Ja chciałbym wykorzystać czujnik krańcowy ten który jest w napędzie. Tak jak już pisałem OPEN A - zwarcie otwiera całą bramę a zwarcie OPEN B otwiera tylko częściowo jako furtkę. W AFE trzeba by rozszerzyć funkcjonalność o obsługę drugiego przekaźnika.
Schemat połączeń jest na stronie 11 dokumentacji.
http://3as.pl/data/documents/740-741.pdf
(nie wiem jak wkleić tu zdjęcie... )

Odpowiedz
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 10 lat temu

Szefu
Wpisów: 3981

to teraz to oprogramowanie nie obsłuzy Ci A i B - tylko jedno z nich.

Odpowiedz
(@slawekz)
Dołączył: 6 lat temu

Bywalec
Wpisów: 11

Tak wiem, że obecna wersja obsługuje jeden przekaźnik. Może kiedyś jak będziesz wypuszczał nową wersję to warto uwzględnić obsługę dwóch przekaźników. Zastanawiam się nad podpięciem kontraktonu ale chyba bez pomierzenia napięcia na złączu nic więcej się nie wymyśli na tą chwilę.

Odpowiedz
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 10 lat temu

Szefu
Wpisów: 3981

tak do kolejnych wersji do dodania 

- i trzeba przenalizować jak te zamknięciowe czujnik sa podłączone do oryginalnego sterownika, żeby nie "wybuchło" 😉

Będe to robil u siebie jak pogoda pozwoli.

Odpowiedz
(@slawekz)
Dołączył: 6 lat temu

Bywalec
Wpisów: 11

U mnie pomierzone na Faac 741. Napięcie na stykach 21V. Więc trzeba przekaźniki zastosować. W sumie musi być do mojej bramy układ z 4 przekaźnikami, stabilizatorem napięcia na 3,3 V lub 5 V, ESP8266 + ewentualnie czujnik temperatury .

Odpowiedz
Wpisów: 490
Donator 2K20 Zasłużony dla Forum, Donator 2K19
(@krzysztofch)
Ekspert
Dołączył: 6 lat temu

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

Odpowiedz
2 Odpowiedzi
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 10 lat temu

Szefu
Wpisów: 3981

bezposrednio nie, musisz użyć rezystor w zależności od diody

Odpowiedz
(@jackow)
Dołączył: 6 lat temu

Świeżak
Wpisów: 1

Cześć! czy ktoś spróbował zintegrować sterowanie bramą w Domoticz? może są gdzieś zebrane wskazówki jak to zrobić?

Odpowiedz
Wpisów: 222
Donator 2K17
(@tribon)
Weteran
Dołączył: 7 lat temu

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.

Odpowiedz
isom
Wpisów: 5085
 isom
Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
(@isom)
Szef wszystkich szefów
Dołączył: 6 lat temu

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 )

Odpowiedz
1 Reply
Donator 2K17
(@tribon)
Dołączył: 7 lat temu

Weteran
Wpisów: 222

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.

Odpowiedz
Strona 1 / 4
Udostępnij: