![]() Szybkie szukanie |
WLED "dla leniwych" - sterowanie każdą diodą RGB oddzielnie [WiFi, ESP, Android, iOS]
|
19-01-2020, 06:09
(Ten post był ostatnio modyfikowany: 03-02-2020 06:53 przez szopen.)
Post: #1
|
|||
|
|||
WLED "dla leniwych" - sterowanie każdą diodą RGB oddzielnie [WiFi, ESP, Android, iOS]
Właściwie to chciałem zatytułować wątek "WLED dla nie-programistów", ale nie wiem czy to oddaje sedno sprawy
![]() Póki co to wstępna wersja, Ameryki nie odkrywam, projekt jest dobrze udokumentowany, nawet są jakieś materiały na YT (anglojęzyczne, ale sam projekt taki jest i tego raczej nie przeskoczymy), uzupełnię może o parę linków i trochę grafiki (zdjęcia/SS/QR, większość już wrzuciłem). Moja inspiracja to projekt lampki nocnej (czy też efektowej) ze słoika ![]() https://forbot.pl/forum/topic/16878-lamp...01s-sloik/ postanowiłem zbudować coś podobnego, ale z innym oprogramowaniem (WLED jest w takim zastosowaniu mocno ciekawy - umożliwia integrację z wieloma innymi systemami, w tym np. HA czy Philips Hue, a oprócz tego umożliwia wygodną pracę stand-alone i to zarówno w sieci WiFi jak i nawet bez niej). Oficjalne rozwinięcie skrótu WLED to "WiFi Lighting Effects Driver" https://github.com/Aircoookie/WLED Mając w szufladzie kilka modułów ESP-01 ("no name"?), które raczej poświęcę na zastosowania nie wymagające usypiania modułu - podobno wersje z flashem Puya miewają z tym problemy, tu akurat link opisujący ten problem w przypadku ESP12F, ale ponoć problem jest bardziej rozległy… https://www.reddit.com/r/esp8266/comment...t_wake_up/ Generalnie miałem w planach nieco ambitniejsze posunięcie związane z kupnem tanich pasków bazujących na układach WS2812B, wspomniałem o tym tam: http://forum.jdtech.pl/Watek-home-assist...3#pid48313 ale czas mi na to nie pozwala (no i co nie bez znaczenia - nie jestem programistą ![]() Czemu nie napisałem np. o "diodach ARGB" (gejmingowy skrót od "Adressable RGB" - taka moda nadeszła, by budę blaszaka oświetlić np. na tęczowo), tylko o układach WS2812B? ponieważ w każdej obudowie jest zamknięty kontroler ze specyficznym reclockerem sygnału (tak naprawdę nie jest to typowy reclocker, tylko skutek obróbki danych wynikających ze stosowanego protokołu danych - każdy kontroler "zjada" porcję danych przeznaczoną do wysterowania połączonych z nim diod LED, a resztę odsyła do dalszego łańcucha układów, przy okazji odświeżając prawidłowy przebieg sygnału, czyli załatwiając też taką kwestię przeznaczona dla zwykłego reclockera, jeśli ktoś nie rozumie, to trzeba zajrzeć do dokumentacji, bo nie wiem czy to klarownie opisałem) oraz 3 LEDy w kolorach podstawowych, czyli RGB (czerwony, zielony i niebieski). Czasem pojawia się też nazwa NeoPixel w odniesieniu do takich układów (potocznie zwanych mocno niepoprawnie LEDami). Same paski, które kupiłem w "promo" na ALi - trafiłem tylko na takie lutowane w połowie przy zamówieniach w różnym czasie (generalnie są to metrowe odcinki z podlutowanymi złączami z obu stron, takie półprodukty "gotowe" do montażu, w tym wypadku zlutowane z 2 odcinków po 0,5m początkowo podejrzewałem, że to odpady produkcyjne, ale po zgłębieniu tematu wyszło na to, że to są zwykłe łączenia technologiczne - a akurat 0,5m to kompromis między kosztem wytwarzania, a estetyką), ale cena 1$ za metrowy pasek (z małą gęstością, bo zaledwie 30 układów na metr) i tak mnie przekonała - u nas sporo drożej (najtańsze to ~20zł za metrowy odcinek), a tak sprzedawca ma darmową reklamę (Ali dopuszcza takie oferty, mimo braku dostępności towaru, dlatego linka nie będzie, bo zagrywka sprzedającego nie była zbyt uczciwa), ale i tak jestem zadowolony (bo 4zł za 30 układów to tanio, wstępny plan zakładał użycie po 15 LED na lampkę, ale pomysł na ostateczne rozwiązanie dopiero się rodzi w bólach ![]() WLED można samodzielnie skompilować, ale tu nie planuję opisu (wprawdzie odgrzebałem starego peceta i buduję sobie na nim "środowisko" do "zabawy we współczesną elektronikę", ale to jeszcze nie ten moment - wszystko jest rozgrzebane, sprzęt ma być głównie cichy, bo chyba będzie pracował na biurku i w miarę możliwości szybki, a trafiłem też na dość poważną przeszkodę - zamówiony w ChRL ssd Netac okazał być się uwalony na starcie i zamiast taniego ssd mam przepychankę ze sprzedawcą w trakcie dispute na ali, a już wcześniej miałem okazję używać takiego ssd pod tą marką i byłby OK do takiego wykorzystania, gdyby działał…), użyłem zamiast do tego swojego też już dośc starawego laptopa, którego używam normalnie do pracy (nie związanej z programowaniem) pracującego pod win7. Dobra - do konkretu - zdecydowałem się na ultra uproszczone rozwiązanie, czyli wgranie prekompilowanych obrazów zamiast własnej kompilacji (ma to swoje ograniczenia np. nie można zdecydować z jakich wyjść skorzystamy, chyba że jest na tą okazję gotowiec, ale za to całej zabawy związanej z programowaniem jest na 5 minut roboty). 1. Więc potrzeba jakiegoś narzędzia do flashowania ESP, użyłem esphomeflasher https://github.com/esphome/esphome-flasher/ można pobrać już gotowe skompilowane wersje binarne (są na maka i win x64 oraz ostanie wydanie 32-bitowe x86) https://github.com/esphome/esphome-flasher/releases 2. W przypadku modułów nie wyposażonych w taki gadżet już na płytce (np. NodeMCU mają już wbudowany) potrzebny jakiś konwerter USB-port szeregowy UART/RS232 pracujący z poziomami napięć wyjściowych typowymi dla logiki 3,3V z działającymi sterownikami w systemie, którego używamy, do ESP używałem różnych od najprostszego CP2102 (środkowy na fotce, bez żadnych możliwości wyboru) po bardziej rozbudowanie na FT232RL (górny 3,3V i 5V czyli ogarnia większość zastosowań, dolny "super wypas" obsługuje nieco bardziej przyszłościowo 1,8V, 2,5V, 3,3V i 5V, jeśli go nie zjaram to wystarczy chyba do końca życia ![]() 3a. No i niemal na koniec potrzebny gotowy firmware dla ESP https://github.com/Aircoookie/WLED/releases 3b. Do pełni szczęścia jeszcze przyda się apka na smarfona (przy jednym sterowniku tak naprawdę nie jest potrzebna, choć poprawia wygodę, można po prostu sterować z poziomu przeglądarki) Android >=5.0 https://play.google.com/store/apps/detai...ookie.WLED iOS >=11.0 https://apps.apple.com/us/app/wled/id1475695033 Screenshot nie prezentuje wszystkich możliwości (niektóre obszary - palety i efekty są dodatkowo scrollowane, czego na automatycznym zrzucie ekranu się nie da pokazać) 3c. Tu jest miejsce gdzie wspomnę co i jak mi wyszło lub nie ![]() - na dobry początek - jeśli macie moduł ESP-01 szczególnie w wersji 1MB Puya, to możecie odpuścić sobie v0.9.0-b1 (żaden z gotowców nie działa jak należy, ale może to wina tych moich "oszukanych" ESP01 z flashem Puya) - wstępnie użyłem wersji 0.8.6 (zależało mi na tych nowych ficzerach związanych z integracją z HA), u mnie na tych ESP-01 działa jedna z dedykowanych wersji dla ESP01 edit: działa, ale jest jedno "ale"… działa do pierwszego restartu - czyli dane nie zapisują się we flash (niestety tak wygląda to w każdym innym skompilowanym obrazie 0.8.6 https://github.com/Aircoookie/WLED/relea..._lwip1.bin co to jest LwIP (lightweight IP): https://en.wikipedia.org/wiki/LwIP jestem dopiero w trakcie testów, więc to jeszcze nie są ostatecznie potwierdzone informacje - cofam się z wersją do 0.8.5 (ta jest oznaczona jako stabilna), programowe restarty przechodzą wstępnie OK (w sumie nie sprawdziłem tego na tych nowszych wersjach, które startowały…) ale zaczynam podejrzewać, że muszę zmodyfikować "pająka" sprzęt nie startuje z podłączonym "paskiem LED" (czyżby rozwiązanie "na lenia" nie działało? - "sprytnie" pominąłem konwerter poziomów, ale to chyba nie było szczególnie rozsądne posunięcie, wejścia wymagające podciągnięcia poziomu do zasilania też na bezczelnego podpiąłem do zasilania, muszę przygotować układ "zgodnie z prawidłami sztuki" i wyposażyć go w sensowne zasilanie 3,3V dla ESP i 5V dla paska, możliwe że tu pies pogrzebany - do pająka tymczasowo podpiąłem 2 konwertery UART w celu podania tych napięć ![]() jeśli to się nie uda, to pewnie poszukam rozwiązania w sieci - nie wierzę, że ktoś już nie trafił na takie problemy - jak ogarnąć konwersję poziomów sygnałów - ESP pracuje z poziomami 3,3V a układy WS28xx wymagają zwykłych poziomów TTL (5V) (w przygotowaniu, możliwych metod jest kilka, muszę odszukać linki z archiwum) a) może to strzelanie z armaty do muchy ![]() http://www.ti.com/lit/ds/symlink/txs0108e.pdf użyłem właśnie podobnej płytki jak w tym artykule (pochodzącej jednak z ChRL, bo w PL cena >40zł zdecydowanie nie pasuje do mojego zastosowania), całkiem ładny opis jak się z tego korzysta (choć w innym zastosowaniu): https://www.artekit.eu/using-logic-level-converters/ b) są też gotowce bazujące na tranzystorach (w polskich sklepach wystarczy wyszukać frazy "konwerter poziomów logicznych") można zbudować samodzielnie (nie musi być dwukierunkowy - tu dane płyną w jedną stronę), w takim pojekcie: https://www.tjtom.com/tag/espixelstick/ zostały jednak skrytykowane jako zbyt wolne (mimo wszytko zaryzykuję zakup, jeśli nie do tego to się przyda do czegoś innego - wciąż sporo osprzętu pracuje w 5-woltowej logice TTL) c) rozwiązanie "na bezczelnego" zużywamy do tego 1 dodatkowy układ WS2812 podpinając jego zasilanie przez diodę prostowniczą (do tego celu w WLED można pominąć pierwszy układ - "LED numer zero"), ESP musi być zasilana napięciem około 3,6V (najwyższe z dopuszczalnych), ponieważ moje moduły ESP01 z układami Puya podobno słabo znoszą podwyższone napięcie zasilania pozostanę przy typowym 3,3V http://www.electrobob.com/ws2812-level-translator/ d) rozwiązanie na jeszcze bardziej bezczelnego (jest opisane w powyższym artykule Toma Hopkins'a o espixelstick) -> brakujące linki 3d. Możliwe niespodzianki: - chyba oczywiste, fabryczny SSID to WLED-AP ale hasło wled1234 już trudniej zgadnąć kod QR do automatycznego połączenia smartfona z "fabryczną" siecią WiFi generowaną przez nieskonfigurowany WLED - nie wszystkie wersje mają zaimplementowany captive portal (więc nie zostaniemy w każdym przypadku automatycznie przekierowania do "strony logowania" która służy do wstępnej konfiguracji - podania konfiguracji naszej sieci WiFi) - wbrew aktualnej dokumentacji nie zawsze "fabryczny" IP to 4.3.2.1 który powinien działać od wersji 0.8.5 w górę (niestety nie doszukałem się jaki adres był kiedyś, ten u mnie działał w przypadku wersji bez captive portalu): http://192.168.244.1 oczywiście warto spróbować nawet jeśli nie zostaniemy przekierowani http://4.3.2.1 ten nowy adres nie jest najszczęśliwiej wybrany, bo taki… przynajmniej teoretycznie istnieje w internecie (akurat ten malutki kawałek przestrzeni IPv4 czyli 4.3.2.0/24 należy do… google ![]() Miało być na bis coś zupełnie z innej beczki - sklep na Ali w którym nie kupiłem ani tych "lewych" ESP-01, ani trefnego ssd, za to kupowałem parę razy inne rzeczy, a mają asortyment właśnie do takiego "grzebactwa" i jestem z zakupów u nich na tyle zadowolony, że już miałem wrzucić linka, ale odpuściłem bo po każdym zakupie spamują mi aliekspresową skrzynkę wiadomościami jaki to oni mają wspaniały support i paroma innymi śmieciami, a właśnie mam otwarty spór i już myślałem, że to coś w jego temacie, więc pal ich 6 ;D Statystyki Folding@home |
|||
19-01-2020, 23:07
(Ten post był ostatnio modyfikowany: 20-01-2020 05:43 przez szopen.)
Post: #2
|
|||
|
|||
WLED "dla leniwych" - sterowanie każdą diodą RGB oddzielnie [WiFi, ESP, Android, iOS]
Integracja z HA (Home Assistant) od wersji 0.102 HA odbywa się z użyciem kreatora
https://www.home-assistant.io/blog/2019/...lease-102/ https://www.home-assistant.io/integrations/wled/ wymagany WLED w wersji 0.85 lub nowszej Statystyki Folding@home |
|||
26-08-2020, 15:27
(Ten post był ostatnio modyfikowany: 26-08-2020 15:33 przez szopen.)
Post: #3
|
|||
|
|||
WLED "dla leniwych" - sterowanie każdą diodą RGB oddzielnie [WiFi, ESP, Android, iOS]
Wydawało mi się, że o tym gdzieś pisałem, ale nie widzę
![]() Informacja dość istotna dla posiadaczy słabszych sprzętowo (czytaj: z mało pojemną kostką Flash SPI) modułów ESP https://github.com/Aircoookie/WLED/releases/tag/v0.10.0 niestety 0.10.x to ostatnia wersja dla posiadaczy "niebieskich ESP-01", czyli wersji 512kB natomiast "czarne ESP-01" oraz ESP-01s i mnóstwo innych modułów 1MB pozostaną bez OTA (czyli budując na ich bazie konstrukcje trzeba przewidzieć możliwość flashowania po kabelku (w przypadku użycia ESP-01 to dość upierdliwe…) Generalnie szykuje się sporo poważnych zmian w kolejnych wersjach, więc planując użycie tego projektu trzeba pomyśleć o "mocniejszym" sprzęcie (wśród zalecanych jest np. Wemos D1 mini i Wemos D1 pro). PS w końcu zbliżam się do finalnej realizacji pomysłu (przez koronę poleciał na półkę - nie było okazji na zdobycie czegoś sensownego na obudowę… a niestety lubię "pomacać" potencjalny materiał) ostatecznie kloszem lamp będą… kuchenne słoiki z Ikei (przypadkiem trafiłem na dziale wyprzedażowym na poekspozycyjne bambusowe wieczka, trafiły oczywiście na obowiązkowe odkażanie, potem dopasowałem do nich słoiki (na szczęście Ikea chociaż częściowo standaryzuje rozmiary), nie wiem czy to nie ostatnia chwila na kupno, bo chyba asortyment się zmienia od sezonu jesiennego… Wstępnie jeden słoik okleiłem ścinkami matującej folii (ale jeśli udałoby się załatwić normalne matowienie u szklarza w sensownej cenie, to może kiedyś spróbuję w taki sposób). Statystyki Folding@home |
|||
04-04-2022, 14:12
(Ten post był ostatnio modyfikowany: 04-04-2022 14:42 przez szopen.)
Post: #4
|
|||
|
|||
RE: WLED "dla leniwych" - sterowanie każdą diodą RGB oddzielnie [WiFi, ESP, ...
Ostatni update…
Ze względu na brak możliwości dalszych aktualizacji firmware w przypadku modułów ESP-01 i innych z równie małym flashem (a projekt nie stoi w miejscu - wersja 0.13.1 wyszła niecały miesiąc temu) podjąłem ostatecznie decyzję o przeróbce wszystkiego na płytki ESP8266 mające 4MB flasha (w przypadku mojego rozwiązania nie widzę potrzeby używania ESP32), więc "mam na oku" NodeMCU v2/v3 lub Wemos D1 mini (jeszcze nie wybrałem ostatecznie, które użyję, wemos'y bądź ich klony mają idealnie mały rozmiar do upchnięcia w przypadku małej ilości miejsca, a że zdecydowałem się na zintegrowanie zasilaczy z 230V… to tego miejsca nie zostało za wiele). Od wersji 0.12.0 jest możliwe wysterowanie kilku niezależnych pasków LED z jednej płytki MCU - dla ESP8266 możliwe są 3 niezależne wyjścia (z czego 2 o pełnej funkcjonalności na GPIO1 i GPIO2 oraz jedno o ograniczonej - dedykowane jedynie dla krótkich pasków na GPIO3), dla ESP32 można wykorzystać do 10 wyjść (jakkolwiek więcej niż 4 degradują wydajność). PS Od czasu gdy ostatnio wspomniałem o WLED, projekt dorobił się wspaniałej dokumentacji: https://kno.wled.ge/ PPS Moduły ESP-01 przestały się nadawać do sensownego wykorzystania w tym projekcie, ale można je wykorzystać wciąż w wielu innych (i nie stracą one możliwości aktualizacji OTA, gdy rozmiar generowanego firmware będzie rozsądnie mały) - te które miałem wykorzystane w WLED zostaną spożytkowane ponownie w ESPHome (m.in. jako dodatkowe płytki wciśnięte do ikeowskich czujników cząstek stałych czyli pyłów PM2.5 - VINDRIKTNING i tu ujawnia się chyba jedyna zaleta ESP-01 - płytki są naprawdę małe, więc dadzą się upchnąć w środku). Statystyki Folding@home |
|||
« Starszy wątek | Nowszy wątek »
|
Podobne wątki | |||||
Wątek: | Autor | Odpowiedzi: | Wyświetleń: | Ostatni post | |
DSTIKE WiFi Deauther MiNi | szopen | 0 | 1 758 |
08-04-2021 00:32 Ostatni post: szopen |
|
Hue Essentials - alternatywna apka dla Ikea Tradfri i Philips Hue [ZLL, Android] | szopen | 5 | 5 025 |
11-01-2021 22:43 Ostatni post: szopen |
|
Czujnik pyłu zawieszonego, smogu, "smogomierz", ale nie tylko [WiFi, ESP] | szopen | 6 | 3 461 |
03-06-2020 18:42 Ostatni post: szopen |
|
Najtańsze "gniazdko WiFi". | Ekonomista | 45 | 18 268 |
27-05-2020 00:24 Ostatni post: szopen |
|
DGM PP-W162 smart-plug z pomiarem energii [WiFi, Tuya, Android, iOS] | szopen | 5 | 8 466 |
14-04-2020 16:27 Ostatni post: szopen |