Das pxlBlck-plugin für das ESPEasy Framework ist das “Software-Gegenstück” zu den pxlBlck-Plattformen. Mit dem Plugin könnt Ihr die verbauten LED Matrizen leicht ansteuern und mithilfe der anderen Funktionen ist relativ leicht eigene Animationen und Benachrichtigungen auf der LED-Matrix anzuzeigen.
pxlBlck-Plattform
Bevor Ihr mit der Installation des Plugins fortfahrt, solltet Ihr die Hardware für Euren pxlBlck schon aufgebaut haben. Die Bauanleitungen zu den verschiedenen pxlBlck-Plattformen findet Ihr unter folgendem Link
Installation des Plugins
Wie bereits erwähnt ist das pxlBlck-Plugin ein Plugin für das ESPEasy Framework. Ihr müsste also zunächst ESPEasy auf Euren ESP8266 oder ESP32 flashen. Dabei sollte das PxlBlck Plugin natürlich auch schon enthalten sein. Den Verbund aus EspEasy-Framework inklusive pxlBlck-Plugin nenne ich im weiteren einfach Mal “Firmware”.
Um die Firmware letztlich auf Euren ESP8266 oder ESP32 zu bekommen gibt es im Prinzip zwei Wege. Der eine ist beschrieben im Artikel ESPEasy – Firmware kompilieren, flashen und WLAN Zugangsdaten konfigurieren
Die zweite Möglichkeit ist, dass Ihr fertig kompilierte “binaries” auf den ESP8266 oder ESP32 programmiert. Wie dies funktioniert könnt Ihr hier nachlesen: ESP8266 – mit dem „Esptool“ .bin-Dateien unter Windows flashen
Die jeweils aktuelle Binary findet Ihr im nächsten Abschnitt.
Binaries bzw. vorkompilierte Firmware
In der folgenden Liste findet Ihr den Link zum aktuellen Release. Dieses enthält die Binary, die Ihr direkt auf Euren ESP8266 oder ESP32 flashen könnt.
Binary: https://github.com/Nerdiyde/pxlBlck/tree/main/plugin/bin
Im verlinkten Ordner für die Binaries findet Ihr verschiedene Dateien für den ESP8266 und ESP32. Die genutzen Optionen sind dabei jeweils im Dateinamen angegeben.
Changelog: Den aktuellen Changelog findet Ihr im Nerdiy-Git unter folgendem Link: https://github.com/Nerdiyde/pxlBlck/blob/main/CHANGELOG.md
WLAN Zugangsdaten konfigurieren
Nachdem Ihr die Firmware auf Euren ESP8266 oder ESP32 übertragen habt, müsst Ihr zunächst die WLAN Zugangsdaten für Euer WLAN konfigurieren. Denn nur so kann Euer pxlBlck Ereignismeldungen oder die Uhrzeit empfangen und anzeigen.
Wie Ihr die WLAN Zugangsdaten in ESPEasy (also Euren programmierten pxlBlck) übertragen könnt, ist in dem Artikel ESPEasy – Firmware kompilieren, flashen und WLAN Zugangsdaten konfigurieren beschrieben
Ich persönlich finde es am leichtesten die Zugangsdaten über die serielle Schnittstelle zu konfigurieren. Infos dazu findet Ihr unter folgendem Link: https://nerdiy.de/howto-espeasy-firmware-flashen/#WLAN-Zugangsdaten_ueber_die_serielle_Schnittstelle_konfigurieren
pxlBlck-Plugin aktivieren und konfigurieren
Nachdem Ihr die WLAN Zugangsdaten auf Euren pxlBlck übertragen habt, müsst Ihr zunächst noch das pxlBlck aktivieren und korrekt konfigurieren. Dies funktioniert am einfachsten über das ESPEasy Webmenü.
Gebt dazu die IP Adresse Eures pxlBlcks in die Adresszeile Eures Browsers ein. Wie Ihr die IP-Adresse von Geräten in Eurem Netzwerk herausfinden könnt ist im Artikel IP-Adresse der Geräte im Netzwerk anzeigen/herausfinden beschrieben.
Nachdem Ihr die IP Adresse in der Adressleiste eingegeben habt, solltet Ihr auf der dargestellten Übersichtsseite landen.
Klickt dort auf den Button “Devices (rot markierter Bereich).
In der nun erscheinenden Übersicht sind alle konfigurierten Devices aufgelistet. Da Ihr (sehr wahrscheinlich) noch keine Devices konfiguriert habt, ist diese Liste natürlich leer.
Um das pxlBlck-plugin nun zu aktivieren, klickt Ihr auf den ersten “Edit” Button (rot markierter Bereich).
Ihr werdet nun auf die dargestellte Seite weitergeleitet.
Wählt nun aus der DropDown-Liste den Eintrag
Display – pxlBlck
aus.
GPIO der LED Matrix konfigurieren
Nachdem Ihr das pxlBlck-Plugin aktiviert habt, werdet Ihr auf die Übersichtsseite des Plugins weitergeleitet. Eine Vollständige Beschreibung aller Optionen findet Ihr weiter unten. In diesem absatz geht es nun zunächst mit der Konfiguration des pxlBlck-Plugins weiter.
Tragt dazu einen Namen im Textfeld neben “Name” ein. Dieser kann frei gewählt werden. Ich habe hier einfach “Clock” eingetragen.
Aktiviert dann auch die Checkbox in der Sektion “Enabled”.
Damit das Plugin auch die angeschlossene LED-Matrix ansteuern kann, müsst Ihr nun noch den korrekten GPIO einstellen. Dieser wird in der Bauanleitung Eurer pxlBlck-Plattform mit angegeben.
pxlBlck-Platform einstellen
Neben dem korrekten GPIO müsst Ihr nun auch noch die korrekte PxlBlck-Plattform einstellen. Nur so weiß das pxlBlck-Plugin wie groß die angeschlossene LED-Matrix ist.
Klickt dazu auf die DropDown-Liste im Bereich “Matrix type” und wählt dort den passenden Eintrag zu Eurer pxlBlck-Plattform.
Habt Ihr zum Beispiel eine SlotClock oder RingClock aufgebaut, wählt Ihr hier “RingClock(1×60)” aus.
Falls noch nicht geschehen, solltet Ihr auch die Checkbox in der Sektion “Display enabled” aktivieren. Nur wenn diese aktiviert ist, findet auch eine Ausgabe auf der LED-Matrix statt.
Ziffernblatt/Bildschirmschoner einstellen
Falls gewünscht, könnt Ihr nun auch schon ein Ziffernblatt bzw. Bildschirmschoner einstellen. Ziffernblätter oder Bildschirmschoner werden immer dann angezeigt, wenn gerade keine Animation, Icon oder ähnliches “Ereignisbezogenes” auf dem Display des pxlBlck angezeigt wird.
Mehr Infos inkl. Beispiele zum Einstellen der Ziffernblätter bzw. Bildschirmschoner findet Ihr auch in dem Artikel
Klickt dazu auf die DropDown-Liste in der Sektion “Dial version” und wählt das gewünschte Ziffernblatt oder den gewünschten Bildschirmschoner aus.
Die dort angezeigte Liste ist abhängig von dem eingestelltem “Matrix type”. Für den “Matrix type” “RingClock” habt Ihr die dargestellten Möglichkeiten zur Auswahl. Also beispiel eignet sich hier die Darstellung “Ring”. Eine ausführliche Beschreibung aller Darstellungen findet Ihr weiter untem in diesem Artikel.
Farben einstellen
Falls Ihr zuvor ein Ziffernblatt oder Bildschirmschoner ausgewählt habt, bei dem sich Farben konfigurieren lassen, habt Ihr nun auch die Möglichkeit die Farben nach Euren Wünschen einzustellen. Die einstellbaren Farben und deren bezeichnung werden immer an das eingestellte Ziffernblatt/Bildschirmschoner angepasst. Also wundert Euch nicht, wenn die Farboptionen je nach eingestelltem Ziffernblatt/Bildschirmschoner unterschiedlich sind.
Scrollt dazu an das untere Ende der Ansicht im pxlBlck-Plugin.
Dort könnt Ihr bis zu vier Farben einstellen.
Dies könnt Ihr mithilfe des ColorPickers machen, indem Ihr auf den (rot markierten) Button der jeweiligen Farbsektion klickt. Wählt dann einfach Eure gewünschte Farbe aus und bestätigt die Auswahl mit einem Klick auf “OK”.
Alternativ könnt Ihr den RGB-Wert der gewünschten Farbe auch direkt festlegen.
Dazu müsst Ihr den gewünschten Wert in die Rot, Grün und Blau markierten Felder eintragen. Der erlaubte Wertebereich ist 0-255.
Im dargestellten Beispiel ist das Ziffernblatt “RingClock” ausgewählt und der Stundenzeiger auf “Rot”, der Minutenzeiger auf “Blau” und der Sekundenzeiger auf “Grün” eingestellt. Die Stundenmarkierungen leuchten dagegen weiß.
Beschreibung der Plugin Optionen/Webmenü des Plugins
In den vorherigen Absatzen könnt Ihr bereits ein paar Infos zu den wichtigsten Einstellungsmöglichkeiten des pxlBlck-Plugins finden. Eine Vollständige Beschreibung aller Optionen findet Ihr nun in diesem Abschnitt.
Nachdem Ihr Euren pxlBlck mit Euren WLAN-Zugangsdaten konfiguriert habt und dieser im Netzwerk erreichbar ist, könnt Ihr das Webmenü über die IP-Adresse des pxlBlck erreichen.
Gebt dazu die IP Adresse Eures pxlBlcks in die Adresszeile Eures Browsers ein. Wie Ihr die IP-Adresse von Geräten in Eurem Netzwerk herausfinden könnt ist im Artikel IP-Adresse der Geräte im Netzwerk anzeigen/herausfinden beschrieben.
Das Webmenü erreicht Ihr indem Ihr auf “Devices” klickt und in dann in der “Device-Liste” auf das von Euch aktivierte pxlBlck-plugin.
Hier seht Ihr die möglichen Optionen des pxlBlck Plugins in der Webansicht.
Im folgenden Absatz ist eine Beschreibung der einzelnen Funktionen enthalten.
Beschreibung der Optionen im Webmenü
- Name: Hier könnt Ihr den Namen des Devices konfigurieren
- Enabled: Nur wenn der Haken hier gesetzt ist wird das Plugin auch aktiviert
- GPIO/DigitalIn: Hier müsst ihr den GPIO angeben der mit der LED Matrix verbunden ist. Infos dazu findet Ihr im Aufbauartikel für Eure pxlBlck-Platform.
- Help: Ein Klick darauf führt Euch zu einer Übersichtsseite mit allen pxlBlck-Artikeln
- Display Enabled: Mithilfe dieser Option lässt sich das Display deaktivieren bzw. der Inhalt ausblenden. Diese Option kann zum Beispiel genutzt werden um Nachts oder wenn niemand zu Hause ist das Display abzuschalten. Infos dazu findet Ihr auch im Artikel pxlBlck – Bei Abwesenheit das Display abschalten
- Matrix type: Hier könnt Ihr die Maße Eurer LED Matrix konfigurieren. In dem Beispiel oben ist eine Matrix konfiguriert die 32 LEDs breit und 8 LEDs hoch ist
- Led type: Hiermit könnt Ihr den Typ Eurer LED konfigurieren. Die meisten Neopixel bzw. WS2812 LEDs haben die folge Grün, Rot, Blau. Also GRB.
- Start positions: Hier könnt Ihr angeben in welcher Ecke auf Eurer Matrix die erste LED liegt. Informationen dazu findet Ihr auch hier: https://learn.adafruit.com/adafruit-neopixel-uberguide/neomatrix-library
- LED-Arrangement: Damit kann das Arrangement Eurer LED Matrix konfiguriert werden. Informationen dazu findet Ihr auch hier: https://learn.adafruit.com/adafruit-neopixel-uberguide/neomatrix-library
- Tile-Arrangement & Matrix tiles in X-direction & Matrix tiles in Y-direction: Diese Funktionen wird gerade noch getestet. Im zweifel bitte einfach auf “OneTileOnly” stehen lassen.
- Matrix rotation: Damit lässt sich die Matrix jeweils um 90° Schritte rotieren
- Dial version: Diese Option konfiguriert das Ziffernblatt bzw. die Animation die während des normalen Betriebs angezeigt wird. Dazu weiter unten mehr.
- Leading zeros enabled: Mit dieser Funktion könnt Ihr führende Nullen aktivieren. So wird z.B. aus der Uhrzeit “08:15 Uhr” die Anzeige “8:15 Uhr”
- Display brightness: Dies stellt die Bildschirmhelligkeit des dargestellten Inhalts in 15 Abstufungen ein
- Minimal brightness: Mit dieser Option lässt sich für die geringste Helligkeit ein spezifischer absolutwert einstellen. So könnt Ihr für “extreme Dunkelheit” einen absoluten Wert einstellen und eventuelle Farbverfälschungen vermeiden.
- Hour, Minute & Background: Hier lässt sich jeweils die Farbe für die jeweilige Gruppe einstellen. Diese Gruppen ändern sich je nach eingestellten Ziffernblatt unter “Dial version”. Mehr Infos dazu auch weiter unten.
Konfiguration des pxlBlck mithilfe von Befehlen
neben der Möglichkeit euren pxlBlck mithilfe der Optionen im Webmenü zu konfigurieren, könnt Ihr das Plugin auch mithilfe von Befehlen konfigurieren.
Dies hat den Vorteil, dass Ihr Einstellungen auch via MQTT, HTTP-Aufruf oder mithilfe von Rules während des Betriebs anpassen könnt.
Infos dazu findet Ihr im Artikel pxlBlck – Befehle zur Konfiguration des pxlBlck
Animationen auf dem pxlBlck anzeigen
Mithilfe der Befehle lassen sich verschiedene Informationen auf Deinem pxlBlck anzeigen. Wie du Animationen auslösen und konfigurieren kanns ist im folgenden Artikel beschrieben.
Icons auf dem pxlBlck anzeigen
Neben Animationen lassen sich auch vordefinierte Icons auf dem Display des pxlBlck anzeigen. Wie du Icons erstellst, auf den pxlBlck überträgst und anzeigen kannst, ist im folgenden Artikel beschrieben.
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂
Hallo,
bin ich blind? ich habe soweit alles installiert, aber nun sagt mir das Plugin, dass ich einen NAT Server einstellen soll. Leider finde ich aber kein Feld, wo ich die Adresse einstellen kann.
Hat jemand ein Tipp für mich?
Hey Jens,
bist du sicher, dass es nach einem NAT Server fragt? Oder könnte es auch ein NTP Server sein? 🙂
Falls ja, ist hier beschrieben wie du den NTP Server konfigurierst: https://nerdiy.de/howto-espeasy-ntp-zeitabruf-aus-dem-internet-aktivieren/
Beste Grüße
Fabian
Ja, sorry. Ich glaube ich sollte mal mehr auf meine Autokorrekturen achten.
Kein Problem. 🙂 Hoffe es klappt nun alles. 🙂
Beste Grüße
Fab
I have just built this project using one of yours PCBs. There appears to be a missing step to solder the ‘SJ1’ jumper to connect pin D4 to the matrix. This probably should be in the “Solder the LED panel to the circuit board” section.
Hey Sarreck,
you are absolutely right. Thanks for the hint. I will add that! 🙂