logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce

efirestone 29 Kwi 2023 06:52 5298 8
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • Pomocny post
    #1 20559665
    efirestone
    Poziom 1  
    Posty: 1
    Pomógł: 1
    Ocena: 1
    To jest rozbiórka Inteligentny ściemniacz ELEGRP DPR10 , który jest ściemniaczem z gładkim, wrażliwym na dotyk paskiem ściemniacza. Można go połączyć z aplikacją ELEGRP lub z aplikacją Tuya Smart Life. Układ w środku to CB2S (Beken BK7231N) i powinien być kompatybilny z OpenBeken.

    Korpus przełącznika jest trzymany razem za pomocą czterech śrub T7. Na czarnej tylnej stronie przełącznika znajduje się płytka zawierająca przekaźnik i inne elementy elektryczne. Jest przykryty metalowym elementem, który jest przytrzymywany przez inny T7 i mocowany do korpusu za pomocą małej śruby z łbem krzyżowym Philips. Dla celów flashowania nie ma powodu, aby demontować tę część.

    [CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce
    Przód płytki komponentowej

    [CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce
    Tył płytki komponentowej

    Wszystkie „inteligentne” elementy są zamknięte w białej plastikowej części produktu, bezpośrednio za częścią przełącznika ściennego, którą użytkownik może dotknąć. Wymagało to trochę pracy, ale biały plastikowy przełącznik kołyskowy oddziela się od tylnego białego plastikowego elementu, do którego przymocowana jest płyta wiórowa. Pomiędzy dwoma elementami znajduje się kabel taśmowy, więc należy uważać, aby ostrożnie je rozdzielić.

    [CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce
    Oddzielna obudowa przełącznika i płytki wiórowej

    [CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce
    Zbliżenie na główny układ

    [CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce
    Zbliżenie na drugi chip

    [CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce
    Tył płyty wiórowej

    Nie próbowałem jeszcze flashować chipa za pomocą OpenBeken

    Dodano po 12 [minutach]:

    Chciałbym spróbować flashować to za pomocą OpenBeken, ale nie jestem pewien, jak najlepiej dostać się do pinów Tx i Rx, które wydają się znajdować pod BK7231N na podstawie arkusza danych. Czy mogę przylutować do dwóch okręgów przed chipem, które wyglądają na wyrównane z tymi pinami na spodzie? Te same kółka są również dostępne na spodzie, jeśli jest to preferowane z jakiegokolwiek powodu.

    [CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce
  • REKLAMA
  • #2 20559671
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14813
    Pomógł: 659
    Ocena: 12984
    Witam, dziękuję za szczegółowe rozebranie.

    To urządzenie wydaje się być ściemniaczem TuyaMCU.

    O ściemniaczach TuyaMCU można przeczytać tutaj:
    Ściemniacz EDM-01AA-EU 300W do BK7231 i TuyaMCU - konfiguracja
    MoesHouse DIY Inteligentne światło WiFi Przełącznik ściemniacza LED Inteligentne życie
    Problem polega na tym, że najprawdopodobniej nie będziesz w stanie flashować bez uprzedniego odłączenia TuyaMCU. Ale i tak spróbuj.

    W najgorszym przypadku będziesz musiał wyciąć ścieżki lub coś wylutować.
    Mamy tutorial na gorące powietrze na naszym kanale: https://www.youtube.com/@elektrodacom

    Nie zapomnij wykonać kopii zapasowej oprogramowania układowego urządzenia o wielkości 2 MB i załączyć ją tutaj. Dzięki!

    Dodano po 1 [minutach]:

    PS: Moje pytanie byłoby takie, że te dwa ślady to linie RX/TX między UART1 modułu WiFi a TuyaMCU:
    [CB2S/BK7231N] TuyaMCU Elegrp DPR10 Inteligentny przełącznik ściemniacza Porzuce
    Tak więc najgorszy scenariusz jest taki, że będziesz musiał je obciąć na czas obróbki, ale może najpierw spróbuj bez cięcia.

    Narzędzie flashowania:
    https://github.com/openshwprojects/BK7231GUIFlashTool
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #4 21221144
    psyko_chewbacca
    Poziom 7  
    Posty: 9
    Ocena: 2
    W porządku, zacznę od miejsca, w którym skończyłem.

    Kupiłem ELEGRP DPR30, który jest w zasadzie tym samym sprzętem, z wyjątkiem dodatkowego obwodu z tyłu płyty komponentowej do obsługi przewodu podróżnego, który ten model ma dodatkowo w stosunku do DPR10.

    Poza tym jest to ten sam sprzęt.

    Udało mi się wgrać OpenBK za pierwszym razem.
    Zamiast przecinać ścieżki, aby wyciszyć TuyaMCU, zastosowałem delikatniejsze podejście. Zmusiłem RST MCU do GND, aby utrzymać go w stanie RESET. TuyaMC ma podciągnięcie 10K do 5V na tym sygnale /RST. Więc zmostkowanie go do GND jest dość łatwe.
    Płytka drukowana z modułem zdalnej komunikacji CB2S, widoczna z kilku podłączonymi przewodami.
    Jak się okazuje, nie jest to konieczne. Więcej na ten temat poniżej.

    Okazuje się, że @efirestone miał rację co do tego, że 2 przelotki to TX i RX. Zrobiłem skok wiary i przylutowałem bezpośrednio do przelotek. Musiałem trochę zeskrobać maskę lutowniczą, aby uzyskać dobre połączenie.
    Zbliżenie na płytkę drukowaną z oznaczonymi pinami TX, RX, GND i 3.3V.

    Następnie użyłem narzędzia BK GUI Flash. Wszystko poszło gładko. Żadnej konfiguracji do wyodrębnienia poza wartością szybkości transmisji 9600.

    Jak wspomniałem wcześniej, okazało się, że nie muszę trzymać TuyaMCU w RESET. Po przylutowaniu przewodów, sprawdziłem układ i zauważyłem, że CB2S nie jest podłączony do szyny 5V. Dwukrotnie sprawdziłem jego arkusz danych i tak, jest to część 3,3 V.
    Następnie zauważyłem punkt testowy 3,3 V tuż obok nagłówka.
    Okazuje się, że TuyaMCU jest zasilana napięciem 5 V, a CB2S dedykowanym napięciem 3,3 V pochodzącym z płytki bazowej. Skutecznie można więc trzymać TuyaMCU na dystans, po prostu nie zasilając płytki przez pin 5V.

    Próbowałem najpierw z /RST powiązanym z masą, ponieważ już go przylutowałem, ale później spróbowałem bez niego, dla pewności.
    W obu przypadkach udało mi się uzyskać dostęp do pamięci flash CB2S bez żadnych problemów.

    Teraz mój DPR30 jest z powrotem w jednym kawałku, podłączony do mojej domowej sieci WIFI i gotowy do prawidłowej konfiguracji.

    Dodałem autoexec.bat do systemu plików

    
    startDriver TuyaMCU
    setChannelType 1 toggle
    setChannelType 2 dimmer
    tuyaMcu_setBaudRate 9600
    tuyaMcu_setDimmerRange 1 1000
    linkTuyaMCUOutputToChannel 1 bool 1
    linkTuyaMCUOutputToChannel 2 val 2
    


    Ściemniacz działa dobrze, z wyjątkiem diody LED stanu na dole paska dotykowego, która ciągle miga jak szalona.

    Gdzie mogę wgrać backup bin oryginalnego firmware?


    EDIT
    Udało mi się trochę poczytać na temat interfejsu TuyaMCU i wymyśliłem, jak zatrzymać miganie diody LED stanu.
    Oto mój ostateczny skrypt

    
    startDriver TuyaMCU
    setChannelType 1 toggle
    setChannelType 2 dimmer
    tuyaMcu_setBaudRate 9600
    tuyaMcu_setDimmerRange 1 1000
    linkTuyaMCUOutputToChannel 1 bool 1
    linkTuyaMCUOutputToChannel 2 val 2
    tuyaMcu_defWiFiState 4
    PowerSave 1
    


    Włączyłem również "Flaga 43 - [TuyaMCU] Użyj kolejki", cokolwiek to robi. Urządzenie wydaje się bardziej responsywne, ale nie mam ostatecznego pojęcia, do czego służy. Po prostu widziałem wiele zaleceń, aby włączyć w innych wątkach.
  • REKLAMA
  • #5 21221979
    psyko_chewbacca
    Poziom 7  
    Posty: 9
    Ocena: 2
    Ok, więc udało mi się znaleźć sposób na wyodrębnienie identyfikatorów dpID obsługiwanych przez TuyaMCU.

    Oto dane wyjściowe dziennika

    
    Info:TuyaMCU:ParseState: byte 1
    Debug:TuyaMCU:ApplyMapping: id 104 (val 1) not mapped
    Info:TuyaMCU:ParseState: id 108 type 2-val len 4
    Info:TuyaMCU:ParseState: int32 1000
    Debug:TuyaMCU:ApplyMapping: id 108 (val 1000) not mapped
    Info:TuyaMCU:ParseState: id 109 type 3-str len 5
    Info:TuyaMCU:ParseState: id 113 type 3-str len 5
    Info:TuyaMCU:ParseState: id 110 type 1-bool len 1
    Info:TuyaMCU:ParseState: byte 0
    Debug:TuyaMCU:ApplyMapping: id 110 (val 0) not mapped
    Info:TuyaMCU:ParseState: id 111 type 2-val len 4
    Info:TuyaMCU:ParseState: int32 0
    Debug:TuyaMCU:ApplyMapping: id 111 (val 0) not mapped
    Info:TuyaMCU:ParseState: id 114 type 1-bool len 1
    Info:TuyaMCU:ParseState: byte 0
    Debug:TuyaMCU:ApplyMapping: id 114 (val 0) not mapped
    Info:TuyaMCU:Received: 55 AA 03 03 00 00 05 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 3 (WiFiState) len 7
    Info:TuyaMCU:Received: 55 AA 03 07 00 20 02 02 00 04 00 00 01 5C 03 02 00 04 00 00 00 C8 05 02 00 04 00 00 03 E8 65 02 00 04 00 00 00 32 F2 
    Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 39
    Info:TuyaMCU:ParseState: id 2 type 2-val len 4
    Info:TuyaMCU:ParseState: int32 348
    Debug:TuyaMCU:ApplyMapping: mapped dp 2 value 348 to 34
    Info:TuyaMCU:ParseState: id 3 type 2-val len 4
    Info:TuyaMCU:ParseState: int32 200
    Debug:TuyaMCU:ApplyMapping: id 3 (val 200) not mapped
    Info:TuyaMCU:ParseState: id 5 type 2-val len 4
    Info:TuyaMCU:ParseState: int32 1000
    Debug:TuyaMCU:ApplyMapping: id 5 (val 1000) not mapped
    Info:TuyaMCU:ParseState: id 101 type 2-val len 4
    Info:TuyaMCU:ParseState: int32 50
    Debug:TuyaMCU:ApplyMapping: id 101 (val 50) not mapped
    


    Oto, co udało mi się wyodrębnić i moje przypuszczenia na temat tego, czym mogą być niezamapowane identyfikatory dpID

    
    id1   bool  len1   toggle     (already mapped)
    id2   int32 len4   dimmer     (already mapped)
    id3   int32 len4   value:200  (ramp on delay in ms?)
    id4   enum  len1   value:3    (power on state? like ON, OFF or 'last state')
    id5   int32 len4   value:1000 (ramp off delay in ms?)
    id6   int32 len4   value:0
    id101 int32 len4   value:50   (configurable min brightness?)
    id103 enum  len1   value:1
    id104 enum  len1   value:1
    id108 int32 len4   value:1000 (configurable max brightness?)
    id109 str   len5
    id110 bool  len1   value: 0
    id111 int32 len4   value:0
    id113 str   len5
    id114 bool  len1   value: 0
    


    Nie mogłem znaleźć wielu informacji na temat konfigurowania kanałów i dostępnych typów kanałów.
    Na przykład, dla suwaka kontrolującego (co może być) opóźnienie wyłączenia rampy, czy powinienem ustawić typ kanału jako "dimmer", czy jest bardziej odpowiedni typ?
    Do czego można użyć dpID typu str? Zwłaszcza o długości 5.

    Chcę majstrować przy tym, aby dowiedzieć się, co robią te wszystkie dpID, ale nie mogę iść na ślepo, nie znając wszystkich możliwych parametrów komendy `setChannelType`.

    Dodano po 8 [godzinach] 35 [minutach]: .

    Znalazłem ten wątek z informacjami o DTR30, który jest bardzo podobnym modelem do DPR30. Prawdopodobnie tylko wymiana płyty czołowej.

    https://community.home-assistant.io/t/elegrp-dimmer-switch-is-it-ha-compatible/641951/7

    Ma konfigurację ESPHome z wymienionymi dpID. Spróbuję ustawić OBK z tymi informacjami.

    Nadal chciałbym uzyskać informacje na temat prawidłowego konfigurowania typów kanałów, jeśli ktoś to czyta!
  • REKLAMA
  • #6 21399706
    xapienz
    Poziom 1  
    Posty: 1
    Witam!
    Dziękuję za szczegółowy opis tego ściemniacza.

    Odkryłem, że jeśli nie czujesz się komfortowo lutując lub majstrując przy płytce, możesz użyć malutkich zacisków układów scalonych i podłączyć je bezpośrednio do nóżek TuyaMCU, do których idą RX i TX CB2S. Ślad między układami można zobaczyć z tyłu płytki, a to ułatwi mniejsze uszkodzenia.
    Następnie mógłbym flashować CB2S za pomocą `ltchiptool` i firmware ESPHome.

    Układ PCB z oznaczeniami TX i RX na chipie oraz moduł CB2S.
  • #8 21635347
    razzamatazm
    Poziom 1  
    Posty: 1
    @psyko_chewbacca - czy kiedykolwiek udało Ci się uruchomić to na OpenBeken? Używałem twojej konfiguracji ESPHome i chociaż działa, mam wrażenie, że ESPHome stał się ostatnio mniej niezawodny...
  • #9 21635694
    psyko_chewbacca
    Poziom 7  
    Posty: 9
    Ocena: 2
    >>21635347

    Cześć,

    Nie, nie próbowałem OpenBeken. To nie moja filiżanka herbaty.
    Ja również stwierdziłem, że ESPHome był nieco mniej niezawodny w ciągu ostatnich kilku miesięcy, ale wydaje się, że ostatnio działa dobrze. Przeszedłem jednak z korzystania z API na MQTT (w gałęzi mqtt z mojego repozytorium). Może nie być w pełni przystosowany do łatwego użycia, ponieważ jest mniej lub bardziej dostosowany do moich potrzeb. Ale przy minimalnym wysiłku można sprawić, by działało.
    Myślę, że implementacja API ESPHome nie jest obecnie tak stabilna na platformie LibreTiny. Ale nadal chcę pozostać przy frameworku ESPHome, ponieważ mam zakodowane specyficzne funkcje, które prawdopodobnie nie byłyby możliwe do zaimplementowania przy użyciu możliwości skryptowych OpenBeken. Stąd przejście na MQTT.

    Istnieje błąd https://github.com/libretiny-eu/libretiny/issues/316 w LibreTiny, który czeka na naprawę. Istnieje obejście tego problemu w gałęzi "mqtt".
    ESPHome dokonał refaktoryzacji wielu komponentów, które mogły wprowadzić wycieki pamięci w ostatnich kilku wydaniach.

    W tej chwili wszystkie moje urządzenia działają niezawodnie (trzymam kciuki).

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy rozbiórki i modyfikacji inteligentnego ściemniacza ELEGRP DPR10, wyposażonego w układ CB2S (Beken BK7231N) oraz moduł TuyaMCU. Urządzenie posiada dotykowy pasek ściemniacza i jest kompatybilne z aplikacjami ELEGRP oraz Tuya Smart Life. Wymiana oprogramowania (flashowanie) wymaga odłączenia lub wyciszenia TuyaMCU, co można osiągnąć przez fizyczne przecięcie ścieżek lub podtrzymanie sygnału RST MCU na poziomie niskim (GND). Alternatywnie, do komunikacji z układem CB2S można użyć bezlutowanych zacisków do pinów RX i TX. Użytkownicy z powodzeniem wgrywali firmware OpenBK oraz korzystali z gotowych pakietów ESPHome, choć pojawiły się uwagi o mniejszej stabilności ESPHome w ostatnim czasie, co skłoniło do przejścia na MQTT. Wskazano także na istniejące błędy w platformie LibreTiny, które wpływają na stabilność implementacji API ESPHome. Dodatkowo, model DPR30 jest sprzętowo podobny do DPR10, z dodatkowym obwodem do obsługi przewodu podróżnego. W dyskusji zamieszczono zdjęcia płytek i schematy połączeń ułatwiające modyfikacje i programowanie urządzenia.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA