Skip to content
Snippets Groups Projects
Commit 8f17884a authored by Vladislav Vlasuk's avatar Vladislav Vlasuk
Browse files

hello world without camera

parent 5999496e
No related branches found
No related tags found
1 merge request!4hello world without camera
......@@ -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
Server-Objekt erzeugen
Um sowohl die Kamera als auch den Server möglichst kompakt für den Anwender nutzbar zu machen, sind zwei benutzerdefinierten Klassen vorhanden
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment