WLED Firmware & Hardware – Sooooo cool! (2024)

Posted in Allgemein, Ding mit Licht, ESP8266, Hardware, IT, Smart Home, Technik

24. August 2020

Ich habe vorgehabt (und schließlich auch umgesetzt – wenn auch anders als ursprünglich von mir geplant), den ESP8266 als Controller für LED-Stripes zu verwenden, um so – anders als mit den eher funktionsarmen Versionen mit „Fernbedienung“ aus dem Baumarkt – eigene Szenen umzusetzen und sie in unsere Smart-Home-Zentrale und mein Ding mit Licht zu integrieren. Für den ESP8266 gibt es eine entsprechende Bibliothek um die WS2812-Stripes ansteuern zu können. Im Internet findet man auch entsprechende Schaltpläne, um den ESP8266 zu einem WLAN-LED-Controller zu machen.

Anmerkung: Dieser Artikel strunzt noch vor (Tipp)Fehlern und außerdem fehlen noch Fotos und Videos. Da aber ein paar Nerds, die die Lichtsäulen in Aktion gesehen haben, ganz dringend die Quellen wünschen, veröffentliche ich diesen Beitrag bereits unfertig und arbeite in den nächsten Tagen die Bilder und Videos ein und korrigiere mein runtergerissenes Geschreibsel. Ich bitte um Nachsicht!

Ich habe also eine Platine entworfen um sie bei dem China-Produzenten meines Vertrauens „PCBWay“ anfertigen zu lassen. Zwei Tage nach meinem Auftrag entdeckte ich auf PCBWay „Shared Projects“ und darin das Projekt „D1 Mini WLED Shield“ von SRG74 auf GitHub. Für nur 5€ plus 20€ Porto (DHL-Express aus China) gibt es da 10 wesentlich besser durchdachte Platinen, als jene, die ich entworfen hatte. Außerdem fand ich in der Projektbeschreibung den Weg zu der Rundum-Sorglos-LED-Stripe-Firmware „WLED“ von Aircookie.

Nach dem Studium der Dokumentationen war schnell klar, dass ich das Rad nicht neu erfinden musste. WLED und die Platine von SRG74 waren alles, was ich benötigte; von dem Material abgesehen, das ich für ein einigermaßen schickes Setup benötigte.

Das finale Setup

Das Set besteht aus acht freistehenden Lichtleisten mit je zwei Längen von 50cm, 100cm, 150cm und 200cm. Die Geräte sind im heimischen WLAN einzeln oder gemeinsam ansteuerbar (dazu später mehr). WLED bringt bereits über 100 Effekte mit, von denen die meisten in Geschwindigkeit und Effektstärke, sowie Farbzusammenstellung angepasst werden können. Unterm Strich hat man eine Unmenge an Möglichkeiten, die Profile im rechten Licht erscheinen zu lassen.

WLED Firmware & Hardware – Sooooo cool! (2)

Umsetzung – Hardware

Also, was kann man denn nun mit der Platine und der Firmware für den ESP8266 machen?

Zunächst ist die Platine für den D1-Mini ausgelegt. Das macht die Sache schon mal viel einfacher, weil durch den D1-Mini bereits alle wichtigen Leitungen ausgeführt werden, ein Spannungswandler von 5V auf 3.3V auf dem Board steckt und das Flashen des ESP dank Micro-USB-Port recht einfach zu erledigen ist. Da man den D1-Mini leicht mit einem Stecksockel versehen kann (meist sogar im Lieferumfang enthalten), ist auch ein nachträgliches Flashen jederzeit möglich.

Um die Stripes dann auch in Form zu bringen, habe ich bei Aliexpress diese Lichtprofile gefunden. Der Plan war, dass ich diese „Lichtsäulen“ in 50cm Schritten von 50cm bis 2m anfertige und das zweimal pro Stück. Insgesamt plante ich also 10m LED-Stripes zu verarbeiten und so bestellte ich 20 von den Lichtprofilen. Von der Qualität der empfangenen Profile war ich angesichts des Preises doch sehr positiv überrascht.

