Robins Blog – Technik und Multimedia

Fhem mit LED Statusanzeige / LED-Stripe WD2812B / ESP 8266

Update 29.11.2016 Ich hätte nicht gedacht, das die Status-Anzeige von so vielen nachgebaut wird. Ich habe vom Blog-Leser Dirk, der sich auch mit der Thematik beschäftigt hat, eine modifizierte Version bekommen. Ich stelle sie hier jetzt mal weiter unten ungeprüft in dem Beitrag ein.

[sgmb id=“1″]

Update 06.08.2016 Beispiel-Bilder von Blog-Lesern
LED-Rahmen mit ESP 8266 WeMos

LED-Rahmen mit ESP 8266 WeMos

„Alle guten Dinge sind drei“ heißt ein bekanntes Sprichwort. Nachdem ich für Fhem LED Statusanzeigen mit LED – Stripes vom Typ 2812 B gebaut habe, kam öfter das Feedback, ob es nicht noch einfacher gehen würde.

Nochmal zur Erinnerung: Das LED Stripe wird in einem einfachen Bilderrahmen geklebt und je nach Stripe-Länge kann es mehrere Zustände in verschiedenen Farben anzeigen.

LED – Stripe für Fhem, gesteuert von einem WeMos

Die Zustands-Daten kommen alle vom Hausautomation-Server Fhem und können auf 8 unterschiedlichen WD2812 B LEDs angezeigt werden. Es können auch mehr LEDs verwendet werden, jedoch ist hier eine bessere Spannungsquelle und eine andere Beschaltung notwendig.

Beispiele:
Wann wird die gelbe Tonne geleert?  Morgen : LED = gelb , Heute : LED = Rot oder nächste Woche = LED = aus

Regnet es draußen: LED = rot, sonst aus

Ist das Fenster offen: LED = rot, sonst aus

Hat ein PIR (Bewegungsmelder) angeschlagen: LED = rot, sonst aus

Habe ich erhöhte Verkehrsdichte zu erwarten (Google verkehr): LED = gelb (mittelmäßig), LED = rot (Stau)

Ist die Tempertur unter 0 Grad gefallen: Ja, LED = blau, sonst aus

Hier kann ich wieder die Vorteile von Fhem wiederholen. Es gibt Plugins für Abfall, Verkehr usw. Man kann einmal eingerichtete Sensoren abfragen, z. B. Lacrosse, oder auch Daten, die über MySensors Sensoren kommen. Fhem ist offen für alles. Die LED-Farben könnt ihr selber bestimmen durch das Mischen der Farbwert Rot, Grün Blau.

Neuer Übertragungsweg:
Nachdem ich im ersten Blogbeitrag zum Thema LED-Bilderrahmen einen 433 MHz Sender + Empfänger genommen habe, welche bei mir immer noch im Live System aktiv ist (-> siehe Blogbeitrag), habe ich bei meinem zweiten Bilderrahmen für meine Testumgebung einen LED-Bilderrahmen mit der MySensors-Technologie gebaut (-> Siehe Blogbeitrag). Der Nachteil dieser beiden Übertragungswege ist, das man sich extra einen Empfänger (433 MHz oder ein Gateway) anschaffen muss, um diese beiden Bilderrahmen zu bedienen. Blog-Leser, welche fleißig meine Sensoren nachbauen, haben bestimmt auch viele MySensors Module (Temperatur, PIR, Regensensor) etc. im Einsatz.

Die dritte Methode, die ich Euch heute vorstelle, nutzt die Palette der ESP 8266 Module.
Bei dieser Art werden die Daten über WLAN übertragen, der LED-Bilderrahmen nimmt über WLAN die Daten von Fhem entgegen. Ich habe vor einiger Zeit einiges über die 8266-Module geschrieben, z. B. WeMos oder NodeMCU.

Ein zweiter Vorteil dieser WLAN – Technik ist, das es sehr viele ESP-8266 Module gibt. Das fängt mit dem ESP 8266-01 an, geht über ESP 8266-07 usw. Ihr könnt auch einen NodeMCU nehmen, oder auch ein WeMos Baustein. Ein Witty-Board (-> Blog-Beitrag)  tut es auch.

Außerdem ist auf dem NodeMCU, WeMos oder Witty ein USB Anschluß drauf, welcher auch über ein Spannungsregler dem Basis-Baustein ESP 8266 die notwendige stabile 3.3 V Spannung gibt. Die 5 V greift ihr an einem 5 V pin ab. Und nehmt auch ein 1.5 A 5 V Netzteil. Ich würde auch empfehlen, nicht mehr als 8 LEDs als Anzeige zu nehmen. Ansonsten müsst ihr über noch eine extra Schaltung bauen.

LED-Stripe für Fhem, eine Auswahl von 8266 Modulen, NodeMCU, ESP 01

Software:
Blog-Leser Thomas hat mir ein Script geschickt, welches man mit der Arduino Software auf dem ESP8266 kopieren muss. Da es, wie oben erwähnt, sehr viele Module mit ESP8266 Bausteine gibt, gehe ich jetzt nicht auf das Flashen ein.
Ich kann hier ein schönes kostenloses  e-Book empfehlen (englisch):  Kolban’s Book on ESP 8266
Ich habe für mein Beispiel einen WeMos genommen, welchen wir einfach programmieren können. Nachdem wir das Script vom Thomas angepasst haben (SSID, Passwort, Fhem-IP), kann es auch schon auf dem Baustein kopiert werden.
Auf Fhem-Seite muss ein Mosquitto-Broker installiert werden. Wie das funktioniert, wurde im Fhem-Forum erklärt.

