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ł):
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:
W środku była też zwyczajowo krótka instrukcja:
Na szczęście sam adapter wyglądał na nietknięty:
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...
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):
Nastepnie, w aplikacji na telefonie, użyłem "Dodawania ręcznego" i wybrałem z menu "Oświetlenie WiFi" z kategorii "Oświetlenie":
Aplikacja pamiętała już informacje o mojej sieci WiFi (SSID i hasło):
Włączyłem i wyłączyłem urządzenie (przyciskiem na nim) kilka razy, zgodnie z instrukcją:
Spowodowało to miganie diody na urządzeniu:
Zaznaczyłem pole "Potwierdź mruganie", kliknąłem "Next" i reszta parowania samoczynnie przebiegła pomyślnie:
Od tego czasu urządzenie pojawiło się na liście moich urządzeń Blitzwolfa:
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:
Jednak nie starcza to, by wyjąć płytkę:
Trzeba jeszcze poluzować te dwie śrubki, które trzymają od środka przewody do oprawki:
Po ich poluzowaniu można delikatnie wysunąć (i lekko przekręcić) płytkę z elektroniką. Od środka wygląda to tak:
Druga połówka:
Wtedy można już przyjrzeć się płytce.
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:
Na pokrywie modułu WiFi jest tylko nazwa całego urządzenia - LT30:
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:
To co widzimy tutaj jest zgodne z dostępnym w sieci opisem sposobu programowania ESP8266 poprzez UART:
Na wierzchu płytki widać jeszcze kondensatory 4.7uF 400V, dławik:
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):
Zbliżenie na warystor:
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ą:
Od spodu jest dużo elementów SMD.
Przede wszystkim mostek prostowniczy na napięcie sieciowe MB6S w obudowie SOIC4:
Jego nota katalogowa dla zainteresowanych:
Nieco dalej za nim jest THX208:
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:
Schemat wewnętrzny:
Przykładową aplikację:
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:
Pełna nota katalogowa THX208:
JC3H7 to właśnie transoptor. Wygląda na odpowiednik bardziej znanego
JC817:
W pobliżu są też diody prostownicze wymagane do działania przez THX208:
Dodatkowo jest też AMS1117 3.3, czyli regulator LDO zapewniający stabilne 3.3V dla 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:
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:
Po wylutowaniu zobaczyłem, że jego piny z drugiej strony są podpisane - to na pewno się przyda. Przed wylutowaniem zasłaniał to laminat.
Zdjąłem również jego pokrywę:
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:
W roli regulatora 3.3V użyłem TC1264:
A w roli konwertera USB<->UART HW-597:
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:
Po stronie komputera użyłem XTCOM_UTILITY:
W razie czego daję XTCOM_UTILITY w załączniku poniżej:
W Tools->Config Device wybrałem ustawienie portu COM (u mnie to był COM3, baud standardowo jak dla ESPów 115200):
(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:
(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:
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:
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:
Dodatkowo na swoją płytkę stykową dodałem rezystor 470 omów i diodę LED.
W Arduino wybrałem "Generic ESP8266 Module", baud 115200:
Skompilowałem i wgrałem kod blink z 'Examples':
Kod: C / C++
Wgrywanie się powiodło, poniżej pełny log:
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 / C++
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 Pomogłem? Kup mi kawę.