Um die Profile stabil miteinander zu verbinden, habe ich mir Alu-Winkelprofile im Baumarkt gekauft und die Lichtprofile mit Epoxy-Kleber und einem leichten Versatz (damit ich sie später in einen Ständer stecken kann) verklebt (was eine ganz schöne Sauerei ist, wenn man nicht aufpasst). Anschließend konnte ich die WS2812-Stripes mit der selbstklebenden Rückseite in die Profile kleben.

Um die Profile aufstellen zu können habe ich kleine Ständer gekauft, die die Gattin im Internet gefunden hat, dafür mit Tinkercad passende Adapter entworfen und sie dann mit meinem 3D-Drucker erstellt.

Schwieriger war es Gehäuse zu finden, die das Netzteil und die Platine aufnehmen können. Da die 2m-Leisten bei 5V bis zu 7,2 Ampere ziehen können, mussten die Netzteile dafür mit 8 Ampere bestellt werden. Diese sind ein ganzes Stück größer, als die Netzteile für die kürzeren Stripes mit nur 6 Ampere. Letztendlich hat auch hier die Gattin Gehäuse in zwei Größen gefunden, die geeignet erschienen. Sagen wir mal so, es hat schließlich funktioniert, ist aber nicht so schön. Ich musste für die Netzteile Adapter entwerfen und drucken, um sie einigermaßen sicher in den Gehäusen zu platzieren. Die Platinen sind isoliert vom Netzteil aber ohne Befestigung im Gehäuse untergebracht. Ich bin nicht glücklich mit der Lösung.

Darum werde ich die Strom-Komponente noch einmal überarbeiten und wahrscheinlich Netzteile und Steuerplatine in (vielleicht selbst gedruckten und kleineren) voneinander getrennten Geäuse unterbringen. Ziel ist, die Steuerplatine so dicht wie Möglich an die Lichtsäule und das Netzteil mit vielleicht 2-3 Metern Kabel von der Steuerplatine getrennt unterzubringen. So bliebe für den Controller nur noch eine kleine Dose übrig, die man sicherlich auch geschickt in das „Ständerwerk“ integrieren könnte und das Netzteil könnte irgendwie versteckt werden.

Das Flashen des D1-Mini ist einfach. So einfach, dass ich es meiner kleinen Tochter einmal gezeigt habe, und sie für mich die restlichen ESPs geflasht hat. Dazu benötigen wir die Firmware WLED von Aircoookie, die hier heruntergeladen werden kann und den ESPEasy Flasher, zu dem man hier weitere Informationen findet. Alles was dann zu tun ist, ist die Firmware in das Verzeichnis des Flashers zu kopieren, ihn dann zu starten und die Firmware (falls nicht schon selektiert) aus dem Drop-Down-Menü zu wählen und auf den „Flash“-Button zu klicken. Ein bisschen Geduld und der Chip ist einsatzbereit.

Einsatz von WLED

Verbindet man die Platine nun erstmals mit Strom, leuchten die ersten 30 LEDs in einem Orange-Ton. Vermutlich sind es nur die ersten 30, weil im Setup noch nicht definiert wurde, wie viele LEDs angeschlossen sind.

Zunächst muss man sich mit dem neuen Gerät verbinden. Dazu spannt WLED einen WLAN-Accesspoint mit dem Namen „WLED-AP“ auf, mit dem man sich mit dem Smartphone verbinden kann. Das Passwort dazu ist wled1234. Hat man die Verbindung hergestellt, kann man über die IP 4.3.2.1 das Web-Interface von WLED aufrufen. Hier kann im Setup nun das heimische WLAN eingetragen werden. Ist das geschehen, muss man über den WLAN-Router nur noch die IP des Geräts herausfinden und kann sich dann darüber mit dem Smartphone – oder kompfortabler – mit dem Browser am PC verbinden. Die bequemste Möglichkeit ist aber die WLED-App. Die findet nämlich ganz von alleine alle eingerichteten WLED-Controller.

