ESP32 Tutorial 45/55 - Benutzerdefinierter Streaming-Server mit LED-Steuerung CAM-3 l SunFounder's ESP32 Lernkit
In diesem Tutorial werden wir untersuchen, wie man einen benutzerdefinierten Streaming-Server mit dem ESP32-Erweiterungsboard von SunFounder einrichtet. Das Projekt ermöglicht es Ihnen, Live-Video in Ihren Browser zu streamen, während Sie gleichzeitig eine LED direkt über die Benutzeroberfläche steuern. Diese Kombination von Funktionen bietet ein praktisches Erlebnis mit IoT- und Webtechnologien.
Wir werden die integrierten WLAN-Funktionen des ESP32 nutzen, um einen Webserver zu erstellen, der Videos streamt und LED-Steuerbefehle verarbeitet. Das Projekt umfasst Programmierung, Verkabelung und das Verständnis, wie die Komponenten miteinander interagieren. Wenn Sie ein klareres Verständnis der Einrichtung wünschen, sollten Sie sich das Video bei (im Video bei 00:00) ansehen.
Hardware erklärt
Die Hauptkomponenten für dieses Projekt umfassen den ESP32-Mikrocontroller, ein Kameramodul, eine LED und einen Widerstand. Der ESP32 ist ein vielseitiger Mikrocontroller mit integriertem Wi-Fi und Bluetooth, was ihn ideal für IoT-Anwendungen macht. Das Kameramodul ermöglicht uns das Erfassen von Videos, während die LED ein einfaches Ausgabegerät zur Steuerung bietet.
Die LED ist über einen Widerstand verbunden, um den Strom zu begrenzen und Schäden sowohl an der LED als auch am Mikrocontroller zu verhindern. Dieses Setup ermöglicht es uns, die LED über unsere Weboberfläche ein- und auszuschalten und zeigt die Fähigkeiten des ESP32 im Umgang mit Eingaben und Ausgaben über ein Netzwerk.
Datenblattdetails
| Hersteller | Espressif |
|---|---|
| Teilenummer | ESP32-WROOM-32 |
| Logik/IO-Spannung | 3,3 V |
| Versorgungsspannung | 3,0-3,6 V |
| Ausgangsstrom (pro Kanal) | 12 mA |
| Spitzenstrom (pro Kanal) | 40 mA |
| PWM-Frequenzrichtlinien | 1 kHz |
| Eingangslogikschwellen | 0,2 V (niedrig) / 0,8 V (hoch) |
| Spannungsabfall / RDS(on)/ Sättigung | 0,2 V (typ.) |
| Thermische Grenzen | Maximale Anschluss- temperatur: 125 °C |
| Paket | QFN48 |
| Notizen / Varianten | Verfügbar in verschiedenen Konfigurationen |
- Stellen Sie sicher, dass das ESP32 mit einem stabilisierten 3,3 V-Netzteil versorgt wird.
- Verwenden Sie einen strombegrenzenden Widerstand (220 Ohm) mit der LED, um Schäden zu vermeiden.
- Halten Sie ordnungsgemäße Verbindungen aufrecht, um schwebende Eingänge zu vermeiden.
- Überprüfen Sie, ob die Wi-Fi-Anmeldeinformationen korrekt und case-sensitiv sind.
- Verwenden Sie eine stabile Stromquelle für gleichbleibende Leistung.
- Berücksichtigen Sie die Wärmeabgabe in geschlossenen Räumen.
Verdrahtungsanweisungen

Um den ESP32 und die LED zu verkabeln, beginnen Sie damit, den längeren Pin der LED mit einem geeigneten GPIO-Pin zu verbinden, in diesem Fall verwenden wir Pin 14. Der kürzere Pin sollte mit der Masseleitung auf Ihrem Breadboard verbunden werden. Platzieren Sie als Nächstes einen 220-Ohm-Widerstand in Reihe mit der LED, indem Sie ein Ende mit dem GPIO-Pin (Pin 14) und das andere Ende mit der Masse verbinden. Stellen Sie sicher, dass der ESP32 korrekt mit Strom versorgt wird, entweder über den Mikro-USB-Port oder mit einer 18650-Lithiumbatterie.
Für das Kameramodul stellen Sie sicher, dass Sie die erforderlichen Pins gemäß dem verwendeten Kameramodell anschließen, da die Verkabelung leicht variieren kann. Der ESP32 wird den Video-Stream über seine integrierten Fähigkeiten verwalten, und die LED-Steuerung wird über die Webschnittstelle, die wir im Code einrichten werden, gesteuert.
Code-Beispiele & Anleitung
Das Programm beginnt damit, notwendige Bibliotheken einzufügen und die Wi-Fi-Anmeldeinformationen zu definieren. Sie müssen ersetzenssidundpasswordmit Ihren aktuellen Wi-Fi-Anmeldeinformationen, um das ESP32 mit Ihrem Netzwerk zu verbinden.
const char* ssid = "SSID";
const char* password = "PASSWORD";Als nächstes definieren wir den LED-Pin und richten die Kameraeinstellungen ein. Der für die LED verwendete Pin wird definiert alsLED_PIN, das später im Code verwendet wird, um den Zustand der LED zu steuern.
#define LED_PIN 14
pinMode(LED_PIN, OUTPUT);Im Anfrage-Handler für die LED-Steuerung überprüfen wir den vom Webinterface empfangenen Befehl. Je nachdem, ob der Befehl "ein" oder "aus" ist, verwenden wirdigitalWrite(LED_PIN, 1);um die LED einzuschalten unddigitalWrite(LED_PIN, 0);es auszuschalten.
if(!strcmp(variable, "on")) {
Serial.println("ON");
digitalWrite(LED_PIN, 1);
}
else if(!strcmp(variable, "off")) {
Serial.println("OFF");
digitalWrite(LED_PIN, 0);
}Diese Logik ermöglicht es der Webschnittstelle, effektiv mit dem ESP32 zu kommunizieren, wodurch eine Echtzeitsteuerung der LED basierend auf Benutzerinteraktionen ermöglicht wird. Der vollständige Code wird unter dem Artikel zum weiteren Erkunden geladen.
Demonstration / Was zu erwarten ist
Sobald alles eingerichtet und der Code hochgeladen ist, sollten Sie in der Lage sein, die IP-Adresse des ESP32 in Ihrem Webbrowser aufzurufen. Das Streaming-Video wird erscheinen, und Sie können die LED mit den Tasten auf der Benutzeroberfläche steuern. Durch Klicken auf "EIN" wird die LED eingeschaltet, während "AUS" sie ausschaltet. Stellen Sie sicher, dass der ESP32 und Ihr Computer mit demselben Netzwerk verbunden sind, um eine ordnungsgemäße Funktionalität zu gewährleisten (im Video um 12:30).
Video-Zeitraffer
- 00:00 Start
- 1:51 Einführung in das Projekt
- 2:31 Dokumentationsseite
- 3:33 Verkabelung Erklärt
- 5:08 Arduino-Code erklärt
- 13:28 Auswahl des ESP32-Boards und des COM-Ports in der Arduino IDE
- 15:10 Demonstration
Common Course Links
Common Course Files
Ressourcen & Referenzen
-
Dokumentation
Dateien📁
Keine Dateien verfügbar.