Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T

p.kaczmarek2 09 May 2022 13:27 5304 14
Renex
  • Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Witajcie moi drodzy.
    Przedstawię tu wnętrze i programowanie nietypowego włącznika światła, który otrzymałem w paczce z USA od Jennifer w celu uruchomienia na nim mojego OpenBeken. Tego typu włączników nie widuje się raczej w naszym kraju, a dodatkowo w jego wnętrzu znajduje się nietypowy moduł z BK7231T. Wcześniej takiego nie widziałem. Z ciekawości wylutuję go za pomocą gorącego powietrza. Czy uda się mu zmienić firmware? Przekonajmy się.


    Przesyłka od Jennifer
    Paczka została do mnie wysłana z USA 22 marca poprzez USPS (US Postal Service). Oznaczona była jako "Gifts", zadeklarowana wartość 0.5$.
    Pani listonosz przyniosła ją do mnie 4 maja, musiałem zapłacić 8.5 zł opłaty pocztowej:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    To nie pierwszy raz taka opłata. W ogrodowej podwójnej wtyczce z BK7231T od @strigona też musiałem płacić właśnie 8.5zł.
    Bez zbędnej zwłoki wziąłem się za rozkręcanie.

    Wnętrze Gosund Smart Switch SW5-A-V2.1
    Obudowę trzymają cztery śrubki. Potem można już wyjąć płytkę.
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Tu widzimy coś nietypowego, zewnętrzna antena do WiFi 2.4GHz. Normalnie jej nie stosuję, moduły takie jak ESP12F (TYWE3S), TYWE2S, WB2S czy WB3S (zwykły) jej nie mają.
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Rezystor bezpiecznikowy, filtr z dwóch kondensatorów 400V 3.3uF (swoją drogą - 400V w przełączniku na 120V?) i dławika (ten zielony), duży dławik (czarny) od beztransformatorowego zasilacza...
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Ciekawostka - ten bezpiecznik 16A, dokładniej 16A250V, ochrania cały układ i też podłączoną lampkę przez przekaźnik, jest bezpośrednio wpięty za L-in. Nie widuję takich rzeczy w innych smart przełącznikach, tam z reguły jest tylko rezystor bezpiecznikowy ochraniający sam układ sterownika.
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Tu widać mostek prostowniczy MB10F, za nim wspomniany już filtr Pi, a nieco dalej kontroler przetwornicy beztransformatorowej na drobnym układzie montowanym powierzchniowo IADGN:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Niby można kupić taki w sieci, ale co kryje się za kodem IADGN to nie wiem:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Dalej mamy regulator LDO AMS 1117 3.3V (zapewnia 3.3V dla modułu z WiFi) i widać też wyprowadzone pady do programowania i debugowania układu. To się nam przyda:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Z drugiej strony widać jeszcze tranzystor oznaczony 1AM (pewnie MMBT3904) załączający przekaźnik wraz z "free-wheeling diode" diodą o kodzie SMD 7A podłączoną równolegle do cewki przekaźnika usuwającą nagłe skoki napięć przy przełączaniu.
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Jest tu miejsce na alternatywny moduł WiFi. Czy ktoś wie, jaki moduł tu pasuje?
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T

    Programowanie Gosund Smart Switch SW5-A-V2.1
    Procedura okazała się bardzo prosta.
    Analogicznie jak tutaj:
    Ogrodowy podwójny przekaźnik Tuya CCWFIO232PK - BK7231T - programowanie
    5V na wejście AMS1117-3.3V z osobnego zasilacza by móc zrobić reboot układu (odcięcie na chwilę zasilania) bez przeładowywania portu USB, RX i TX z konwertera USB na UART opartego o CH340 w trybie 3.3V i wspólna masa.
    Do podpięcia drugiego 5V użyłem kabelka od USB (to było micro USB, ale złącze się uszkodziło):
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Lutowanie zasilania 5V (dzięki zasileniu z 5V będzie działać też przekaźnik, co pozwoli nam od razu określenie na jakim pinie jest on podłączony, poprzez kolejne testowanie pinów):
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Lutowanie RX i TX:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Procedura programowania jest następująca:
    1. w bkWriter 1.60 uruchomić read bądź write
    2. odłączyć zasilanie 5V na chwilę, podłączyć je ponownie
    3. bkWriter powinien zacząć odczytywać bądź nagrywać wsad
    Poszło bez problemów.

    Konfiguracja w OpenBK
    Ten włącznik ma dość bogate możliwości konfiguracji pinów. Mamy osobno diodę zieloną od stanu WiFi, diodę czerwoną, przycisk i przekaźnik. Inni producenci łączą razem sygnał sterujący jedną diodą i przekaźnikiem, ale tu tak nie jest. Możemy sobie zatem wybrać, czy np. dioda czerwona będzie się świecić przy wyłączonym przekaźniku czy też może przy włączonym. Sam preferują by świeciła się przy wyłączonym, gdyż wtedy w nocy łatwiej jest znaleźć włącznik.
    Ostateczna konfiguracja pinów:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T


    Przykład skryptowania włącznika
    Tu można by już zakończyć, ale myślę, że warto jest jeszcze pokazać dodatkową możliwość jaką od niedawna oferuje moje OpenBeken.
    Skryptowanie zdarzeń i system komend zostały dodane jako alternatywa do automatyzacji i scenariuszy występujących w Tuya czy tam w Home Assistant. Mój system skryptów cechuje to, że nie wymaga zewnętrznego serwera.
    Więc, dla demonstracji, wystarczy nam:
    - żarówka Smart WiFi z OpenBeken (ale Tasmota też będzie kompatybilna!) z dokonaną rezerwacją IP na routerze
    - włącznik z tego tematu
    Najpierw rezerwujemy naszej lampce IP w ustawieniach routera:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Następnie już na włączniku musimy ustawić tzw. "event handler", czyli obsługę zdarzenia na urządzeniu przycisku.
    Służy do tego komenda:
    
    setEventHandler [EventName] [Argument] [Command]
    

    Przykładowo, dla kliknięcia przycisku na pinie 8:
    
    addEventHandler OnClick 8 [Command]
    

    (pin 8 musi mieć rolę Button ustawioną)
    Jako "command" chcemy wysłać polecenie przełączenia stanu POWER poprzez Tasmota HTTP (OpenBeken wspiera ten protokół) na adres IP lampki.
    Wysłanie takiej komendy wygląda tak (można na próbę z konsoli OpenBeken to wywołać):
    
    SendGet http://192.168.0.112/cm?cmnd=Power0%20Toggle
    

    Więc, pełna komenda obsługi zdarzenia z wysłaniem Power Toggle wygląda tak:
    
    addEventHandler OnClick 8 SendGet http://192.168.0.112/cm?cmnd=Power0%20Toggle
    

    Można to wpisać w konsoli, ale wtedy się to nie zapisze i obsługa zdarzenia zostanie utracona po reboocie urządzenia.
    Z tego powodu lepiej ustawić to w jednym z dwóch dostępnych miejsc.
    1. jako "short startup command" w Config (do 512 znaków, można tam dać wiele komend dzięki użyciu backlog - składnia tak jak w Tasmocie)
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    2. jako komenda z pliku "autoexec.bat" w LittleFS w panelu JS OpenBK
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    (aby utworzyć plik, przeciągamy na pole "drop file here". Potem można go edytować z poziomu przeglądarki. LittleFS na ten moment czyści się w trakcie wykonania OTA, więc należy mieć kopie plików)
    Demonstracja:



    Działa. To taka namiastka "Tasmota Group", które też wkrótce będą przeze mnie wspierane.


    Identyfikacja modułu z BK7231T
    Tu można by zakończyć, ale uznałem, że jeszcze warto jest zidentyfikować co to za konkretny moduł mamy w tym urządzeniu.
    Nie jest on z wierzchu podpisany, nie znamy jego wyprowadzeń.
    Wyprowadzenia podpisane są na spodzie, więc postanowiłem odlutować go gorącym powietrzem (GJ-8018LCD):
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Najpierw odlutowałem też przycisk, by go nie stopić.
    W celu ułatwienia pracy dodałem cyny ołowiowej i topnika:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Gotowe, po długim i równomiernym grzaniu:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Okazuje się, że to Z2-B-V1.0. Oto jego podpisane wyprowadzenia:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Przed przylutowaniem go na miejsce, oczyściłem PCB i pady:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    W trakcie przylutowywania:
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Po zlutowaniu z powrotem włącznik dalej działa.

    Podsumowanie
    Dziękuję raz jeszcze @echojjj za wysłanie mi tego włącznika do testów. Było naprawdę ciekawie!
    Programowanie okazało się bardzo proste, gdyż wszystkie sygnały są wyprowadzone.
    Włącznik okazał się być przydatny nawet w Polsce, gdyż pracuje na 230V (sprawdziłem w praktyce).
    Moduł z BK ze środka okazał się być dla mnie nowością, nawet wyszukiwarka milczy gdy wpisuję "Z2-B-V1.0", a dzięki odlutowaniu go od płytki poznałem role jego wyprowadzeń, co przydać się może w przyszłości przy przerabianiu kolejnych urządzeń.
    Przy okazji też zaprezentowałem prostą automatyzację w OpenBeken, którą można zrealizować bez potrzeby angażowania do tego zewnętrznego serwera typu Home Assistant.
    PS: Czy ten footprint Z2-B-V1.0 nie jest kompatybilny z jakimś modułem z ESP, może z ESP32? Nie miałem jeszcze czasu sprawdzać, ale może ktoś wie?

    Cool? Ranking DIY
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
  • Renex
  • #3
    p.kaczmarek2
    Moderator Smart Home
    Oznaczenie na płytce za mostkiem prostowniczym i kondensatorem mówi "380V". Parametry mostka, kondensatorów też to potwierdzają.
    Ale zasadniczo i tak nie mam gdzie tego typu rozmiarowo włącznika wsadzić, pewnie ostatecznie przerobię go na taki zasilany z 5V i gdzieś dodatkowo w warsztacie przymocuję (np. jako drugi włącznik światła górnego przy biurku).
  • Renex
  • #4
    BOOM i ZONK
    Level 21  
    Wydaje się że U1 to będzie MP150.
  • #5
    Krzysztof Kamienski
    Level 43  
    Przecież tam jest zasilacz beztransformatorowy oparty na reaktancji pojemnościowej. Zmniejsz mu wartość kondensatora o 1/3, bo zniszczysz diodę Zenera, a przy okazji cały ukad. To jeszcze nie padło tylko dlatego, że w USA jest 60Hz a w PL 50Hz.
  • #6
    BOOM i ZONK
    Level 21  
    Krzysztof Kamienski wrote:
    Przecież tam jest zasilacz beztransformatorowy oparty na reaktancji pojemnościowej. Zmniejsz mu wartość kondensatora o 1/3, bo zniszczysz diodę Zenera, a przy okazji cały ukad. To jeszcze nie padło tylko dlatego, że w USA jest 60Hz a w PL 50Hz.


    Gdzie Ty widzisz ten kondensator i diode Zenera. Tam jest przetwornica na MP150.
  • #7
    p.kaczmarek2
    Moderator Smart Home
    Obawiam się, że @BOOM i ZONK ma rację. Swoją drogą nie spotkałem jeszcze ani jednego IoT urządzenia z 'capacitive dropper'. One były masowo używane w lampkach LEDowych (ale teraz też coraz mniej) i w innych najtańszych produktach, ale w tych 'smart' zawsze widuję albo super prosty flyback, albo właśnie a coś a la MP150. Albo BP2525. I tak dalej.
  • #8
    nl0
    Level 4  
    Ponownie sflashowano 4 z nich, korzystając z twoich instrukcji. Jedyne, co dodałem, to normalnie otwarty przycisk między ziemią a padem CH_EN, wciskając go zaraz po uruchomieniu skryptu Pythona i natychmiast zwalniając.

    Świetna robota, dziękuję!
  • #9
    p.kaczmarek2
    Moderator Smart Home
    Dziękuję za korzystanie z OpenBK.

    W międzyczasie dostałem darowiznę z Kanady - dwa ciekawe wyłączniki schodowe (konfiguracja trójdrożna):
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Wkrótce kolejne rozerwanie/przewodnik.
  • #10
    nl0
    Level 4  
    p.kaczmarek2 wrote:
    Thank you for using OpenBK.

    Thank you for making it.

    p.kaczmarek2 wrote:
    In a meantime, I've got a donation from Canada - a two interesting stair switches (3-way configuration)
    Next teardown/guide coming soon.

    I'm using several SS01 and SS01S, transplanted the module.

    Purchased Dual Dimmer Switch, will look inside it. Could be a Gosund.

    Edit: Received it, turns out to be Gosund SW7, WiFi module CUCU-KK-C-V1.4 (ESP8285), MAC starts with 52:02:91
  • #11
    abcimatree
    Level 2  
    Dzięki za przewodnik. Dla mnie bkWriter 1.60 mógł tylko odczytywać urządzenie i zawsze zawodził zapis. Musiałem sflashować go za pomocą Pythona (hid_download_py).
  • #12
    p.kaczmarek2
    Moderator Smart Home
    Teraz powinieneś użyć nowego narzędzia, zarówno dla T, jak i N:
    https://github.com/openshwprojects/BK7231GUIFlashTool
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
  • #14
    p.kaczmarek2
    Moderator Smart Home
    Został wydany 2 dni temu i nadal chciałem, aby kilka osób go przetestowało.
  • #15
    p.kaczmarek2
    Moderator Smart Home
    AKTUALIZACJA
    W temacie wspomniałem o komendzie SendGET:
    p.kaczmarek2 wrote:

    Wysłanie takiego polecenia wygląda następująco (można spróbować wywołać je z konsoli OpenBeken):
    
    SendGet http://192.168.0.112/cm?cmnd=Power0%20Toggle
    

    Tak więc kompletne polecenie obsługi zdarzenia z wysłaniem przełącznika zasilania wygląda następująco:
    
    addEventHandler OnClick 8 SendGet http://192.168.0.112/cm?cmnd=Power0%20Toggle
    

    Teraz też mamy WyślijPost Komenda. Proszę zaktualizować swoje OBK.

    Oto przykłady obu poleceń, najpierw GET:
    
    backlog setChannel 10 13; setChannel 11 87; SendGET http://localhost:3000/?a=$CH10&b=$CH11
    

    Następnie wysyłanie JSON przez POST:
    
    backlog setChannel 10 13; setChannel 11 87; SendPOST http://localhost:3000/ 3000 "application/json" "{ \"a\":$CH10, \"b\":$CH11 }"
    

    Można to wykorzystać nawet do przesyłania danych pomiarowych do bazy danych i tworzenia wykresów, historii zużycia energii i wielu innych.