ESP32 S3 Kamera - Foto auf SD-Karte speichern, wenn die Tür geöffnet wird
Dieses Tutorial zeigt Ihnen, wie Sie mit dem ESP32 S3 eine Türkamera bauen. Ein magnetischer Türsensor überwacht Ihre Tür. In dem Moment, in dem jemand sie öffnet, nimmt der ESP32 S3 ein Foto auf und speichert es auf einer microSD-Karte. Das Board arbeitet allein. Es braucht kein WLAN und keinen Computer.

Was Sie bauen werden:
- Eine ESP32 S3 Kamera mit einem magnetischen Türsensor
- Ein Foto, das jedes Mal auf der microSD-Karte gespeichert wird, wenn die Tür geöffnet wird
- Eine saubere Erkennung, sodass eine Türbewegung genau ein Foto speichert
- Eine Türkamera, die ganz ohne Internet funktioniert
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
※ Notiz:
Das ESP32 S3 Kamera-Board hat 40 Pins, aber der Schraubklemmenblock und das Breakout-Board haben 44 Pins. Sie funktionieren trotzdem zusammen. Setzen Sie das Kamera-Board in die Mitte des 44-Pin-Boards, sodass auf der linken Seite 2 Pins frei bleiben und auf der rechten Seite 2 Pins frei bleiben.
Mit dem Schraubklemmenblock können Sie Drähte mit einem Schraubendreher anschließen, ganz ohne Löten. Das Breakout-Board bietet Ihnen einfache Stiftleisten für ein Breadboard.
Überblick über Door Sensor
Ein Türsensor besteht aus zwei Teilen:
- Einem kleinen Kunststoffgehäuse mit zwei Drähten. Dieser Teil enthält einen Reedschalter. Sie bringen ihn am Türrahmen an.
- Einem zweiten Kunststoffgehäuse ohne Drähte. Dieser Teil enthält einen Magneten. Sie bringen ihn an der Tür selbst an.
Wenn die Tür geschlossen ist, befindet sich der Magnet neben dem Reedschalter und schließt ihn. Wenn sich die Tür öffnet, entfernt sich der Magnet, und der Schalter öffnet sich wieder.

Weitere Details zum Türsensor finden Sie im Tutorial ESP32 S3 - Türsensor.
Wichtige technische Daten
| Punkt | Wert |
|---|---|
| Typ | Magnetischer Reedschalter (Schließer) |
| Drähte | 2, ohne Polarität |
| Schaltabstand | etwa 15 mm bis 25 mm |
| Stromversorgung | Keine. Es ist nur ein Schalter. |
※ Notiz:
Die beiden Drähte haben kein Plus und kein Minus. Sie können sie beliebig herum anschließen.
Wie der ESP32 S3 die Tür liest
Der Türsensor ist nur ein Schalter, daher muss der ESP32 S3 selbst eine Spannung anlegen. Wir verwenden den internen Pull-up-Widerstand:
Mit INPUT_PULLUP ist der Pin HIGH, wenn ihn nichts nach unten zieht. Die Tabelle zeigt, was passiert:
| Tür | Magnet | Reedschalter | Pin liest |
|---|---|---|---|
| Geschlossen | Neben dem Schalter | Geschlossen (mit GND verbunden) | LOW |
| Offen | Vom Schalter entfernt | Offen (nichts verbunden) | HIGH |
Im Code also:
Warum der Code 50 Millisekunden wartet
Ein Metallschalter wechselt nie sauber. In den ersten Millisekunden springt er viele Male zwischen offen und geschlossen hin und her. Das nennt man Prellen. Ohne Schutz würde eine Türbewegung fünf Fotos speichern.
Der Code wartet, bis der Wert 50 Millisekunden lang gleich bleibt:
Bewegungssensor oder Türsensor?
Beide ergeben eine kleine Sicherheitskamera, aber sie sind nicht gleich:
| Türsensor | Bewegungssensor (PIR) | |
|---|---|---|
| Erkennt | Nur das Öffnen der Tür | Jeden warmen Körper, der sich bewegt |
| Fehlalarme | Fast nie | Manchmal (Heizungen, Fenster, Tiere) |
| Aufwärmzeit | Keine | 30 bis 60 Sekunden |
| Braucht Strom | Nein | Ja, 5V |
| Funktioniert durch Glas | Ja | Nein |
Ein Türsensor ist die bessere Wahl, wenn Sie über ein genaues Ereignis informiert werden möchten. Siehe auch das Tutorial ESP32 S3 Kamera - Foto auf SD-Karte speichern, wenn Bewegung erkannt wird.
Überblick über microSD Card on ESP32 S3
Das ESP32 S3 Kamera-Board hat einen microSD-Kartensteckplatz. Die Karte ist ein sehr guter Ort für Fotos, weil:
- Ein Foto zu groß für den Speicher des ESP32 S3 ist. Die Karte kann tausende Fotos aufnehmen.
- Die Karte die Fotos behält, wenn der Strom ausfällt.
- Sie die Karte herausnehmen und auf Ihrem Computer lesen können.
Anforderungen an die Karte
| Punkt | Wert |
|---|---|
| Kartentyp | microSD oder microSDHC |
| Größe | Bis 32 GB funktioniert am besten |
| Dateisystem | FAT32 |
| Geschwindigkeitsklasse | Class 10 oder schneller |
※ Notiz:
Eine Karte größer als 32 GB wird meist mit dem Dateisystem exFAT geliefert. Der ESP32 S3 kann exFAT nicht lesen. Formatieren Sie die Karte vor der Verwendung als FAT32.
Der Kartensteckplatz ist bereits im Board verbunden. Sie müssen ihn nicht verdrahten. Aber der Code muss die Pins kennen:
| Karten-Pin | ESP32 S3 Pin | Bedeutung |
|---|---|---|
| CLK | GPIO39 | Takt |
| CMD | GPIO38 | Befehle |
| D0 | GPIO40 | Daten |
※ Notiz:
Die Kamera verwendet die anderen Karten-Pins, daher muss der Code die Karte im 1-Bit-Modus öffnen. Das ist das Wort true in SD_MMC.begin("/sdcard", true). Mehr dazu im Tutorial ESP32 S3 Kamera - Alle paar Sekunden ein Foto auf SD-Karte speichern.
Schaltplan zwischen Türsensor und ESP32 S3
Schließen Sie die beiden Drähte des Türsensors an Ihren ESP32 S3 an.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Draht des Türsensors | ESP32 S3 Pin |
|---|---|
| Erster Draht | GPIO2 |
| Zweiter Draht | GND |
Stecken Sie dann die microSD-Karte in den Steckplatz und bringen Sie die beiden Teile des Sensors an Ihrer Tür an:
- Bringen Sie den Teil mit den Drähten am Türrahmen an.
- Bringen Sie den Teil ohne Drähte an der Tür selbst an.
- Bewegen Sie die Tür, bis die beiden Teile nebeneinander liegen. Sie müssen sich fast berühren, mit einem Abstand kleiner als 15 mm.
- Richten Sie die Kamera auf die Tür.
Sicherheitshinweise
Der Türsensor braucht keinen Strom. Schließen Sie ihn nicht an 5V oder 3,3V an. Ein Draht geht an GPIO2, der andere an GND. Es kann nichts kaputtgehen, weil es nur ein Schalter ist.
Nehmen Sie die microSD-Karte niemals heraus, während das Board ein Foto schreibt. Ziehen Sie immer zuerst das USB-Kabel ab, warten Sie zwei Sekunden und nehmen Sie dann die Karte heraus.
Verwenden Sie keinen Kamera-Pin für den Sensor. Die Kamera verwendet bereits GPIO4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17 und 18. Der Kartensteckplatz verwendet GPIO38, 39 und 40. GPIO2 ist frei, also verwenden wir ihn.
Arduino IDE Einstellungen für die ESP32 S3 Kamera
Die Kamera funktioniert nicht mit den Standardeinstellungen der Arduino IDE. Sie müssen einige Punkte im Menü Tools ändern, bevor Sie den Code hochladen.
| Menüpunkt in Tools | Diese Auswahl treffen |
|---|---|
| Board | ESP32S3 Dev Module |
| Flash Size | 16MB (128Mb) |
| PSRAM | OPI PSRAM |
| Partition Scheme | Huge APP (3MB No OTA/1MB SPIFFS) |
| CPU Frequency | 240MHz (WiFi) |
| USB Mode | Hardware CDC and JTAG |
| Upload Mode | UART0 / Hardware CDC |
| Upload Speed | 921600 |
| USB CDC On Boot | Enabled |
※ Notiz:
PSRAM muss OPI PSRAM sein, und Partition Scheme muss Huge APP sein. Ändern Sie zuerst Flash Size, denn danach ändert sich die Liste der Optionen für Partition Scheme.
So programmieren Sie die Türkamera
Sie müssen keine Bibliothek installieren. SD_MMC und esp_camera sind bereits im ESP32-Boardpaket enthalten.
- Stellen Sie den Sensor-Pin als Eingang mit Pull-up-Widerstand ein.
- Lesen Sie die Tür einmal in setup(), damit der Code den Zustand beim Start kennt.
- Warten Sie in loop(), bis der Wert stabil ist, und achten Sie dann auf den Wechsel zu offen.
※ Notiz:
Der Code speichert nur dann ein Foto, wenn sich die Tür öffnet. Beim erneuten Schließen der Tür passiert nichts. Möchten Sie für beides ein Foto? Dann rufen Sie takeAndSavePhoto() auch im else-Teil auf.
- Starten Sie die microSD-Karte im 1-Bit-Modus.
- Geben Sie jedem Foto einen anderen Namen, damit ein neues Foto nie ein altes überschreibt.
- Wenn das Board neu startet, beginnt der Zähler wieder bei 1. Um die alten Fotos zu behalten, suchen Sie den ersten freien Namen:
- Öffnen Sie eine Datei, schreiben Sie das Foto und schließen Sie die Datei.
※ Notiz:
Sie müssen file.close() aufrufen. Wenn Sie es vergessen, bleibt das Foto im Speicher und erreicht nie die Karte.
ESP32 S3 Code
Der folgende Code speichert jedes Mal, wenn die Tür geöffnet wird, ein Foto mit dem Namen door_00001.jpg, door_00002.jpg und so weiter. Die Ruhezeit beträgt 3 Sekunden. Um sie zu ändern, ändern Sie die Zeile #define QUIET_TIME 3000.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Formatieren Sie Ihre microSD-Karte auf Ihrem Computer als FAT32.
- Ziehen Sie das USB-Kabel ab. Stecken Sie die Karte in den Steckplatz und schließen Sie die beiden Drähte des Türsensors wie in der Tabelle oben an.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Ändern Sie die Einstellungen im Menü Tools. Siehe die Tabelle oben.
- Kompilieren Sie den Code und laden Sie ihn auf das ESP32 S3 Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Upload klicken.

- Öffnen Sie den Seriellen Monitor in der Arduino IDE.

- Drücken Sie einmal die Taste RESET.
- Legen Sie die beiden Teile des Sensors nebeneinander. Der Serielle Monitor meldet, dass die Tür geschlossen ist.
- Bewegen Sie die beiden Teile voneinander weg, wie bei einer sich öffnenden Tür.
- Sehen Sie sich den Seriellen Monitor an. Sie sehen The door is open! und den Namen des Fotos.
- Ziehen Sie das USB-Kabel ab, nehmen Sie die Karte heraus und sehen Sie sich die Fotos auf Ihrem Computer an.
Serieller Monitor
Die folgenden Messwerte wurden im Jahr 2026 aufgezeichnet:
Wenn die Tür zu schnell wieder geöffnet wird, meldet der Code das und speichert nichts:
Fehlerbehebung
Der Serielle Monitor meldet immer, dass die Tür offen ist, auch wenn sie geschlossen ist.
- Die beiden Teile sind zu weit voneinander entfernt. Sie müssen sich fast berühren, mit einem Abstand kleiner als 15 mm.
- Prüfen Sie den Draht an GPIO2 und den Draht an GND.
- Manche Türsensoren sind "Öffner" statt "Schließer". Dann müssen die beiden Zeilen #define DOOR_CLOSED LOW und #define DOOR_OPEN HIGH ihre Werte tauschen.
Der Serielle Monitor meldet immer, dass die Tür geschlossen ist.
Die beiden Drähte berühren sich wahrscheinlich, oder ein Draht ist am falschen Pin. Ein Draht geht an GPIO2, der andere an GND.
Eine Türbewegung speichert zwei oder drei Fotos.
Erhöhen Sie DEBOUNCE_TIME von 50 auf 150.
Der Serielle Monitor zeigt SD card not found.
Formatieren Sie die Karte als FAT32, verwenden Sie eine Karte mit 32 GB oder weniger und stecken Sie die Karte erneut ein. Sie können auch die drei Pinnummern oben im Code mit der Zeichnung Ihres Boards vergleichen.
Der Serielle Monitor zeigt No SD card inside the slot.
Das Board hat den Steckplatz gefunden, aber keine Karte. Stecken Sie die Karte erneut ein oder probieren Sie eine andere Karte.
Der Serielle Monitor zeigt Cannot write the file.
Die Karte ist voll, gesperrt oder defekt. Prüfen Sie den freien Speicherplatz auf Ihrem Computer.
Das Foto ist dunkel.
Die Kamera kann im Dunkeln nicht sehen. Bringen Sie ein Licht in der Nähe der Tür an, oder eine Lampe, die sich mit der Tür einschaltet.
Der Serielle Monitor zeigt nach den Startmeldungen nichts an.
Wenn Ihr USB-Kabel im Anschluss mit dem Namen UART steckt, stellen Sie USB CDC On Boot auf Disabled. Wenn es im Anschluss mit dem Namen USB steckt, stellen Sie es auf Enabled.
Der Serielle Monitor zeigt Camera init failed with error 0x105.
Stellen Sie PSRAM im Menü Tools auf OPI PSRAM und prüfen Sie das Flachbandkabel der Kamera.
Anwendungen
Ein Türsensor liefert Ihnen ein eindeutiges Ereignis mit fast keinen Fehlalarmen, und die microSD-Karte bedeutet kein WLAN, kein Internet und keine monatlichen Kosten. Hier sind praktische Projekte, die Sie mit diesem Code bauen können:
- Offline-Haustürkamera: Sehen Sie, wer Ihre Haustür geöffnet hat, während Sie weg waren, ganz ohne Internetverbindung.
- Paketbox-Kamera: Bewahren Sie ein Foto der Person auf, die Ihre Paketbox oder Ihren Briefkasten öffnet.
- Protokoll für Werkzeugkasten, Tresor oder Spind: Erhalten Sie jedes Mal ein Bild, wenn jemand ihn öffnet, auch an einem Ort ohne WLAN.
- Garagen- und Schuppenkamera: Erfahren Sie, wer nachts Ihr Garagentor geöffnet hat.
- Medizinschrank-Beobachter: Bewahren Sie ein Foto auf, wenn ein Kind einen Schrank öffnet, der geschlossen bleiben muss.
- Serverschrank und Schaltschrank: Führen Sie ein Fotoprotokoll aller Personen, die bei der Arbeit einen Schrank öffnen.
- Türkamera für das Ferienhaus: Lassen Sie sie wochenlang in einem leeren Haus und lesen Sie die Karte, wenn Sie zurückkommen.
- Protokoll für Fensteröffnungen: Bringen Sie den Sensor an einem Fenster statt an einer Tür an.
- Kamera für Hoftor oder Scheune: Überwachen Sie eine Tür weit weg von jedem Router.
- Ladentür-Zähler mit Fotos: Bewahren Sie ein Bild jedes Kunden auf, der die Tür öffnet.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Herausforderungen
- Einsteiger: Speichern Sie auch ein Foto, wenn die Tür wieder geschlossen wird, sodass Sie ein Bild von beiden Momenten haben.
- Fortgeschrittene: Schreiben Sie eine Textdatei auf die Karte mit einer Zeile pro Ereignis, zum Beispiel dem Fotonamen und der Zeit seit dem Start des Boards.
- Profis: Fügen Sie eine Echtzeituhr (RTC) hinzu und schreiben Sie das echte Datum und die Uhrzeit in den Dateinamen, zum Beispiel /2026-09-23_14-05-31.jpg.