Die notwendige Software findet ihr hier: https://github.com/tom71/MQTT/tree/master/FastLED_MQTT

Um die LEDs von Fhem aus zum Leuchten zu bringen, bedarf es im Grunde nur eine Zeile. Hier ist ein Bespiel für ein Dachfenster. Ein Dachfenster-Sensor (Schalter) funkt zu Fhem, und das kurze Skript bringt eine LED zum Leuchten

define Dachfenster_1_LED notify Dachfenster_1:.* {if
(Value("Dachfenster_1") eq "on")
{myLEDSend("Dachfenster_1","6,255,255,255");;} else
{myLEDSend("Dachfenster_1","6,0,0,0");;}}

Hier wird bei geöffnetem Dachfenster die 6. LED auf dem Stripe mit der Farbe weiß (255,255,255) (Rot Grün Blau) zum Leuchten gebracht, mit 0 0 0 wird sie ausgeschaltet.
Andere Farben sind natürlich auch möglich, auch die Helligkeit ist variabel (0 – 255).

in der globalen Datei 99_FhemUtils.pm muss noch die folgende Prozedur eingebunden werden.

sub myLEDSend($$) {
my ($dev,$led) = @_;
my $cmd = "mosquitto_pub -d -t cmnd/FastLedDisplay/rbw -m '$led'";
system( "$cmd;$cmd;$cmd" );
return undef;
}

 

Hardware:
An dem Pin 4 des Wemos (oder egal welchen Baustein) wird der Data-In von dem LED-Stripe. 5 V und Masse kann vom WeMos abgenommen werden.

Einkaufen:
WLAN-Baustein, wahlweise für Profis ESP-01 (-> amazon: ESP-01) ODER
WeMos-Baustein, einfacher zu programmieren ( -> amazon: WeMos D1 Mini),
Micro-USB-Kabel (-> amazon: USB 2 USB-Micro), ggf.
passendes Netzeil: (-> amazon: NOKIA AC-10E)
LED-Stripe WS2812B: z.b. 8 LED Stripe, auf Platine (-> amazon: RGB LED Stripe)
Oder auch sowas: WS2812 B Stripe 1m 60 LED´s mit integrierten WS2811 Controller PCB schwarz

LED-Rahmen mit ESP 8266 WeMos

Angebot: Ich habe noch ein 8 – LED-Stripe mit einem WeMos-Baustein hier. Falls ihr Interesse habt, für 19,95 Euro inkl. Versand gehört dieses Set Euch. Den WeMos-Baustein könnt ihr natürlich auch für etwas anderes verwenden.

Fazit: Ihr bekommt für wenig Geld und etwas Scripting einen schönen LED-Bilderrahmen, bei dem ihr durch 8 verschieden farbige LEDs alles im Blick habt. Wegen WLAN habt ihr bessere Möglichkeiten zur Positionierung des Rahmens im Haus.
Probiert es aus, für Fhem User nicht teuer und es unheimlich flexibel.

Hier noch einige Bilder vom Blog-Leser Thomas, wie sowas „mal in schön“ aussehen könnte. Er hat anstatt eines WiMos, ein ESP 8266 -01 benutzt mit einem Spannungsregler von 5 V auf 3,3 V. Meine Meinung, etwas aufwendiger, aber wenn man die Bauteile in der Grabbelkiste findet, warum nicht.

Update vom Blog-Leser Dirk vom 29.11.2016 (start):
Die Änderungen haben soweit die Auswirkung das der ESP evtl. die Wlan Verbindung nicht mehr verliert sobald dieser mehr als einmal mit dem alten Sketch programmiert wurde.
Die Client ID wird nun automatisch per Zufall erzeugt damit es eine Eindeutige ID im MQTT hat ! Und der ESP ist kein offener AP mehr !!

Es kann auch abhängig von verwendeten esp8266 lib und der verwendeten Arduino IDE sein das es mit dem alten Sketch auch rennt !
Nachzulesen ist der Bug hier ! https://github.com/esp8266/Arduino/issues/1615

Der alte Sketch lief bei mir immer 1-2 Tage danach sind die ESP´s ausgestiegen und waren im Wlan nicht mehr sichtbar . Die Led´s leuchteten weiterhin mit dem letztem Status !
Nach dem aufspielen des modifizierten Sketches habe Ich keine Probleme mehr damit und die Anzeige macht was sie soll und ohne Ausfälle ! Bis jetzt !!

Hier nochmal die Änderung in der 99_myUtil.pm in Fhem.

sub myLEDSend($$)
{
my ($dev,$led) = @_;
my $cmd = „sudo mosquitto_pub –quiet -t cmnd/FastLedDisplay/rbw -m ‚$led'“;
system( "$cmd;$cmd;$cmd" );
return undef;
}

Wenn der Befehl mit SUDO ausgeführt wird und die Debug MSG ausgeschaltet wird , Atrib. –d weglassen ,hat man keine Meldung mehr im LOG !!

Download der Datei hier:

Update vom Dirk (Ende).

Viel Spaß beim Nachbauen, und bei Fragen, fragen

Blog-Leser Jens hat mir ein Bild geschickt von einem LED-Stripe mit Acryl-Stab-Verlängerung

Update 06.08.2016: Blogleser Peter hat mir ein Foto vom LED-Bilderrahmen geschickt!

Update 06.08.2016: Blog-Leser Dennis hat mir ein Foto von seinem LED-Bilderrahmen geschickt!

 

Die mobile Version verlassen