Ist WLED auf ein WLAN konfiguriert, wird es immer mit diesem verbinden. Liegt der Controller außerhalb des konfigurierten WLAN, startet WLED wieder den Accasspoint. Es ist daher ratsam, das Passwort für den AP in den Einstellungen zu ändern!

WLED bringt rund 110 tolle Effekte mit, wobei alle Effekte an die Länge (Anzahl der LEDs) angepasst werden. Die Anzahl der angeschlossenen LEDs kann (und sollte) im Setup eingestellt werden. So gibt es z. B. den Effekt „Bouncing“ Balls, in dem der Ball eben bei einer 2m-Leiste (120 LEDs) über die gesamte Länge springt und bei den kurzen, 50cm (30 LEDs) eben nur bis zur Spitze des kurzen Stripes. Besonders bei dem Effekt „Fire“ ist das wichtig, da die „Flammen“ eben immer bis höchstens zur letzten LED züngeln dürfen.

Die Steuerung erfolgt in der einfachsten Variante über das eingebaute Web-Interface und in der komfortabelsten Variante über die WLED-App. WLED bringt aber auch eine gut dokumentierte API und einen MQTT-Client mit. Auch eine Philips-Home-Integration und sogar ein Alexa-Device werden (zuschaltbar) bereitgestellt. Darüberhinaus können die Geräte als „Master“ jede Änderung der Licht-Einstellungen an alle anderen Geräte broadcasten, wodurch sich alle anderen im Netz befindlichen WLED-Lichtleisten synchronisieren. Das geht so unglaublich schnell, dass kaum eine Verzögerung wahrgenommen werden kann.

Über das Web-Interface können auch 16 Profile als „Favoriten“ gespeichert werden. Darin wird dann nicht nur der gewählte Effekt, sondern auch alle Anpassungen gespeichert, die dann später mit einem Klick aktiviert werden können. Bei manchen Effekten gibt es sogar einen weichen Übergang von einem zum anderen.

Und was nicht vergessen werden darf, weil es unheimlich cool ist, ist die OTA-Update-Funktionalität in WLED! Nie wieder schrauben, um ein Firmware-Update einzuspielen!

Die erste Umsetzung für unsere Party

Für meine Zwecke habe ich die API genutzt. Ich habe in Node-RED ein virtuelles Gerät mit dem Namen „Konferenzbeleuchtung“ angelegt. Mit diesem kann ich meine gespeicherten Favoriten abrufen. Gebe ich z. B. die Anweisung „Alexa, stelle Konferenzbeleuchtung auf 12“, wird eben diese gespeicherte Einstellung aktiviert. Da das Gerät, auf dem ich die Einstellung aufrufe auch broadcasten lasse, geschieht das fast gleichzeitig auf allen Geräten im Netzwerk. Dabei müssen die anderen Geräte nicht auch die Favoriten gespeichert haben, da tatsächlich die Einstellungen übertragen werden und nicht der Befehl, diese bestimmte Speicherposition aufzurufen.

Aber das war uns ja noch nicht genug. Die Gattin hatte die Idee, einen Button mit der Beschriftung „Do not press!“ zu platzieren. Und wenn dieser Button gedrückt würde, sollte etwas passieren. Via Node-RED und Alexa habe ich folgendes umgesetzt:

Zunächst habe ich einen Effekt genommen und ihn so angepasst, dass die Lichtleistengleichmäßig in reinem Rot vor sich hinwabern (auf- und abblenden) und diesen als Favorit Nr. 2 gespeichert. Dann haben wir noch eine Standardbeleuchtung definiert und ihn als Favorit Nr. 1 gespeichert.

