Flashowanie Spectrum Smart NYMPHEA

Dzień dobry,

Zakupiłem oprawy LED od firmy Spectrum Smart.
Dokładnie te: Inteligentna oprawa okrągła, SMART LED NYMPHEA 36W CCT, plafon – SpectrumSmart.pl
Domyślnie przychodzą one z Chińskim oprogramowaniem Tuya. Próbowałem wgrać tam tasmotę poprzez tuya-convert (ten bezinwazyjny sposób upgrade firmwaru), ale wychodzi na to, że moja lampa jest zbyt nowa, aby dała się nabrać na taką sztuczkę.
Zastanawiam sie, czy ktoś na tym forum też ma taką oprawę i flashował ją bądź próbował flashować i jest w stanie przekazać mi jakiekolwiek informacje, jak się za to zabrać.

Znalazłem coś takiego: Spectrum Smart Nymphea 36W CCT Ceiling Light (SLI031032CCT) Configuration for Tasmota
Tam jest następujący tekst:

WARNING: New Tuya devices have replaced their Wi-Fi module with one incompatible with Tasmota!!!
Tuya-Convert might not be possible for this device since the template was added (2021-03-23).

Dlatego zastanawiam się, czy w ogóle powinienem próbować flashować to za pomocą jumperów… :confounded:

Pozdrawiam serdecznie i dziękuję za wszelkie odpowiedzi!

W bazie, którą sam podlinkowałeś jest ostrzeżenie (to jest ważniejsze, bo sprzęt może być zbudowany na innym MCU niż Espressif):

WARNING: New Tuya devices have replaced their Wi-Fi module with one incompatible with Tasmota!!!

Więc najlepiej abyś otworzył sprzęt i sprawdził jakie ma “flaki”.
Zrób czytelne zdjęcia makro, wrzuć je do posta.

Generalnie istnieją też alternatywne projekty do Tasmoty dla innych od Espressif’ów MCU stosowanych przez Tuya.

Otworzyłem oprawę, żeby dostać się do jej “bebechów”.

To jest cała płytka PCB:

A to jest sam moduł WiFi:


Model: TYWE5P
PN: 18X023010267
S/N: UDBB19ALQ0047F

Znalazłem takie coś: TYWE5P Module Datasheet-Tuya IoT Development Platform-Tuya Developer
Tam jest napisane:

[…] It consists of a highly integrated radio frequency chip (ESP8266) and several peripheral components […]

Co ni mniej ni więcej oznacza, że płytka oparta jest na ESP8266, więc bezproblemowo powinienem móc wgrać tam oryginalną tasmotę.
Dobrze myślę?

Edit: Zastanawiam się jeszcze, czy przypadkiem to “YX201912” na płytce PCB nie oznacza roku i miesiąca produkcji, ale to tylko moje domysły :slight_smile:

Tak, w dodatku na tym rysunku jest pinout

Możesz spróbować się podpiąć bez wylutowywania modułu (zasilanie z zewnątrz 3,3V + mostek UART-USB)

Mam w domu UART-USB.
Wystarczy, że przylutuję jumpery do odpowiednich pinów, zaciągnę obecny firmware (na wypadek, jakby coś poszło nie tak) i zflashuję tasmotę, tak?
Jaką wersję tasmoty wybrać? Bo jest ich kilka:

Ło panie, to trzeba na spokojnie dokumentację poczytać (bo wiedza co się robi to podstawa), a startujesz chyba od końca, mogę napisać, że najzwyklejszą, ale wtedy nie przeczytasz dokumentacji (i nie będziesz wiedział po co są te inne wersje i dlaczego nie są do twojego sprzętu oraz dlaczego w szczególności nie powinieneś wgrywać ani wersji 4MB, ani właściwie praktycznie żadnej specjalizowanej).
Mam nadzieję, że chociaż wiesz jak sobie zrobić zrzut fabrycznego firmware.

Tak, wiem, jak wykonać zrzut, bo flashowałem już inne urządzenia.
Przeczytam do czego są różne wersje i spróbuję zflashować ten moduł :slight_smile:

Edit:

@szopen Poszło bezproblemowo, ale nie mogę zuplowadować firmware tasmoty.
Próbowałem Tasmotizerem i ESPHome Flasher.

Jestem pewien, że wybieram dobry port COM.
Zanim podłączyłem urządzenie do komputera po USB to pin GPIO0 wpiąłem do masy, więc teoretycznie powinno być dobrze.

Ale to nie wygląda na problem z flashowaniem, tylko na problem z portem szeregowym w windowsie
(więc nie jestem przekonany, że masz poprawny backup fabrycznego wsadu)

