Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny

p.kaczmarek2 25 May 2022 09:18 1464 1
Ochrona Domu
  • ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Witajcie moi drodzy.
    Pokażę tutaj nieco mniej typowy rodzaj przekaźnika z WiFi, który pozwala wykorzystać posiadany przez nas wcześniej przycisk bistabilny do sterowania urządzenia.
    Klasyczne przekaźniki IoT typu "sonoff" posiadają tylko mały przycisk chwilowy (monostabilny) na obudowie, więc jak mamy np. lampkę z przyciskiem bistabilnym to musimy z niego zrezygnować. Oczywiście pozostawienie jej włącznika przed inteligentnym przekaźnikiem nic nam nie da, bo w razie wyłączenia jej na jej przycisku przekaźnik i tak by nie działał.
    Dla jasności - przycisk bistabilny ma dwa stany w których zostaje jak go przełączymy (zostaje na "On" lub "Off"), a monostabilny ma jeden stały stan, gdy go wciśniemy to puszczeniu zawsze wraca do pierwszego stanu.
    Jest jednak dobre rozwiązanie tego problemu - wystarczy podłączyć do naszego inteligentnego przekaźnika wspomniany wcześniej przycisk bistabilny i tak go obsłużyć w kodzie programu, by zmiana jego stanu skutkowała zmianą stanu przekaźnika. Jest to o tyle wygodne, że równie dobrze wtedy możemy zmieniać stan przekaźnika poprzez WiFi. Jedyne, co wtedy się zmieni to to, że pozycje "On" i "Off" na przycisku bistabilnym stracą wtedy na znaczeniu, bo jego rzeczywista pozycja nie będzie miała znaczenia dla sterownika, tylko sam akt jego przełączenia.
    Oczywiście są do tego gotowe rozwiązania działające wraz z aplikacją Tuya, ale tutaj przedstawię użycie takiego przekaźnika wraz z moim otwartym firwmare dla układów z rodziny Beken. Zapewni to nam niezależność od serwerów producenta, bezpieczeństwo i anonimowość (chmura nie zacznie zbierać danych jak korzystamy z urządzeń). W temacie też załączę kilka szczegółów na temat implementacji obsługi takiego przełącznika.
    Dodatkowo znów omówię tu wgrywanie OpenBeken, gdyż w tym konkretnym przypadku przekaźnika występuje z tym pewien problem - trzeba będzie przeciąć jedną ścieżkę.

    UWAGA
    Opisane tu przekaźniki operują na śmiertelnie niebezpiecznym potencjale sieciowym. Ponadto większość przekaźników tego typu odcina tylko jedną żyłę (jest tam pojedynczy przekaźnik), i to od użytkownika zależy jaką, więc możliwe jest, że niefortunnie będziemy odcinać zero a faza zostanie na stałe podłączona do sterowanego urządzenia... zakładam, że czytelnik o tym wszystkim wie i jest świadom jak podłączyć wszystko elektrycznie zgodnie ze sztuką. Tutaj skupię się na programowaniu smart switchy.
    Dodatkowo też warto pamiętać, że często zasilacze z takich gadżetów też nie mają separacji (i np. na GND podpiętym do WB2S może być potencjał fazy).

    Zakup i wnętrze ZN268131
    ZN268131 kupiłem w jednym z serwisów ze sprzedażą internetową. Jest to dość popularny produkt. Można go znaleźć nawet po 20-30zł z darmową wysyłką. Nie zawsze jest podpisany symbolem, który tu podaję.
    ZN268131 wyróżnia obecność terminalu śrubowego dla przełącznika - oznaczenia S1 i S2.
    Przychodzi w takim pudełeczku:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Aby wgrać wsad, zdejmujemy plastikową pokrywę:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Od spodu widzimy układ zasilacza beztransformatorowego 5V (AP8506), za nim jest regulator LDO 3.3V zapewniający stabilne 3.3V dla modułu WiFi, dalej przycisk (KEY1) , przyłącze płytki z modułem WiFi (tylko 5 sygnałów tam idzie, a właściwie to 3.3V, GND, wyjście do przekaźnika (poprzez tranzystor Q1) i dwa wejścia - jedno na duży przycisk bistabilny, drugie na ten mały na obudowie.
    Po wyjęciu widać już moduł WiFI (WB2S czyli BK7231T, nie wiem czemu bez ekranu tym razem), są też widoczne tu pewne zabezpieczenia (rezystor bezpiecznikowy F2, niebieski warystor) oraz filtr na wejściu (dwa kondensatory elektrolityczne, EC1 i EC2 a między nimi dławik):
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny


    Programowanie ZN268131
    Absolutnie nie można zasilać jednocześnie układu z sieci i go programować przez UART. Zasilimy go osobno, poprzez 5V podpięte przed AMS1117:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Oprócz tego trzeba podpiąć tylko RX i TX do nóżek WB2S:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Początkowo próbowałem zrobić tak...:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Niestety to nie przeszło. Szybko okazało się, że pin od RX jest używany tutaj też jako przycisk i rezystor pull up na tym sygnale zakłóca programowanie.
    Rozwiązaniem jest tymczasowe przecięcie ścieżki tak, by dało się ją łatwo naprawić i wpięcie się po stronie WB2S:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Te 4 kabelki starczą.
    Reszta programatora to konwerter USB na UART w trybie 3.3V oraz osobne wejście zasilania (nie mogę brać 5V z USB, bo aby wykonać reboot urządzenia muszę podłączyć i odpiąć zasilanie, a gdy użyję do tego USB to przekaźnik pobierze z USB za duży prąd i USB się zresetuje i konwerter USB na UART się "zgubi" i programowanie się nie powiedzie):
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Procedura programowania:
    1. w bkWriter 1.60 wybrać wsad, rozpocząć programowanie
    2. w trakcie oczekiwania odpiąć i podpiąć 5V zasilanie by wykonać reboot
    3. moduł się powinien zaprogramować bez błędów
    To jest dla BK7231T - dla BK7231N używamy programatora napisanego w Pythonie.
    Po programowaniu naprawiamy przeciętą ścieżkę:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny

    Konfiguracja OpenBeken dla ZN268131
    Całą procedurą konfiguracji OpenBK7231T opisywałem już kilka razy. Tutaj jedynie pokażę, jak skonfigurować "magiczny" pin od przycisku bistabilnego:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Tylko tyle - ustawiamy rolę ToggleChannelOnToggle. Rola "Button" jest dla chwilowych przycisków.

    Dla ciekawskich - w kodzie programu ToggleChannelOnToggle jest zorganizowane bardzo prosto, korzysta z tego samego timera co zwykłe przyciski, jak również eliminuje problem debouncingu (drgania styków):
    Code: c
    Log in, to see the code

    Wywołanie funkcji CHANNEL_Toggle przełącza wartość kanału (tutaj: przekaźnika). W OpenBK możliwe jest mapowanie wielu wyjść na jeden kanał.

    Testowy układ
    Od teraz możemy kontrolować przekaźnik dowolnym klasycznym włącznikiem bistabilnym, chociażby takim z puszki:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Wszystko działa, trzeba jedynie się przyzwyczaić, że od teraz stan tego włącznika ("wciśnięty w dół/w górę") nie określa stanu przekaźnika, bo zawsze możemy zewnętrznie przełączyć też z poziomu Home Assistant.

    Praktyczny przykład użycia
    Tym razem już bez większego komentarza. Na próbę podłączyłem moduł dla pewnej dość starej i popękanej lampki, którą uratowałem z elektrośmieci:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny


    A czy można przerobić zwykły Smart Switch na taki z tematu?
    W przypadku Tuya nie byłoby to możliwe, bo nie mamy dostępu do wsadu. Ale w sytuacji gdy korzystamy z OpenBeken, jest to bardzo proste.
    Wystarczy wziąć dowolny klon Sonoffa z moim OpenBK, przykładowo:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Zrealizowany jest on na WB2S:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Quote:

    Pin No.SymbolI/O typeFunction
    1VBATPPower supply pin (3.3 V), which is connected to the VBAT pin on the internal IC
    2PWM2I/OCommon GPIO, which is connected to the P8 pin on the internal IC
    3GNDPPower supply reference ground pin
    4PWM1I/OCommon GPIO, which is connected to the P7 pin on the internal IC
    51RXI/OUART1_RXD, which is used as a user-side serial interface pin and is connected to the P10 pin on the internal IC
    6PWM0I/OCommon GPIO, which is connected to the P6 pin on the internal IC
    71TXI/OUART1_TXD, which is used as a user-side serial interface pin and is connected to the P11 pin on the internal IC
    8ADAIADC pin, which is connected to the P23 pin on the internal IC
    9PWM4I/OCommon GPIO, which is connected to the P24 pin on the internal IC
    10CENILow-level reset, high-level active (internally pulled high) Docking IC-CEN
    11PWM5I/OCommon GPIO, which is connected to the P26 pin on the internal IC


    Łatwo jest znaleźć wolne wyprowadzenie. Widać, że jest ich kilka:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny

    Doprowadzić do niego przewód, drugi przewód do masy. Nie trzeba rezystora pull-up, bo BK7231N i T mają wbudowane, konfigurowalne pull-upy.
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Wyprowadzić przewody z obudowy (na nich będzie tylko 3.3V, nie muszą być grube):
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    I zasadniczo gotowe - jeszcze trzeba skonfigurować role wyprowadzonego pinu na panelu WWW OpenBK i podłączyć przycisk bistabilny.
    UWAGA - w zależności od użytego modelu przekaźnika i podłączenia, na wyprowadzonych przewodach może być potencjał fazowy z sieci!!

    Przykładowo można przerobić lampkę (tak, też odratowana z elektrośmieci):
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Wykorzystamy oryginalny przełącznik:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Połączenia, dodatkowo włącznik na kostce by pociągnięcie go za przewód go nie wyrwało:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Gotowe:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Od teraz lampka wciąż wspiera swój stary przycisk, ale też jest smart. Można np. z poziomu Home Assistant zgasić wszystkie światła (z tą lampką włącznie) w momencie wyjścia z domu.

    Do czego można jeszcze wykorzystać dodatkowy przycisk?
    Możliwości są bardzo duże. Można na przykład przerobić prosty kontroler paska LED, taki opisywany tutaj:
    WiFi SmartLife ściemniacz jednokolorowego paska LED - test, wnętrze, schemat
    tak, aby posiadał dwa przyciski (jeden do zwiększania jasności, drugi do ściemniania) oraz można też dodatkowo dodać mu diodę LED informującą o stanie WiFi.
    Przyciski zwiększające/zmniejszające jasność kanału PWM w OpenBeken wymagają już prostego skryptowania, które też moje firmware wspiera:
    Code:

    AddEventHandler OnClick 0 addChannel 1 -10 0 100
    AddEventHandler OnClick 1 addChannel 1 10 0 100

    AddEventHandler OnDblClick 0 setChannel 1 0
    AddEventHandler OnDblClick 1 setChannel 1 100

    Składnia komendy jest prosta. Po "AddEventHandler" mamy nazwę zdarzenia (OnClick, OnDblClick, OnHold lub inne), potem indeks pinu (na którym jest przycisk) a potem komendę do wykonania.
    "addChannel" dodaje do kanału o danym indeksie daną wartość (może być ujemna), dwa ostatnie argumenty to zakres do którego może zmieniać się wartość kanału (PWM mamy od 0 do 100).
    "setChannel" po prostu ustawia kanał.
    Naprawdę proste, wystarczy tylko przylutować dwa przyciski (nawet bez rezystorów pull-up gdyż one są konfigurowalne automatycznie w OpenBeken) i diodę LED z rezystorem, nadać im role Button/WiFi_LED i dopisać powyższy skrypt do autorun.bat w systemie plików LittleFS w OpenBeken.
    Dla wygody użyłem obudowy po filtrze telefonicznym:
    ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny ZN268131 WiFi Smart Switch który pozwala podłączyć przycisk bistabilny
    Taka modyfikacja znacznie usprawnia użycie paska LED, który mam w warsztacie. Oryginalne firmware Tuya wspierało tylko włączenie i wyłączenie go poprzez pojedynczy przycisk na obudowie, a po mojej modyfikacji mam już pełną kontrolę nad jasnością.

    Podsumowanie
    ZN268131 wydaje się być bardzo pomysłowym i wygodnym gadżetem, ale użycie otwartego oprogramowania (OpenBeken, chyba, że ktoś zna alternatywę dla stosowanych teraz układów BK? ESP8266 coraz trudniej znaleźć w urządzeniach IoT) sprawia, że równie dobrze można wziąć dowolny "zwykły" przekaźnik sterowany przez WiFi i przerobić go tak, by działał jak ZN268131.
    ZN268131 można też używać z oryginalnym oprogramowaniem Tuya, ale to było już nie raz omawiane.
    Oczywiście, gdy zamiast ZN268131 zamówicie Sonoff to można wgrać Tasmotę - ale czy na pewno? Sonoff S40 już zrobił "niespodziankę" użytkownikom i zamiast ESP8266 ma w środku BL602 - który swoją drogą ja też wspieram w swoim firmware...
    PS: A jeśli chodzi o moje uratowane z elektrośmieci i przerobione lampki, to obie mają już swoje miejsca w warsztacie i służą wyłącznie do długoterminowych testów mojego wsadu OpenBK (weryfikuję stabilność oprogramowania, funkcjonalność ponownego dołączenia do WiFi w razie zaniku sygnału, długotrwałe działanie modułu bez jego restartowania, itp).

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    p.kaczmarek2
    Level 26  
    Offline 
  • Ochrona Domu