Robins Blog – Technik und Multimedia

Fhem: LCD 2004 Display mit ESPEasy als Statusanzeige

Viele Blog-Leser nehmen Telegram (-> Blog-Beitrag, Blog-Beitrag) oder Pushover (-> Blog-Beitrag) , um Statusmeldungen auf ihr Smartphone auszugeben. Beispielsweise: Alarmanlage ein- oder ausgeschaltet, Außentemperatur 25 Grad, Blumen müssen gegossen werden, Stau auf der A3 – Fahrdauer 59 min. Sowas und viel mehr kann man mit Fhem scripten. Ich habe Euch ja schon genügend Beispiele dafür gezeigt. Eine Alternative zu Telegram, eMail oder Pushover ist das legendäre LED-Display in Form eines Bilderrahmens, welches ich schon mittlerweile in 3 Ausführungen (MySensors, 433 MHz-Empfänger, ESP8266) gebaut habe. Ich habe für diese LED-Bilderrahmen eine sehr gute Resonanz bekommen. Viele von Euch bauen diese Bilderrahmen häufig nach. Grund: Nicht jeder möchte dauernd auf das Smartphone schauen, oder hat sogar keins.

Nun habe ich in meiner Grabbelkiste ein paar alte LCD – Displays gefunden. Diese Displays gibt es in verschiedenen Geschmacksrichtungen: 2-zeilig mit 20 Zeichen oder auch 4-zeilig mit 20 Zeichen, wahlweise mit blauen oder grüner Hintergund-Beleuchtung. Zur einfachen Anzeige von: Stau: 54 min Fahrdauer, oder Balkon: 27 Grad reicht dieses Display völlig aus. Man kann ja es auch quasi dynamisch laufen lassen, und so bei jedem neuen Event eines Devices (Temperatursensor, usw.) das Display von selbst updaten lassen.

Im folgenden zeige ich Euch die benötigten Bauteile für dieses coole Gadget und auch die notwendige Software. Wie alles bei mir im Blog: Stay creative und macht selber was draus.

Börsenkurse auf einem 4×20 Zeichen Display, Fhem Modul: Stockquotes

Bauteile:
LCD-Display, Typ 2004, kaufen bei Amazon.de (-> Link)
I2C-Schnittstelle, kaufen bei Amazon.de (-> Link)
NodeMCU (oder ein ESP8266 Baustein mit 2 GPIOs), kaufen bei Amazon.de (-> Link)
oder mein Lieblings-Board ( Witty -> Amazon.de (-> Link))
Wichtig: Lötkenntnisse müssen vorhanden sein. (Löten vom i2C an LCD-Display nötig)

Begrenztes Angebot: Ich habe die Bauteile für dieses Projekt noch vorrätig, wie abgebildet:
LCD 1602 : 2 zeilig 16 Zeichen
LCD 2004: 4 zeilig 20 Zeichen (3 Euro mehr)
notwendiger I2C Baustein (fertig angelötet)
Kabel
Wahlweise Witty – Board  oder WeMos Modul
Ich kann euch das komplette Set aus meiner Testumgebung, fertig geflashed, I2C-Baustein an dem LCD1602 gelötet für 23,50 Euro inkl. Versand anbieten. Inklusive Test. Oder auch als Einzelteile für Bastler. 3D-Gehäuse aus PETG (siehe hier) auf Anfrage.

Software für den ESP8266 Baustein:
Als Software verwenden wir hier die ESP-Easy Software. Wie der ESP 8266-Baustein geflashed wird, habe ich Euch in früheren Blog-Beiträgen gezeigt. (hier, hier, hier, hier)

Einmal geflashed und ins eigene WLAN genommen, könnt ihr komfortabel mit der ESP-Easy-Software das LCD 2004 Display konfigurieren.


LCD 2004 Display mit 3D- gedrucktem Rahmen – Preis auf Anfrage

Hierzu ruft ihr die Administrator-Oberfläche auf und wählt bei Settings 2 freie GPIO-Ports für SDA und SCL vom ESP 8266 aus (Hardware -> Hardware-Settings). Diese verbindet ihr mit der I2C Schnittstelle des LCD-Displays. Ich habe für mein Witty-Board GPIO 0 und GPIO 5 genommen. Als Device sucht ihr euch in der Vielzahl der Sensoren den LCD2004 aus der Liste aus und wählt GPIO5 und GPIO0 in den Drop-downs für SDA und SCL  aus.

Einen Funktionscheck könnt ihr machen, indem ihr unter Tools -> I2C-Scan eine Antwort bekommt. Die Adresse 0x27 müsst ihr dann unter Devices -> I2C- Adress eintragen.

 

Einen kurzen lokalen Display-Test könnt ihr machen, indem ihr in den ersten beiden Textfeldern einen kurzen Text eingebt. Nach einem Neustart des ESP-8266 Bausteins meldet sich das Display mit dem Text ESP Easy und dem Text, den ihr eingegeben habt.

Verbindung mit Fhem:
Anhand der einfachen Übertragung von Texten könnt ihr das Display sofort ausprobieren.
Wie in der Doku von ESP-Easy beschrieben, könnt ihr die Texte einfach per HTTP übertragen (-> Doku ESPEasy)

In Fhem fügt in Script solchen Programm-Code ein:

system("wget -q -O- 'http://192.168.178.52/control?cmd=lcdcmd,on'");
system("wget -q -O- 'http://192.168.178.52/control?cmd=lcd,2,1,Strom: wenig '");

Beispiel für eine Übertragung von Temperaturwerten von LaCrosse-Temperatursensoren (-> Blog-Beitrag):

{system("wget -q -O- 'http://192.168.178.52/control?cmd=lcd,2,1,".ReadingsVal("04Thermo","temperature","n.n")."'")} (danke André)

Bitte auch Teil 2 von dem Blog-Beitrag lesen!

 

Blog-Leser-Fotos:

Michael hat das LCD Display in einem halbdurchlässigen Spiegel eingebaut und zeigt „im Vorbeigehen“ immer aktuelle Temperaturen und Stromverbrauch an

Die mobile Version verlassen