Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen
Menü

Digitaler Bilderrahmen mit ESP32


In diesem Projekt bauen wir einen intelligenten und vernetzten digitalen Bilderrahmen.

Mithilfe des internen Speichers des ESP32 lädt das System die gespeicherten Bilder direkt auf das Display, ganz ohne eine externe SD-Karte zu benötigen. Die Fotos werden in einer kontinuierlichen Schleife angezeigt, was für eine unkomplizierte und zuverlässige Darstellung im Alltag sorgt. Das besondere Highlight dieses Projekts ist die Konnektivität: Über eine praktische Web-Oberfläche im Browser lassen sich neue Fotos jederzeit über das WLAN hochladen und die aktuelle Bildergalerie drahtlos verwalten.

Benötigte Komponente

  • ESP32 NodeMcu Entwicklungsboard 
  •  2x Breadboard 400
  •  2,4" TFT LCD Display 
  • Jumper Wire Kabel
  • Netzteil für Raspberry Pi DC 5V
Produktgalerie überspringen
Netzteil 5V 2,5A MicroUSB Netzteil 5V 2,5A MicroUSB

Durchschnittliche Bewertung von 4.5 von 5 Sternen

(5)
yourDroid Netzteil für Raspberry Pi DC 5V 2.5A Micro-USB
RBS14096

Sofort verfügbar

Regulärer Preis: Ab 6,45 €
65 Breadboard Jumper Kabel im Set

Durchschnittliche Bewertung von 4.9 von 5 Sternen

(5)
65 Jumper Wire Kabel im Set
RBS10023

Sofort verfügbar

Regulärer Preis: Ab 1,59 €
2,4" TFT LCD Display Modul ILI9341 240x320 2,4" TFT LCD Display Modul ILI9341 240x320

Durchschnittliche Bewertung von 4.88 von 5 Sternen

(8)
2,4" TFT LCD Display Modul ILI9341 240x320
RBS13179

Sofort verfügbar

Regulärer Preis: Ab 12,64 €
9
Prototyping Board 400 PCB Board

Durchschnittliche Bewertung von 4.91 von 5 Sternen

(17)
Breadboard 400 für Arduino, Raspberry etc
RBS10405

Sofort verfügbar

Verkaufspreis: Ab 0,86 € Regulärer Preis: 0,95 €
ESP32 NodeMcu Entwicklungsboard ESP-WROOM-32 ESP32 NodeMcu Entwicklungsboard ESP-WROOM-32

Durchschnittliche Bewertung von 5 von 5 Sternen

(3)
ESP32 NodeMcu Entwicklungsboard ESP-WROOM-32
RBS12259

Sofort verfügbar

Regulärer Preis: Ab 6,27 €

Schaltungsaufbau

Der Aufbau des Systems ist unkompliziert, erfordert jedoch ein wichtiges Detail: Um die Breite des ESP32 passgenau unterzubringen, müssen zwei Breadboards miteinander verbunden werden. Da der ESP32 im Zentrum steht, können wir die Stromversorgung (3V3/Vin und GND) anschließend bequem über die seitlichen Schienen verteilen. 

Wichtig: Da das Display und seine Hintergrundbeleuchtung (Backlight) eine stabile Stromzufuhr benötigen, sorgt die direkte Versorgung über diese Schienen für einen zuverlässigen Betrieb und hält die Verkabelung übersichtlich. Hier ist die kompakte Übersicht der Pin-Belegung für die Verkabelung:

Komponente Pin (Modul) Anschluss (ESP32 / System)
ILI9341 Display VCC 3V3 (oder Vin)
GND GND
CS GPIO 15 (D15)
RESET (RST) GPIO 4 (D4)
DC (RS) GPIO 2 (D2)
SDI (MOSI) GPIO 23 (D23)
SCK (CLK) GPIO 18 (D18)
LED (BLK) 3V3


zum Vergrößern auf Bilder klicken

Vollständiges Verbindungsschema

realer Aufbau

Software & Bibliotheken

Für den ESP32 nutzen wir die Arduino IDE (mit installiertem ESP32-Boardpaket). Über den Bibliotheksverwalter lassen sich einfach diese beiden Bibliotheken suchen und installieren:

  •  Adafruit ILI9341 
  •  TJpg_Decoder 


Wichtiger Hinweis: Wenn die Arduino IDE beim Installieren dieser Bibliotheken fragt, ob auch fehlende Abhängigkeiten (Dependencies wie z. B. die „Adafruit GFX Library“ oder „Adafruit BusIO“) installiert werden sollen, ist dies unbedingt mit "Install All" (Alle installieren) zu bestätigen.

Code & Upload

Um das Projekt professionell und übersichtlich zu halten, haben wir die Software in zwei Dateien aufgeteilt: Die eigentliche Steuerungslogik für den ESP32 (C++) und das moderne, responsive Web-Dashboard für den Bilder-Upload (HTML/CSS/JS in der Datei pag.h). Anstatt hier hunderte Zeilen Code einzufügen, haben wir ein fertiges, sofort einsatzbereites Software-Paket vorbereitet

Hier klicken, um den vollständigen Quellcode herunterzuladen.

 Funktionsweise und Bedienung

Es ist darauf zu achten, den Namen des WLAN-Netzwerks und das Passwort einzugeben, damit sich das System mit dem Netzwerk verbinden kann. Dazu wird der folgende Abschnitt im Code angepasst:

Code anzeigen / einklappen
const char* ssid = "DEIN_WLAN_NAME";
const char* password = "DEIN_WLAN_PASSWORT";

Nach dem erfolgreichen Hochladen auf das Board stellt dieses die Verbindung her. Anschließend wird auf dem Display eine IP-Adresse angezeigt (wie in Abbildung 3 dargestellt). Diese IP-Adresse muss im Webbrowser aufgerufen werden, um Fotos an das Display zu senden.

Hinweis: Die IP-Adresse aus dem Beispielbild nicht kopieren, da dies nicht funktioniert. Jedes Board erhält vom Router eine eigene, spezifische IP-Adresse. Ausschließlich die Adresse verwenden, die auf dem eigenen Display angezeigt wird.

Beim Aufrufen der Webseite lassen sich Fotos hochladen, vorhandene Bilder löschen und nun auch zwischen zwei Betriebsarten wählen: einer automatischen „Diashow“ (mit wählbarer Anzeigedauer von 5, 10 oder 30 Sekunden) und einem „manuellen“ Modus. 

Im manuellen Modus bleibt das aktuelle Bild auf dem Bildschirm stehen, bis es über die Schaltflächen „Vor“ oder „Zurück“ gewechselt wird. Die folgende Abbildung zeigt die entsprechende Web-Oberfläche.

Web-Oberfläche zum Hochladen der Fotos
Praktische Demonstration des aufgebauten Systems

Fazit 

Wir sind am Ende dieses Projekts angelangt!
Mit diesem ESP32-basierten digitalen IoT-Bilderrahmen haben Sie nicht nur gelernt, wie man Displays ansteuert und Bilder dekodiert, sondern auch, wie man einen lokalen Webserver zur praktischen Dateiverwaltung einrichtet. Dieses Wissen bildet eine hervorragende Grundlage für zukünftige Automatisierungs- und IoT-Projekte. Wir hoffen, dass der Aufbau Spaß gemacht hat und die vielfältigen Möglichkeiten des ESP32 weiter erforscht werden!