Dann habe ich einen Echo-Dot genommen und ihn mit einem Echo-Button verbunden. In Node-Red habe ich ein weiteres virtuelles Alexa-Gerät mit dem Namen „Alarmknopf“ erstellt. Außerdem habe ich eine Routine erstellt, die den Alexa-Skill „Roter Alarm“ aufruft.

Mit einer Power-Bank habe ich den Echo-Dot nebst lautem Bluetooth-Lautsprecher unter einem der Stehtische platziert und die rote Box mit dem Do-not-press-Button obendrauf. Wenn nun jemand auf den Button gedrückt hat, passierte folgendes:

Alexa sprach einen von verschiedenen, von uns vordefinierten Texten. Z. B.: „Captain, jemand hat Bier über die Konsole gekippt. Navigation ausgefallen“. Danach wurde der Alexa-Skill „Roter Alarm“ ausgelöst. Mit Einsetzen des Roter-Alarm-Sounds aus Raumschiff Enterprise sendet Node-RED die API-Anfrage an WLED, den gespeicherten Favoriten Nr. 2 zu laden, wodurch (dank Broadcast vom Master) alle Lichtleisten das typische rote Wabern starteten. Nach 10 Sekunden sendete Node-RED erneut via API die Anweisung auf Favorit 1 zu wechseln, wodurch alle Lichtleisten zurück auf die Standardbeleuchtung wechselten.

Insgesamt kamen die WLED-Lichtleisten bei unseren Gästen enorm gut an. Dass ich das selbst gebaut hatte, brachte den/die eine|n oder andere|n tatsächlich ins überraschte staunen. Sehr viele werden sich jetzt mit WLED, dem ESP8266 (bzw. etwas komfortabler mit dem D1-Mini), WS2812-Stripes und Steuerplatinen von SRG74 auseinandersetzen, weil sie es einfach auch haben wollen und bereits eigene Ideen für den Einsatz haben.

Ich bin noch lange nicht fertig, denn auch mir fallen laufend neue Dinge ein, wie ich die Lichtleisten noch verwenden kann. Zunächst aber optimiere ich noch die Stromversorgung, so dass ich sie optisch etwas dezenter gestalten kann.

Kosten der Umsetzung

(in Euro, während ich den Artikel schreibe):

Anz Artikel EinzP GesP Porto Gesamt 2 5m WS2812b 60 LEDs/m IP30 12,07 24,14 -,-- 24,14 1 20er Pack Alu Profil f. Stripes 24,53 24,53 -,-- 24,53 1 10er Pack D1 Mini 17,01 17,01 2,65 19,66 6 Netzteil 5V 30W 6A 7,04 42,24 -,-- 42,24 2 Netzteil 5V 40W 8A 8,57 17,14 -,-- 17,14 1 10x Universal WLED wemos shield* 5,00 5,00 20,00 25,00 8 Standfüße für Leuchtstäbe 2,95 23,60 4,95 28,55 8 Elektronik gem. BOM (grob)** 12,21 97,68 -,-- 97,68=========================================================== Gesamt für acht Lichtleisten 275,01=========================================================== Preis für eine einzelne Lichtleiste*** 34,38

Anmerkungen zu den Preisen:

* Der Versand der Platinen mit 20 Euro scheint hoch. Man muss dazu jedoch erwähnen, dass PCB-Way die Platinen aus China via DHL-Express schickt. Andere Optionen sind entweder noch teurer oder nicht empfehlenswert. Dafür sind die Platinen aber innerhalb weniger Tage da.

** Ich habe die Preise heute via DigiKey neu ermittelt. Tatsächlich habe ich deutlich weniger bezahlt, da ich viele Bauteile via Aliexpress deutlich günstiger bekommen habe. DigiKey ist aber eine gute und qualitativ hochwertige Quelle! Außerdem entspricht die BOM nicht mehr der, die ich verwendet habe, da sich in der Zwischenzeit auch das Platinenlayout (weiter)entwickelt hat. So gibt es z. B. auf meiner Platine noch keinen Steckplatz für ein optionales Display. Auch der Spannungswandler hat sich geändert und ein Thermostat (?) ist dazugekommen. Theoretisch kann man den Controller aber auch mit einem D1-Mini, einem Widerstand und einem Kondensator abfrühstücken. Die Frage ist dann nur, wie stabil es dann läuft.

