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.
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.
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: