diff --git a/README.md b/README.md index f9d8243bd38f85cc07b6d6e7c61c433bee3a8a21..6b990ca8837f810d9ce71f76245776ed441be165 100644 --- a/README.md +++ b/README.md @@ -33,33 +33,14 @@ In der Setup Routine wird die Verbindung zum WiFi-Netzwerk aufgebaut und der Webserver mit einer Referenz auf den benutzerdefinierten Handler (hier unser HelloWorld Beispiel) aufgerufen. - server.start_webserver(&get_stream_handler); - - -## CameraWebServer - -Das Beispiel *cameraserver.ino* streamt das Kamerabild mittels eines lokalen Webservers. -Hierfür ist die Bibliothek thk_EspCamDriver erforderlich! - - https://git-ce.rwth-aachen.de/thk_libs/microcontrollers/thk_espcamdriver.git - - -Zum Verwenden des Skriptes muss das Netzwerk vorab angepasst werden - - const char* ssid = "iPhone von Vladislav"; - const char* password = "qqqqqqqq"; + server.start_webserver(&get_helloworld_handler); -Im Anschluss den Sketch auf den ESP32 One hochladen. Hierbei als Board "ESP32 DEV MODULE(esp32)" wählen. Nun kann mit einem im Netzwerk befindlichen Gerät über die Https-Adresse das Bild im Webserver angezeigt und gespeichert werden. -Im Seriellen Monitor wird hier durch das Neustarten des ESP (Reset-Button) die Adresse ausgegeben. - [OK] WiFi verbunden: 172.20.10.2 - [OK] HTTP_Get-Server bereit ( Port 80 ) HTTP: 172.20.10.2/stream ### Erläuterung des Skripts -Zunächst wird die erforderliche Bibliothek zum Interagieren mit der Kamera und Starten des Servers inkludiert +Zunächst wird die erforderliche Bibliothek zum Starten des Servers inkludiert - #include "thk_EspCamDriver.h" // ESP32 Kamera #include "thk_EspCamServer.h" // WIFI und HTTP-Server Im Anschluss wird das Netzwerk eingerichtet @@ -71,35 +52,19 @@ Optional kann auch die Internetressource unbenannt werden. Diese wird beim Aufru const char *uri = "/stream"; -Die folgenden Objekte sind für den Datenaustausch mit der Kamera notwendig - - esp_image_t image; - camera_config_t cameraconfig; // Konfig - esp_err_t cameraerror; // Fehler - camera_fb_t *fb = NULL; // Framebuffer -Um sowohl die Kamera als auch den Server möglichst kompakt für den Anwender nutzbar zu machen, sind zwei benutzerdefinierten Klassen vorhanden +Server-Objekt erzeugen - thk_EspCamDriver camera(&cameraconfig, &cameraerror, fb, &image); thk_EspCamServer server(ssid, password, uri); -Anschließend kann in der Setup-Routine die Kamera initialisiert - - camera.init(); -Und mit dem WiFi-Netzwerk verbunden werden +Und mit dem WiFi-Netzwerk verbinden server.connect(); -Abschließend wird der Webserver gestartet. Dafür ist ein sogenannter Handler erforderlich. Dieser bildet die Antwort auf den Zugriff über HTTP. Hier kann neben dem Stream-Handler für das Kamerabild - - server.start_webserver(&get_stream_handler); - -auch stattdessen das HelloWorld Beispiel ausprobiert werden. Hierzu die Referenz entsprechend anpassen. +Abschließend wird der Webserver gestartet. Dafür ist ein sogenannter Handler erforderlich. Dieser bildet die Antwort auf den Zugriff über HTTP. +Hierzu die Referenz entsprechend anpassen. server.start_webserver(&get_helloworld_handler); -Das Kamerabild wird hier als Buffer gespeichert. Die Länge und der Inhalt (Pixel) können über die Server-Bibliothek bezogen werden. - - camera.getBufLen() - camera.getJpgBuf() +Wird nun die Internetressource im lokalen Netzwerk geöffnet wird, erfolgt eine Ausgabe im Seriellen Monitor. \ No newline at end of file