Witajcie, przedstawię tu dwie z pozoru typowe lampki LED (E27 i E14) RGBCW Tuya Smart, które wyróżniają się tym, że są wyjątkowo trudne w programowaniu ze względu na zasłonięte pady UART w modułach WB2L_M1 (BK7231N). Normalnie by zmienić im wsad trzeba by te moduły odlutowywać, ale w temacie pokażę potem alternatywny, wygodniejszy sposób, czyli zmianę ich firmware bez otwarcia obudowy dzięki użyciu tuya-cloudcutter. Firmware będzie zmieniane na mój OpenBeken, czyli odpowiednik Tasmoty przeznaczony na bardziej egzotyczne platformy używane przez Tuya. Temat będzie kolejnym już z kolei opisem wnętrza i programowania urządzeń IoT i nie będzie pokrywać omawianych już tematów. Zapraszam do poznania pozostałych tematów z serii, znajdziecie je w tym dziale (Wnętrza Urządzeń).
Zakup LEDówek
Obie sprowadziłem z Chin, poniżej zrzuty ekranu z ofert:
Płaciłem po około 40 zł za sztukę. W niektórych sklepach w Polsce da się dostać podobne LEDówki taniej (zwykła jednokolorowa z WiFi była raz nawet po 15 zł), ale chciałem i tak sprawdzić te z Chin, gdyż szukam popularnych produktów aby dodać ich wsparcie do mojego OpenBeken.
Przesyłka była z Chin, ale nie było problemów z cłem. Na towar czekałem dość długo, kilka tygodni, aż straciłem rachubę czasu.
Wnętrze i programowanie lampki WiFi Tuya RGBCW E14 9W
Na paczce z zewnątrz jest informacja o tym co zawiera:
Opakowanie; standardowo mamy kody QR do aplikacji SmartLife:
Instrukcja. Co wyróżnia te LEDówki? Pewnie m. in Bluetooth. Użyty w środku układ produkcji Beken, BK7231 (BK7231T lub BK7231N) oferuje łączność przez WiFi i Blueooth. To sprawia, że dla producentów jest bardziej atrakcyjny niż ESP8266.
WiFi standardowo 2.4GHz.
Ale testy aplikacji SmartLife przedstawiałem na forum wiele razy, więc od razu przechodzimy do wnętrza.
Kopułkę można zdjąć gołą ręką:
Płytkę z LEDami jest trudniej podważyć:
Widać tu trzy rodzaje LEDów: kolorowe (RGB), ciepłą biel i zimną biel. Spód płytki jest jednocześnie radiatorem:
Oznaczenia na PCB: C oznacza "cool" (zimną) LED, W oznacza "warm" (ciepłą) LED.
Tutaj nastąpił mały problem - chciałem zdjąć gwint (on jest zakładany), a zamiast wyjść z plastiku cały, to ułamał się w połowie, jak na zdjęciu:
Pierwszy raz mi się to zdarzyło. Trzeba będzie kleić. Przynajmniej płytkę udało się wydostać:
Widać rezystor bezpiecznikowy (w koszulce), mostek prostowniczy, moduł WiFi...
Są też dwa układy scalone. BP2616F i BP2525. BP2525 to zasilacz beztransformatorowy, pewnie zapewnia 3.3V dla WB2L_M1. Drugi element być może zapewnia zasilanie dla LED.
Z drugiej strony widać pięć tranzystorów NP6003. Pięć, po jednym na kanał, R, G, B, C, W. To oczywiście MOSFETy z kanałem typu N.
Warto zwrócić uwagę na Vds. Takie niskie napięcie? To dlatego, że nie przełączają one bezpośrednio potencjału sieciowego, podłączone są dopiero za BP2616F. Podejrzewam też, że BP2616F limituje prąd, więc nawet jak programowo wszystkie te pięć tranzystorów na stałe otworzymy, to nie przekroczymy pewnej z góry ustalonej bariery (kiedyś to sprawdzałem, LEDówki smart pracują albo w trybie RGB albo w CW, nigdy nie ma tak że wszystkie LEDy na raz świecą, z ciekawości włączałem kolejno wszystkie LEDy i zobaczyłem, że po włączeniu na raz RGB i CW wcale nie rośnie bardziej prąd, a to dlatego, że układ typu BP2616F go limituje).
Użyty moduł WiFi WB2L_M1 zdaje się być wersją WB2L:
Nie jest to jednak zwykły WB2L. WB2L ma w środku BK7231T, a WB2L_M1 bazuje na nieco nowszym układzie Beken, BK7231N. Warto o tym pamiętać przy wgrywaniu wsadu.
Dodatkowo widzimy, że piny RX/TX są zasłonięte.
Jak programować BK7231?
Odsyłam do tematów:
Qiachip Smart Switch - BK7231N/CB2S - wnętrze, programowanie
Ogrodowy podwójny przekaźnik Tuya CCWFIO232PK - BK7231T - programowanie
'Żarówka' LED WiFi RGBCW Tuya - wnętrze, programowanie, BK7231N
Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
W celu odlutowania modułu dodałem na jego pady topnika oraz świeżego ołowiowego spoiwa i zacząłem stopniowo grzać je hot air:
Na spodzie modułu widać upragniony interfejs UART do programowania:
Oczywiście ten moduł ma wrócić na miejsce. Trzeba oczyścić pady plecionką:
Płytkę też myłem, mam do tego IPA.
Programowanie modułu - tak jak w poprzednich tematach z serii:
Moduł wraca na miejsce - dałem świeżego spoiwa na jeden pad, umiejscowiłem odpowiednio moduł, a potem dolutowałem pozostałe pady:
W kwestii tej lampki to tyle. Warto jeszcze pokazać jak świecą poszczególne kolory:
Wnętrze i programowanie lampki WiFi Tuya RGBCW E27 18W
Tu sytuacja jest bardzo podobna, więc komentarz ograniczę do minimum.
Tym razem udało się zdjąć gwint. Widać tu jak był zamocowany:
W środku sytuacja jest podobna:
BP2516 (zamiast BP2616F) i BP2525 (tak jak poprzednio). Tym razem przedstawię noty katalogowe:
Tak jak wcześniej - de facto dwa zasilacze.
Jeden zasila LEDy, drugi moduł WiFi.
Na płytce jest też 5 tranzystorów (pewnie MOSFET) MLE08, których noty już nie szukałem, ale jeśli ktoś znajdzie to zapraszam do uzupełnienia.
Tutaj też pady do programowania są zasłonięte. Trzeba odlutować.
Najpierw usunąłem jeden kondensator elektrolityczny, bo był zbyt blisko padów i nie chciałem go przegrzać.
Dodatkowe spoiwo Pb, topnik i grzejemy:
Spód modułu:
Programowanie:
Moduł wraca na miejsce:
Konfiguracja OpenBeken dla RGBCW i Home Assistant
Wszystko tak jak w przypadku poprzedniego tematu z serii:
'Żarówka' LED WiFi RGBCW Tuya - wnętrze, programowanie, BK7231N
Wygodniejszy sposób - zmiana wsadu zdalnie, przez WiFi
W przypadku tych LEDówek zmiana wsadu była bardzo trudna. Nie każdy początkujący potrafi lutować, a co dopiero posługiwać się hot air i dodatkowo jeszcze wlutować moduł na swoje miejsce.
Na szczęście w przypadku BK7231T i BK7231N jest alternatywa do programowania "kabelkowego", tuya-cloudcutter, czyli zasadniczo odpowiednik ESPowego tuya-convert.
https://github.com/tuya-cloudcutter/tuya-cloudcutter
Niestety jest jeden haczyk...
Aby tuya-cloudcutter wspierał dane urządzenie, ktoś musi raz zgrać normalnie "kabelkowo" z niego wsad, tak by autorzy tuya-cloudcutter (bądź kontrybutorzy, w tym ja) mogli wyciągnąć z niego, powiedzmy, offsety potrzebne do OTA.
Przy zgrywaniu wsadu warto jest najpierw sparować nasze urządzenie IoT ale z testową siecią WiFi, gdyż nasze SSID i hasło będzie też w tym wsadzie.
Zgrać należy cały wsad, całe 2MB.
Nie warto jest zgrywać wsadu w ogóle bez parowania, bo wtedy brakuje tzw. schema w tym wsadzie i trudniej przygotować jest OTA.
Po zgraniu wsad należy umieścić tutaj;
https://github.com/tuya-cloudcutter/tuya-cloudcutter/issues
(ewentualnie możecie go wysłać do mnie, gdzieś na naszym forum dać, to ja przekażę dalej)
Tu przykładowo umieściłem wsad z jednej z LEDówek z tematu:
https://github.com/tuya-cloudcutter/tuya-cloudcutter/issues/91
Po zdobyciu offsetów ze zgranego wsadu wszystkie produkty z danej serii można już programować bez otwierania obudowy.
Sama instalacja tuya-cloudcutter jest bardzo prosta
Proponuję wykonać to na wirtualnej maszynie Ubuntu. Ze starszymi wersjami miałem kłopot, polecam Ubuntu 20.04.4 LTS.
Trzeba kolejno:
1. zainstalować curl
2. zainstalować docker, np. poprzez get.docker.com
3. pobrać tuya-cloudcutter (git clone repozytorium) i nadać uprawnienia skryptom ze środka
4. podłączyć na USB karte WiFi, która wspiera tryb AP (tzw. "wifi dongle"). Sam korzystam z TL-WN722N.
5. umieścić wsad openbk w folderze od wsadów z Tuya-cloudcutter
6. odpalić ./run_flash i postępować zgodnie z instrukcjami
Zrzuty ekranu z przebiegu tuya-cloudcutter:
Być może w osobnym temacie przedstawię bardziej szczegółową instrukcje.
Podsumowanie
Kupiłem i rozebrałem te LEDówki, byście Wy już nie musieli.
Dzięki tuya-cloudcutter powinno się dać je już programować bez otwierania obudowy.
Bez tego narzędzia byłoby dość ciężko - zwłaszcza, że tu pady do programowania są zasłonięte i trzeba odlutowywać moduł.
Czy dałoby się jakoś sensownie odlutować go bez gorącego powietrza? Pewnie podłużny grot w kształcie łopatki (choćby zrobiony samodzielnie z drutu, do lutownicy transformatorowej) by tu dał radę, ale mi łatwiej było z hot air.
Przy okazji udało mi się odkryć kolejną nowość, a mianowicie moduł WB2L_M1, który jest zasadniczo taki jak WB2L ale z BK7231N a nie 'T'. Trzeba o tym pamiętać przy programowaniu. Jeśli się pomylimy i wgramy wsad ze złej wersji, to możemy sobie zablokować urządzenie, zwłaszcza w przypadku OTA.
Co do reszty to standardowo, rezystor bezpiecznikowy, słabe odprowadzanie ciepła, brak dodatkowych zabezpieczeń i filtrów...
Fajne? Ranking DIY Pomogłem? Kup mi kawę.
