Da ich für ein Projekt adressierbare WS2812 LED-Pixel benötige, schauen wir uns an, wie man einen ESP8266 mit WLED flashen kann. Das interessante hierbei ist, dass mittels WLED und NodeMCU diese Beleuchtung ins Netzwerk eingebunden werden und über eine Website oder diverse APP’s gesteuert werden kann.

Material und Software

Als Microcontroller verwende ich einen Arduino kompatiblen NodeMCU, als Software das super WLED-Projekt und als LEDs kommen WS2812b zum Einsatz.

Vielen Dank an dieser Stelle noch an Aircoookie und alle die zum Projekt beigetragen haben!

WLED-Project on Github

Bevor der NodeMCU mit dem Rechner verbunden wird, sollten die entsprechenden USB-Treiber installiert werden, im meinem Fall waren das die CH340G Treiber, für den USB-Serial Wandler.

Einfach bei Google nach den Treibern suchen, diese können von mehreren Seiten heruntergeladen werden.

Zum Flashen des Microcontrollers verwende ich “ESP-Home Flasher”, ein einfaches Tool um bereits kompilierte Binaries ohne viel Schnick-Schnack auf den Arduino zu flashen.

Releases · esphome/esphome-flasher (github.com)

Nun zurück zu WLED, hier brauchen wir die fertige Binary, welche hier heruntergeladen werden kann.

Releases · Aircoookie/WLED (github.com)

Ich habe die WLED_0.13.1_ESP8266.bin genommen, da diese für mein Board am besten passt.

Das eigentliche Flashen

Im ESP-Home Flasher jetzt nur noch den Port auswählen, in meinem Fall “COM7”, als Firmwaredatei die heruntergeladene WLED Binary angeben, und zu guter letzt noch “Flash ESP” anklicken.

Gegebenenfalls ist es noch notwendig, den NodeMCU oder bzw. den ESP-Microcontroller in den so genannten Flash-Modus zu versetzen. Dazu einfach USB abstecken und den mit “Flash” beschrifteten Button auf dem Board gedrückt zu halten, während USB wieder angesteckt wird.

Im Console Fenster kann nun der Flashvorgang beobachtet werden, sollte alles geklappt haben, und keine Fehlermeldungen aufgetaucht sein, startet der NodeMCU neu und WLED läuft.

Hardware

Nun Verbinden wir erstmal die LED’s mit dem Microcontroller. Ich habe für mein Projekt die WS2812b verwendet, da man hier jede LED einzeln ansteuern kann.

Die Verbindung kann in etwa so aussehen, ich habe jedoch die 5V Versorgung direkt von USB abgegriffen, da mir so in etwa 500mA (minus den Strom für den Microcontroller) zur Verfügung stehen.

ESP8266 WS2812b connection
ESP8266 WS2812b connection

Wichtig hierbei ist noch, dass die Richtung des LED-Streifens beachtet wird, da die LED’s sonst nicht funktionieren. Einfach auf die Beschriftung der Löt-Pads achten, “Din” ist der Eingang einer LED, “Dout” der Ausgang für nachfolgede LED’s. Auf den LED-Streifen ist auch meist ein Pfeil aufgedruckt, welcher die richtige Richtung andeutet.

WS2812B LED

WLED konfigurieren

Beim ersten Start erstellt WLED einen Access-Point, mit diesem kann man sich nun Verbinden, das Passwort lautet “wled1234”.

Im Anschluss wird man mit einem Startbildschirm begrüßt, in welchem man entweder eine WLAN-Verbindung zu einem bestehenden Netzwerk aufbauen, oder direkt mit der Bedienung von WLED loslegen kann.

Das sieht am Smartphone so aus.

WLED Access Point
WLED Access Point

Um sich direkt mit einem bestehenden WLAN zu Verbinden, winfach “WIFI SETTINGS” auswählen und anschließend den Netzwerk-Namen und das Passwort eintragen. Alle anderen Einstellungen können leer gelassen werden.

WLED WIFI Setup
WLED WIFI Setup

Nach Bestätigen mit “SAVE” werden die Daten gespeichert und der Microcontroller startet neu.

ESP8266 mit WLED flashen

Nachdem sich die IP-Adresse des Geräts natürlich ändert, muss man diese erst herausfinden. Dazu kann man z.B. Netzwerkscanner Tools verwenden, oder wie ich es gemacht habe, einfach auf das Webinterface des Routers (in meinem Fall eine AVM FritBox) gehen und das jeweilige Gerät suchen.

Weboberfläche Fritzbox
Weboberfläche Fritzbox

Nun ist es möglich, sich erneut mit WLED zu verbinden, dazu einfach im Browser als Adresse die zuvor gesuchte IP-Adresse eingeben und man sieht das WLED Interface.

WLED User Interface
WLED User Interface

Nun nehmen wir noch die benötigten Einstellungen vor, damit unsere WS2812b auch richtig angesteuert werden. Dazu unter “Config” und dann “LED Preferences” gehen.

Hier unter “Hardware Setup” nun den LED-Typ angeben, in meinem Fall “WS281x” und die Anzahl der LED’s eintragen. Sollte die eingestellte Farbe nicht mit der Farbe der LED’s übereinstimmen, kann hier unter “Color Order” noch die Reihenfolge angepasst werden, dass die Farben übereinstimmen.

WLED Settings LED
WLED Settings LED

Wenn die Anzahl der LED’s eingestellt ist, kann auch der maximale Strom begrenzt werden um das angeschlossene Netzteil nicht zu Überlasten.

ESP8266 mit WLED flashen
Strombegrenzung bei 2,5A

Jetzt ist WLED eingerichtet und es ist möglich auch diverse APP’s zu nutzen, um die LED’s zu steuern.

Meine konkrete Anwendung werde ich in den nächsten Beiträgen beschreiben.