Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP

p.kaczmarek2 13 Paź 2020 22:50 2868 6
  • BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Witajcie moi drodzy
    Przedstawię tu krótki test przejściówki gwint E27-E27 z WiFi od BlitzWolfa, która pozwala na zdalne sterowanie dowolną żarówką z gwintem E27 poprzez naszą domową sieć WiFi.
    Dodatkowo w temacie pokażę jaki dokładnie moduł WiFi użyty jest w środku oraz jak możemy go łatwo programować poprzez Arduino IDE.

    Powiązane tematy
    Wcześniej testowałem już tego typu produkty. W pierwszym temacie z serii dałem szczegółowy opis instalacji podobnego gadżetu od Blitzwolfa:
    Gniazdo elektryczne sterowane przez WiFi - BW-SHP8 - uruchomienie i testy
    W tym temacie omówiłem BlitzWolfowy włącznik światła:
    Test i wnętrze BW-SS3, czyli włącznika światła na WiFi od Blitzwolfa
    A tu omawiałem podobny gadżet od eWeLink/Coolkit:
    Gniazdo/wtyk z WiFi PS-16-M i aplikacja eWeLink/Coolkit - test i teardown

    Zakup BW-LT30
    BW-LT30 znalazłem w internecie za 11.89$ + 2.5$ przesyłka (czyli około 55zł):
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Przesyłka doszła dość późno. Zamówienie złożyłem 13-go września a kurier (przynajmniej kurier) dostarczył paczkę do rąk własnych 12 października, oczywiście w foliowej kopercie z logiem strony na której zakupiłem przedmiot.
    W paczce było standardowe pudełko Blitzwolfa, choć troszkę w niepokojącym stanie:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    W środku była też zwyczajowo krótka instrukcja:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Na szczęście sam adapter wyglądał na nietknięty:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Od razu rzuca się w oczy przycisk, przecież to klasyczny tactile switch i widać go z zewnątrz. Nie powinno być jakiegoś kapturka na nim, gumki? Ale ze zdjęć z internetu wynika, że nie...
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP

    Parowanie BW-LT30 z aplikacją
    Pierwsze podłączenie (parowanie) BW-LT30 z aplikacją BlitzWolfa Androida wykonałem podobnie jak w przypadku poprzednich testowanych urządzeń. Najpierw podłączyłem oprawkę do zasilania (użyłem przejściówki z gniazda na gwint E27):
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Nastepnie, w aplikacji na telefonie, użyłem "Dodawania ręcznego" i wybrałem z menu "Oświetlenie WiFi" z kategorii "Oświetlenie":
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Aplikacja pamiętała już informacje o mojej sieci WiFi (SSID i hasło):
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Włączyłem i wyłączyłem urządzenie (przyciskiem na nim) kilka razy, zgodnie z instrukcją:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Spowodowało to miganie diody na urządzeniu:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Zaznaczyłem pole "Potwierdź mruganie", kliknąłem "Next" i reszta parowania samoczynnie przebiegła pomyślnie:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Od tego czasu urządzenie pojawiło się na liście moich urządzeń Blitzwolfa:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP

    Wnętrze BW-LT30
    BW-LT30 uruchomiłem i sprawdziłem, teraz pora na teardown.
    Do środka dostajemy się poprzez odkręcenie dwóch śrubek, tych tutaj:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Jednak nie starcza to, by wyjąć płytkę:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Trzeba jeszcze poluzować te dwie śrubki, które trzymają od środka przewody do oprawki:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Po ich poluzowaniu można delikatnie wysunąć (i lekko przekręcić) płytkę z elektroniką. Od środka wygląda to tak:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Druga połówka:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Wtedy można już przyjrzeć się płytce.
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Od razu rzuca się w oczy przekaźnik JZC-32F 005-HSQ (10A 250V). Również od razu widać serce układu, czyli moduł WiFi z antenką na PCB:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Na pokrywie modułu WiFi jest tylko nazwa całego urządzenia - LT30:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Więc nie ma pewności co to za moduł, ale wygląda na jakiś (często stosowanych w tego typu urządzeniach) ESP8266. Sugerują też o tym podpisane na jego płytce wyprowadzenia (GND, TXD0, IO5, IO2, IO15, Tout).
    Dodatkowo są przy nim podpisane punkty lutownicze (VCC33V, GND, IO0, TX, RX), które wyglądają na złącze do programowania:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    To co widzimy tutaj jest zgodne z dostępnym w sieci opisem sposobu programowania ESP8266 poprzez UART:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Na wierzchu płytki widać jeszcze kondensatory 4.7uF 400V, dławik:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Widać też mały transformatorek, więc pewnie na pokładzie jest jakiś mały zasilacz impulsowy.
    Jak również element podpisany "F1", zapewne od Fuse (bezpiecznik/rezystor bezpiecznikowy) i VR1 (warystor):
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Zbliżenie na warystor:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    W pobliżu jest też podobny kolorem lecz zupełnie różniący się funkcją element CY1, kondensator o kodzie 102 (czyli wartości 1nF) łączący stronę pierwotną przetwornicy z jej stroną wtórną:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Od spodu jest dużo elementów SMD.
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Przede wszystkim mostek prostowniczy na napięcie sieciowe MB6S w obudowie SOIC4:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Jego nota katalogowa dla zainteresowanych:
    MB8S-D.PDF Download (345.88 kB)
    Nieco dalej za nim jest THX208:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Jest to kontroler PWM przetwornicy, czyli układ na którym zrealizowane jest zasilanie modułu z ESP. Tworzy on mały zasilacz impulsowy który chodzi cały czas jak tylko BW-LT30 jest podłączone do sieci.
    W internecie można znaleźć jego wyprowadzenia:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Schemat wewnętrzny:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Przykładową aplikację:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Przykładowy schemat z THX208 zapowiada nam co możemy znaleźć na płytce nieco dalej - powinien być tam jakiś transoptor, i też tak jest w rzeczywistości:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Pełna nota katalogowa THX208:
    THX208.pdf Download (804.5 kB)
    JC3H7 to właśnie transoptor. Wygląda na odpowiednik bardziej znanego
    JC817:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    W pobliżu są też diody prostownicze wymagane do działania przez THX208:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Dodatkowo jest też AMS1117 3.3, czyli regulator LDO zapewniający stabilne 3.3V dla ESP:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Dodatkowo na płytce widzimy jeden mały tranzystor który po prostu włącza/wyłącza przekaźnik i jest sterowany bezpośrednio z GPIO od ESP.

    Ciąg dalszy teardown - środek modułu od WiFi
    Temat można by już zakończyć, jednak dla mnie to było troszkę za mało.
    Uznałem, że warto jeszcze będzie sprawdzić co tak naprawdę siedzi w module od WiFi.
    Najpierw przylutowałem po prostu piny do programowania:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Ale potem uznałem, że nie będę zgadywać co tam za ESP w środku siedzi (choć wiem, że dałoby się i bez tego) i po prostu postanowiłem wylutować go z płytki za pomocą plecionki:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Po wylutowaniu zobaczyłem, że jego piny z drugiej strony są podpisane - to na pewno się przyda. Przed wylutowaniem zasłaniał to laminat.
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Zdjąłem również jego pokrywę:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Moje początkowe podejrzenia się potwierdziły. To ESP8266, wraz z zegarem 26MHz i kością pamięci Flash BoyaMicro.

    Komunikacja z modułem od WiFi
    Programowanie ESP8266 odbywa się poprzez UART. ESP8266 wymaga zasilania 3.3V (nie 5V!) do poprawnego działania oraz podpięcia GPIO0 do masy na czas programowania. Tak jak na tym schemacie:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    W roli regulatora 3.3V użyłem TC1264:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    A w roli konwertera USB<->UART HW-597:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Wszystko zmontowałem na płytce stykowej.
    Do wylutowanego modułu przylutowałem odpowiednio kabelki (przylutowałem tylko GND, RX, TX, VCC3.3V oraz GPIO0) i podłączyłem do zasilania 3.3V i konwertera UART:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Po stronie komputera użyłem XTCOM_UTILITY:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    W razie czego daję XTCOM_UTILITY w załączniku poniżej:
    ESP8266-XT...M_UTIL.zip Download (183.8 kB)
    W Tools->Config Device wybrałem ustawienie portu COM (u mnie to był COM3, baud standardowo jak dla ESPów 115200):
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    (Tu warto jest zaznaczyć, że XTCOM_UTILITY ma na sztywno wpisane porty COM od 1 do 6 i nie widzi innych portów, a nasze przejściówka może mieć większy numer, np. COM15. Wtedy trzeba w menedżerze urządzeń zmienić jej numer COM na jakiś od 1 do 6.)
    Kliknąłem Open - otwarcie portu COM się powiodło:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    (w tym momencie jeszcze nie wiemy, czy mamy komunikację z ESP)
    A następnie kliknąłem "Connect", by sprawdzić czy ESP odpowiada na nasze pakiety:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Sukces! Czyli komunikacja z ESP się powiodła i można go teraz programować.
    Ale jednak nie programowałem ESP poprzez XTCOM_UTILITY, uznałem, że jest lepszy sposób...

    Pierwsza próba programowania modułu ESP8266 z Arduino
    ESP8266 chciałem zaprogramować najprostszym możliwym programem czyli 'miganiem diody' tylko w ramach sprawdzenia czy wszystko jest funkcjonalne.
    Użyłem do tego Arduino IDE, które wspiera ESP8266 (i podobne) po dodaniu odpowiedniej paczki z Githuba:
    https://github.com/esp8266/Arduino
    Dodaje się ją poprzez 'Board Manager', szczegóły w repozytorium git powyżej.
    Kopia użytej wersji repozytorium:
    ESP-Arduin...-10-13.zip Download (39.17 MB)
    Musiałem też jeszcze podłączyć jakąś diodę. Wybrałem GPIO2 (pin 2, był domyślnie też wybrany w Arduino) i dolutowałem do niego kabelek:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Dodatkowo na swoją płytkę stykową dodałem rezystor 470 omów i diodę LED.
    W Arduino wybrałem "Generic ESP8266 Module", baud 115200:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Skompilowałem i wgrałem kod blink z 'Examples':
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Wgrywanie się powiodło, poniżej pełny log:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    Jednakże dioda nie zaczęła migać. Musiałem najpierw odpiąć GPI0 od masy i wyłączyć i podłączyć ponownie układ do zasilania. Rezultat:

    Na koniec jeszcze zmodyfikowałem troszkę blinka:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Rezultat:

    Wygląda na to, że wszystko działa. Jeszcze trzeba sprawdzić bardziej zaawansowane rzeczy (WiFi) i też sprawdzić programowanie tego ESP w całym adapterze BW-LT30, ale to innym razem.

    Podsumowanie
    Produkt jest funkcjonalny i poprawnie spełnia swoją rolę, choć mam wrażenie, że jest nieco bardziej toporny niż inne jego odpowiedniki dostępne w sieci. Wydaje się być też dość duży i sądzę, że gdyby producent się postarał to mógłby nieco bardziej wszystko zminimalizować.
    Jednakże sposób podłączenia BW-LT30 ma jedną bardzo mocną stronę, a mianowicie może go zamontować każdy kto tylko potrafi wkręcić/wykręcić żarówkę. Jest to z pewnością łatwiejsze niż np. zamiana włącznika światła z puszki na taki 'smart' (np. taki jak omawiałem tutaj).
    W temacie dodatkowo sprawdziłem co tak naprawdę siedzi w tym BW-LT30, zwłaszcza, że nie znalazłem o tym informacji w wyszukiwarce. Chyba nikt wcześniej tego nie sprawdzał, bo nie widziałem BW-LT30 na liście wspieranych urządzeń przez Tasmotę i podobne.
    A w środku oczywiście siedzi ESP8266 i można go łatwo programować, więc nic nie stoi na przeszkodzie wgrania tam własnego firmware.
    Dodatkowo sprawdziłem jak możemy pisać pod niego kod - wszystko można łatwo zrobić w Arduino IDE. Konfiguracja środowiska pod to trwa dosłownie kilka minut i myślę, że naprawdę każdy może sam zamrugać diodą poprzez taki ESP.
    PS: Teraz zostało mi jeszcze z powrotem wlutować do środka ten moduł z ESP8266, ale tym być może zajmę się wkrótce - ciągle planuję zrobić na forum 'zbiorczy temat' o wgrywaniu własnego firmware (Tasmota? Domoticz?) do tego typu produktów jak ten przedstawiony tutaj, ale o tym napiszę innym razem.

    Fajne! Ranking DIY
  • IGE-XAOIGE-XAO
  • #2
    ArturAVS
    Moderator HydePark/Samochody
    p.kaczmarek2 napisał:
    Jak również element podpisany "F1", zapewne od Fuse (bezpiecznik/rezystor bezpiecznikowy) i VR1 (kondensator przeciwzakłóceniowy):

    F1 to bezpiecznik, VR1 to warystor (zabezpieczenie przed przepięciami).
  • IGE-XAOIGE-XAO
  • #3
    p.kaczmarek2
    Poziom 24  
    ArturAVS napisał:
    p.kaczmarek2 napisał:
    Jak również element podpisany "F1", zapewne od Fuse (bezpiecznik/rezystor bezpiecznikowy) i VR1 (kondensator przeciwzakłóceniowy):

    F1 to bezpiecznik, VR1 to warystor (zabezpieczenie przed przepięciami).


    Dziękuję, skorygowałem. VR1 jakoś skojarzył mi się z wizualnie z CY1 (też na tej płytce), tym kondensatorem 1nF łączącym stronę pierwotna z wtórną przetwornicy i błędnie potraktowałem te elementy jako jeden.

    Temat jeszcze będzie uzupełniany, dodam informację na którym pinie ESP jest przekaźnik, i na którym jest dioda.
  • #4
    khoam
    Poziom 39  
    p.kaczmarek2 napisał:
    To ESP8266, wraz z zegarem 26MHz i kością pamięci Flash BoyaMicro.

    Dobrze byłoby sprawdzić, jaki rozmiar ma ta pamięć Flash. Z zamieszczonego obrazka ciężko jest odczytać jej oznaczenie.
  • #5
    p.kaczmarek2
    Poziom 24  
    khoam napisał:

    Dobrze byłoby sprawdzić, jaki rozmiar ma ta pamięć Flash.


    Zwróciłem na to uwagę, ale zasugerowałem się komunikatem z Arduino IDE:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    i uznałem, że on poprawnie wykrywa sam.

    Ale ok:
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    25Q80BSTIG, chyba 25Q80BSIG.
    BW-LT30 czyli adapter WiFi na żarówkę - test, teardown i wgrywanie firmware ESP
    To by się zgadzało z tym, co zostało wykryte...
  • #6
    khoam
    Poziom 39  
    Flash 1MB dla ESP8266 to minimum. Da się wgrać ESPEasy, Tasmotę czy ESPurnę. Można też poeksperymentować z Blynkiem.

    Dodano po 20 [minuty]:

    p.kaczmarek2 napisał:
    Musiałem najpierw odpiąć GPI0 od masy i wyłączyć i podłączyć ponownie układ do zasilania.

    Jeżeli GPIO 0 jest podłączony do masy, to ESP8266 jest w trybie bootladera, czyli oczekuje na wgranie programu.
  • #7
    krzbor
    Poziom 20  
    khoam napisał:
    Flash 1MB dla ESP8266 to minimum. Da się wgrać ESPEasy, Tasmotę czy ESPurnę. Można też poeksperymentować z Blynkiem.
    Można też aktualizować przez OTA. Przy 512kB nie jest to możliwe przynajmniej w przypadku Arduino, gdzie projekt to ok. 360kB, a w pamięci muszą w czasie ładowania być obie wersje (stara i pobierana).