Hinter dem Türchen des heutigen Tages befindet sich eine ganz besondere LED. Es handelt sich um eine RGB-LED mit integriertem Controller (Typenbezeichnung PL9823, vergleichbar mit WS2812). Sie ermöglicht es, mehrere LEDs hintereinanderzuschalten und über ein Protokoll einzeln anzusteuern. Heute werden wir allerdings zunächst eine LED ansteuern. Dafür kommt ein Versuch gerade recht, der schon eine gewisse Tradition in meinen Adventskalendern hat: das Cheerlights-Projekt von Hans Schaaler. Für alle diejenigen, die das Projekt nicht kennen: Es geht um weltweit vernetzte bunte Lichter, die sich simultan über Twitter-Kommandos steuern lassen. Und dazu passt Node-RED sehr gut. Für den Versuch des heutigen Tages benötigen Sie den folgenden Aufbau und das Programm des heutigen Tages.

Die LED kann nun über eine Reihe von Kommandos gesteuert werden. Sie wird über den Begriff Pixel angesprochen. Am heutigen Tag werden wir vor allem sehen, wie man alle LEDs mit der gleichen Farbe ansteuern kann, denn wir haben heute ja nur eine LED. In einem späteren Versuch wird aber deutlich, mit welchen Kommandos man den LEDs einzelne Farben zuweisen kann.
| Kommando im in-Topic | Einstellungen |
| {„cmd“:“set_pixel_hex“,„value“:“#FFFFFF“} | Setzt alle LEDs auf den Farbwert im HEX-Format. |
| {„cmd“:“set_pixel_rgb“,„value“:“rgb(255,255,255)“} | Setzt alle LEDs auf den Farbwert im RGB-Format. |
| {„cmd“:“set_pixel_hsv“,„value“:“hsv(120, 100%, 100%)“} | Setzt alle LEDs auf den Farbwert im HSV-Format. |
| {„cmd“:“get_pixel_hex“} | Gibt die aktuelle Farbe im entsprechenden Format wieder, wird automatisch beim Setzen einer Farbe zurückgegeben. |
| {„cmd“:“get_pixel_rgb“} | |
| {„cmd“:“get_pixel_hsv“} |
Das Cheerlights Cheerlights-Projekt hat eine Webseite (https://cheerlights.****com/), auf der Sie einige Informationen zu dem Projekt bekommen. Außerdem finden Sie dort eine Unterseite, bezeichnet mit Cheerlights API, auf der Sie eine Vielzahl von Möglichkeiten dazu erhalten, wie Sie den aktuellen Farbwert bekommen. Wir benutzen hier die Schnittstelle
http://api.thingspeak.com/channels/1417/field/2/last.json
über die der aktuelle Wert als JSON-Value und im HEX-Format angeboten wird.
In dem Flow des heutigen Tages müssen wir einfach nur alle paar Sekunden diese Seite aufrufen und den aktuellen Wert extrahieren. Es wird überprüft, ob sich der Wert geändert hat. Ist das der Fall, wird die neue Farbe an das Board übertragen. Zusätzlich können Sie auch den Twitter-Node mit Ihren TwitterDaten konfigurieren, falls Sie bei Twitter angemeldet sind. Er sucht dann ebenfalls nach Tweets mit dem Cheerlights-Text und liest die Nachricht vor, während sie auf der GUI anzeigt wird.

Doch wie können Sie die Farbe verändern? Das geht, indem Sie eine Twitter-Nachricht verfassen und damit Ihre und auch die Farbe aller anderen Cheerlights-Nutzer verändern. Die Nachricht muss zum einen #Cheerlights, @Cheerlights oder einfach nur das Stichwort Cheerlights enthalten, und zum anderen muss eine der vordefinierten Farben hinter dem Stichwort stehen. Zu den vordefinierten Farben gehören:
red, green, blue, cyan, white, warmwhite, purple, magenta, yellow, orange, pink
Ein möglicher Tweet lautet also:
Testing my #cheerlights project on my #NodeESP with the color blue.
Damit geben Sie sich und der ganzen Welt eine neue Farbe.

ich habe kein Twitter. Wie kann ich die Farbe der LEDs wechseln?