*** Die Kosten sind natürlich glatt durch acht gerechnet worden. Tatsächlich kosten die längeren, insbesondere die zwei 2m-Stäbe wegen der stärkeren Netzteile naturgemäß etwas mehr, als ihre kürzeren Geschwister.

Ich habe auch nicht die Kaltgeräte-Büchsen mit Sicherung und beleuchtetem Wippschalter nebst Anschlusskabel berücksichtigt, die ich in den Gehäusen (die ich übrigens auch nicht aufgeführt habe) verbaut habe. Das kann jeder halten, wie er will. In einer neuen Version würde ich vielleicht noch Kippschalter einbauen, aber die Stromzufuhr fest verdrahten. Die Alu-Profile aus dem Baumarkt sind hier auch nicht berücksichtigt, genausowenig wie der Epoxy-Kleber, den ich verwendet habe. Und die kurzen Anschlusskabel (2- und 3-polig mit Stecker) habe ich hier auch nicht berücksichtigt.

Fazit

Mit einem Preis von unter 40 Euro pro Stück sind diese wirklich smarten Lichtleisten unverschämt günstig. Ein vergleichbares, fertiges Produkt habe ich bisher nicht gefunden. Und gäbe es das, so würde der Preis vermutlich ein vielfaches betragen, wenn man sich ansieht, was wesentlich unflexiblere Lösungen, die nicht mal richtig smart sind und bestenfalls mit einer Infrarot-Fernbedienung ausgestattet sind, so kosten.

Ein Beispiel: Eine 55cm Lichtleiste von Müller-Licht (die schon zu den günstigeren gehören), die sich zwar immerhin via ZigBee verbinden lässt, aber sonst, außer in verschiedenen Farben leuchten nichts kann, kostet fast 90 Euro. Lege ich das einmal auf die 2m meiner langen Lichtleisten um, kommen wir auf einen Preis von rund 327 Euro. 327 Euro für langweilig vor sich hinleuchtende Lichtleisten, weil sie ZigBee und Farbe können? Und sonst? Nä! Da nehme ich lieber den Lötkolben in die Hand und bekomme für unter 40 Euro ein vielfaches an Spaß, Technik und Möglichkeiten zurück!

Man muss aber auch bereit sein, die Zeit zu investieren die es braucht, um zu Löten und zu Basteln.

Ich bin jedenfalls begeistert! Auch und vor allem darüber, dass ich auch Andere zum Staunen brachte und davon begeistern konnte. Ich finde es wunderbar, dass es ambitionierte Bastler und ITler gibt, die ihre großartigen Projekte jedermann zur Verfügung stellen und bin dankbar, auch dafür, dass ich „smart“ genug bin um davon profitieren zu können!

Teile diesen Beitrag mit:

  • twittern
  • teilen
  • merken
  • mitteilen

Ähnliche Beiträge

WLED Firmware & Hardware – Sooooo cool! (2024)

References

Top Articles
Latest Posts
Article information

Author: Geoffrey Lueilwitz

Last Updated:

Views: 6156

Rating: 5 / 5 (80 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Geoffrey Lueilwitz

Birthday: 1997-03-23

Address: 74183 Thomas Course, Port Micheal, OK 55446-1529

Phone: +13408645881558

Job: Global Representative

Hobby: Sailing, Vehicle restoration, Rowing, Ghost hunting, Scrapbooking, Rugby, Board sports

Introduction: My name is Geoffrey Lueilwitz, I am a zealous, encouraging, sparkling, enchanting, graceful, faithful, nice person who loves writing and wants to share my knowledge and understanding with you.