Swoją drogą backupu nigdy nie robiłem przy pomocy esphome flasher (nie jestem przekonany, że w ogóle tak zgrany wsad będzie do czegokolwiek przydatny),
tylko natywnym flasherem espressif’a (obsługiwanym z linii poleceń)

Zasilasz moduł oddzielnym zasilaczem (NIE z mostka USB-UART)?
(nie wiem jakie tam są peryferia na tym samym zasilaniu, więc jest spora szansa, że mostek nie ma obciążalności wystarczającej do zasilenia całego urządzenia)

Backupowałem za pomocą esptoola uruchamianego z fedory.
Oto komenda, której użyłem:

esptool -p /dev/ttyUSB0 read_flash 0x0 0x100000 firmware.bin

Na Fedorze miałem ten sam problem, więc pomyślałem, że to coś nie tak z Linuxem, więc przerzuciłem się na Windowsa, jednak tutaj mam ten sam problem.

Moduł zasilam mostkiem USB-UART.

Edit: Mam 2 mostki UART-USB. Czy mogę jednym z nich zasilić urządzenie (3.3V), a drugim przesyłać dane (TX, RX, GND)?

Tak, skoro esptool to OK (o ile oczywiście się coś zgrało - warto zajrzeć do pliku).

Masz multimetr to sprawdź napięcie.
Windows wymaga sterowników.
Zweryfikować poprawne działanie mostka USB-UART jest dość łatwo - zwierasz RX z TX i w lokalnym terminalu sprawdzasz czy jest echo.

Przelecę binwalkiem ten plik i sprawdzę, czy coś tam jest.

Możesz jeszcze prześledzić na płytce czy piny RX i TX modułu Tuya nie są gdzieś w coś wpięte (co mogłoby zakłócać komunikację), template z bazy Blakaddera sugeruje, że nie są, ale lepiej obejrzeć skoro masz to w ręce.

Przejechałem to binwalkiem i wychodzi na to, że backup firmwara zrobił się poprawnie:
obraz

Nie mam przy sobie multimetra :confused:

Tego się obawiałem. Zostanę przy Linuxie.

Edit: Sprawdziłem działanie mojego mostka UART i jest sprawny.

Więc esptoolem powinieneś dać radę wrzucić tasmotę (najpierw skasuj flasha).

A czy trzeba wprowadzać go w tryb downloadu przez przypięcie GPIO0 do GND? Czy mogę flashować od razu po wpięciu?

Tak

Nie rozumiem

Masz podać zasilanie MCU mając wcześniej spięte GPIO0 i GND (i w przypadku prostego modułu nawet nie musisz tego odpinać przed flashowaniem, tylko oczywiście nie zabootuje normalnie po flaszowaniu, jeśli nie odepniesz potem, ale nie róbmy zagadnienia z prostej sprawy).

Wszystko podpiąłem poprawnie.
Otrzymuję komunikat z ESPHome Flashera:

Using '/dev/ttyUSB0' as serial port.
Unexpected error: type object 'ESPLoader' has no attribute 'detect_chip'

Co robię nie tak?

Brak komunikacji. Zasadniczo powinien zostać przesłany malutki programik do RAMu (stub) i odpalony w ESP (to jest też wymagane przy backupie, skoro się udało wtedy, to zrób tak samo).

Prawdopodobnie nie jest w trybie bootloadera? GPIO0 podpięte do masy?
bootstrapowych pinów jest jeszcze klika (być może są w układzie z czymś połączone).

Nie mam pojęcia

Tak

Generalnie rozlutowałem wszystkie jumpery i przylutowałem je na nowo z nadzieją, że to był problem z lutem, ale to na nic.

Edit: Tak to wygląda

To jeszcze raz zgraj backup flasha i nie rozłączając się ani nie resetując sprawdź czy nadal schodzi poprawny plik, jeśli tak, to skasuj flash i (znów bez resetu?? tu prawdopodobnie trzeba zresetować przez odcięcie zasilania) go zaprogramuj.

Aż zajrzałem do dokumentacji czy jest kombinacja pinów (poza oczywiście GPIO0, która mogłaby uniemożliwić flashowanie i nic takiego nie widzę, bo gdyby GPIO15 było podciągnięte pullupem to nigdy byś się nie dostał do trybu bootloadera, więc byś nie zgrał poprawnego backupu, GPIO2 natomiast musi być podciągnięte pullupem, bo bez tego by nie odpalało MCU ani w trybie pracy ani bootloadera).

Co do obrazków, to są granice brawury - masz to w ręce, więc łatwiej Ci sprawdzić niż mi rzeźbić po wszystkich obrazkach do tej pory.

RX do TX i nawzajem, ale to chyba znasz na pamięć (i musiałeś mieć tak opięte skoro backup się udał).