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

Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937

vklimk 19 Cze 2026 13:48 474 4

TL;DR

  • Naprawiono inteligentne gniazdko ATMT oparte na BK7231N w module CB2S z układem BL0937 do pomiaru energii.
  • Sprawdzono zasilanie 5 V i 3,3 V, a po błędach CRC przy odczycie flasha wykryto uszkodzony bootloader w pierwszych bajtach pamięci.
  • Wgrano pierwsze 4096 bajtów z OpenBK7231N_QIO_1.18.288.bin z przesunięciem 0x0 przez Custom Write, co przywróciło start modułu.
  • Następnie wgrano OpenBeken, skonfigurowano Wi‑Fi i progi 7 W oraz 15 minut; pomiar mocy działał poprawnie bez kalibracji.
Wygenerowane przez model językowy.
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
📢 Słuchaj (AI):
  • W tym artykule opisano, jak przywrócić do działania uszkodzone gniazdko inteligentne oparte na platformie Tuya (modele BKN7231N, CB2S, BL0937), a następnie wgrać do niego oprogramowanie OpenBeken.

    Kilka lat temu kupiłem inteligentne gniazdko i używam go do automatycznego wyłączania ładowarki do mojego elektrycznego monocykla, gdy pobór mocy przez określony czas jest bardzo niski. Robię to wyłącznie ze względów bezpieczeństwa – jeśli w ciągu ostatnich 15 minut ładowarka zużywa mniej niż 7 watów, zakładam, że mój monocykl elektryczny jest już naładowany i na wszelki wypadek odłączam zasilanie. Inteligentne gniazdko współpracuje z systemem Yandex Smart Home.
    Było to tanie gniazdko marki „ATMT”, bez podanego kodu modelu. Jedyne dostępne informacje to:
    Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937

    Pewnego dnia przestała działać i nie reagowała na naciśnięcie przycisku.
    Rozmontowałem ją i odkryłem, że działa na mikrokontrolerze BKN7231N (moduł CB2S) oraz posiada układ BL0937 do pomiaru zużycia energii. Zasilanie 5 V jest realizowane przez układ kp15051sp.
    Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937 Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937 Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937 Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937

    Następnie sprawdziłem kondensatory oraz zasilania 5 V i 3,3 V – wszystko jest w porządku. Głównym podejrzanym jest więc mikrokontroler (MCU).
    Następnie przylutowałem przewody zasilające (bezpośrednio do kondensatora 5 V) oraz przewody UART (do pinów CB2S) i podłączyłem je do adaptera USB-TTL (przełączonego za pomocą zworki na tryb poziomu 3,3 V). (Więcej szczegółów na temat połączenia CB2S i USB-TTL oraz flashowania mikrokontrolera można znaleźć w temacie https://www.elektroda.com/rtvforum/topic4087228.html )

    Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937

    Następnie próbowałem zrzucić zawartość pamięci flash za pomocą narzędzi BK7231GUIFlashTool i ltchiptool. Oba narzędzia zakończyły się niepowodzeniem z powodu błędów CRC. Okazało się, że błędy CRC występowały tylko w pierwszych 0x100 bajtach – oznaczało to, że bootloader był uszkodzony. Następnie podłączyłem się do pinów UART2 modułu CB2S i zobaczyłem w terminalu, że uruchamianie się rozpoczęło, ale po kilku sekundach system zawiesił się.
    Pamięć flash była więc uszkodzona, ale wciąż miałem szansę na ponowne zapisanie uszkodzonej strony w nadziei, że uda się ją naprawić.
    Sprawdziłem, czy moje gniazdo Smart Socket ma ten sam bootloader co OpenBeken – pierwsze 64k bajtów pliku OpenBK7231N_QIO oraz pierwsze 64k bajtów zrzutu z mojego gniazda Smart Socket były identyczne, pomijając te uszkodzone bajty na początku. Wyodrębniłem więc pierwsze 4096 bajtów z pliku OpenBK7231N_QIO_1.18.288.bin do osobnego pliku i zapisałem je w BK7231N z przesunięciem 0x0, korzystając z funkcji Custom Write.

    Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937

    To pomogło – moduł uruchomił się i działał poprawnie!

    Chciałem jednak wypróbować sam system OpenBeken. W związku z tym zapisałem go na moim module. Następnie zastosowałem konfigurację z oryginalnego zrzutu, ustawiłem identyfikator SSID sieci Wi-Fi oraz hasło. I zapisałem konfigurację OBK.
    Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937 Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937

    Nie skorzystałem z poniższych informacji, ponieważ wszystko skonfigurowało się automatycznie. Ale niech tu pozostaną:
    Spoiler:
    Konfiguracja urządzenia, wyodrębniona z Tuya:
    - BL0937 SEL na P26
    - Przycisk (kanał 1) na P24
    - BL0937 VI (CF1) na P7
    - Dioda LED Wi-Fi na P23
    - BL0937 ELE (CF) na P6
    - Przekaźnik (kanał 1) na P8
    Urządzenie wydaje się korzystać z modułu CB2S, w którym zastosowano układ BK7231N.
    Wewnętrzna platforma urządzenia – bk7231n, co odpowiada BK7231N.
    Sekcja Tuya zaczyna się, jak zwykle, od 2023424 (0x1EE000)
    Po ponownym uruchomieniu gniazdka konfiguracja zmieniła się na następującą:

    Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937



    Zrestartowałem gniazdko i otworzyłem jego stronę internetową w przeglądarce, aby sprawdzić, czy pomiar mocy działa prawidłowo – wartości mocy, napięcia i natężenia prądu wyświetlane w aplikacji internetowej były prawidłowe (w porównaniu z innym urządzeniem do pomiaru mocy) – nie była więc wymagana żadna kalibracja.
    Następnie utworzyłem poniższy plik autoexec.bat w celu zaimplementowania wymaganej funkcjonalności (jeśli zużycie energii w ciągu ostatnich 15 minut wynosi mniej niż 7 watów, należy wyłączyć zasilanie):
    Kod: Lua
    Zaloguj się, aby zobaczyć kod


    Wszystko działa tak, jak chciałem!

    Naprawa inteligentnego gniazdka BK7231N CB2S z modułem BL0937

    Szablon JSON z zakładki głównej aplikacji internetowej:
    Kod: JSON
    Zaloguj się, aby zobaczyć kod

    Fajne? Ranking DIY
    O autorze
    vklimk
    Poziom 2  
    Offline 
    vklimk napisał 2 postów o ocenie 3, pomógł 1 razy. Jest z nami od 2026 roku.
  • REKLAMA
  • #2 21925204
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14637
    Pomógł: 655
    Ocena: 12649
    Bardzo ciekawe, byłem pewien, że znowu pójdzie o kondensatory, które, jak wiadomo, szybko się psują w tych klonach LSPA9. A jednak winowajcą okazała się pamięć flash… Zastanawiam się, jak to się mogło stać?

    Żeby było jasne – wspomniałeś, że nie reagowało na naciśnięcie przycisków, ale było też całkowicie offline, prawda? Mówiąc wprost – nie działało z powodu uszkodzonej pamięci flash?
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #3 21925227
    vklimk
    Poziom 2  
    Posty: 2
    Pomógł: 1
    Ocena: 3
    >>21925204
    p.kaczmarek2 napisał:
    Zastanawiam się, jak to się mogło stać?

    Trudno powiedzieć, jak to się właściwie stało. Najprawdopodobniej to wina uszkodzonego mikrokontrolera. I ten problem na pewno kiedyś powróci.
    p.kaczmarek2 napisał:
    Było też całkowicie offline, prawda?

    Gniazdko było całkowicie offline – nie było widoczne w aplikacji Yandex Smart Home i nie mogłem wykonać polecenia ping z wiersza poleceń.
    Jednak jego dioda LED migała raz za każdym razem, gdy podłączałem je do gniazdka ściennego – to był jedyny znak życia. Byłem więc w 90% pewien, że była to wewnętrzna usterka mikrokontrolera (miganie – to zmiana stanu GPIO, więc oprogramowanie układowe działało, ale nieprawidłowo, doszło do zawieszenia), a pozostałe 10% to problem z zasilaniem (mikrokontroler zatrzymał się po kilku sekundach z powodu niestabilnego zasilania).
    p.kaczmarek2 napisał:
    Mówiąc wprost – urządzenie było martwe z powodu uszkodzonej pamięci flash?

    Dokładnie

    A tak przy okazji. Może lepiej byłoby przenieść ten wątek do sekcji Urządzenia inteligentnego domu ?
  • REKLAMA
  • #4 21925655
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14637
    Pomógł: 655
    Ocena: 12649
    To dla mnie zastanawiające, bo z tego, co wiem, bootloader nigdy nie jest w żaden sposób nadpisywany przez aplikację. A jednak twierdzisz, że był uszkodzony w punkcie 0x0, czyli w pierwszych bajtach? Być może przypadkowo uruchomiono polecenie zapisu do pamięci flash z przesunięciem 0x0… nie jestem pewien.

    Jasne, przeniosłem już twój wątek do sekcji „Urządzenia inteligentnego domu”.
    Pomogłem? Kup mi kawę.
  • #5 21926056
    DeDaMrAz
    Poziom 22  
    Posty: 610
    Pomógł: 34
    Ocena: 130
    Widziałem już podobne sytuacje w przypadku spadków napięcia w urządzeniach zasilanych z sieci, podobne do tych, które występują w urządzeniach zasilanych z baterii, gdy te całkowicie się wyczerpią. Kilka modułów, które testowałem na stole warsztatowym, musiało zostać zresetowanych przez interfejs SPI, ponieważ nawet interfejs UART był niedostępny.

    Być może warto jeszcze raz podkreślić znaczenie posiadania oryginalnej kopii zapasowej, choćby tylko na wypadek takich sytuacji.
📢 Słuchaj (AI):
REKLAMA