diff --git a/examples/cameraserver/cameraserver.ino b/examples/cameraserver/cameraserver.ino deleted file mode 100644 index d219915fa33f1a4aeabc86ad34ec2a35494ccb6d..0000000000000000000000000000000000000000 --- a/examples/cameraserver/cameraserver.ino +++ /dev/null @@ -1,109 +0,0 @@ -// Beschreibung: -// Beispiel Sketch für das Auslesen der ESP32One Waveshare Kamera -// und lokales Streamen des Kamerabildes per HTTP -// Abhängigkeiten: -// thk_EspCamDriver.h, thk_EspCamServer.h -// Autor: -// Vladislav Vlasuk (TH Köln, Labor für Assistenzsysteme) -// Datum: -// 05.07.2022 - -// Bitte ESP32 Kameramodell auskommentieren -#include <thk_EspCamDriver.h> // ESP32 Kamera -#include <thk_EspCamServer.h> // WIFI und HTTP-Server - -// Wlan-Netzwerk und Internetressource (URI) festlegen -const char *ssid = "iPhone von Vladislav"; -const char *password = "qqqqqqqq"; -const char *uri = "/stream"; - -// ESP32 Kameraspezifisch -esp_image_t image; -camera_config_t cameraconfig; // Konfig -esp_err_t cameraerror; // Fehler -camera_fb_t *fb = NULL; // Framebuffer - -// Objekte erzeugen -thk_EspCamDriver camera(&cameraconfig, &cameraerror, fb, &image); -thk_EspCamServer server(ssid, password, uri); - -void setup() -{ - Serial.begin(115200); - camera.set_hmirror(1); - camera.set_vflip(1); - camera.set_grayscale(1); - - camera.init(); // Kamera starten - server.connect(); // Wifi verbinden - server.start_webserver(&get_stream_handler); // Server starten -}; - -void loop() -{ - // Do nothing. Everything is done in another task by the web server - delay(1e4); -} - -// Handler für das Auslesen des Kameramoduls am ESP32One Waveshare -esp_err_t get_stream_handler(httpd_req_t *req) -{ - Serial.println("Starte Kamera Handler"); - esp_err_t res = ESP_OK; - size_t _jpg_buf_len = 0; - uint8_t *_jpg_buf = NULL; - char *part_buf[128]; - res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE); - if (res != ESP_OK) - return res; - - while (true) - { - // Schieße Bild - camera.take_picture(); - _jpg_buf_len = camera.get_fb()->len; - _jpg_buf = camera.get_fb()->buf; - - // This API will send the data as an HTTP response to the request in the form of chunks with chunked-encoding - if (res == ESP_OK) - { - res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY)); - } - if (res == ESP_OK) - { - size_t hlen = snprintf((char *)part_buf, 128, _STREAM_PART, _jpg_buf_len); - res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen); - } - if (res == ESP_OK) - { - res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len); - } - - // close stream - if (camera.get_fb()) - { - camera.close_stream(); - _jpg_buf = NULL; - } - else if (_jpg_buf) - { - free(_jpg_buf); - _jpg_buf = NULL; - } - if (res != ESP_OK) - { - Serial.println("send frame failed failed"); - break; - } - } - return res; -} - -// Bare Minimum Handler -static esp_err_t get_helloworld_handler(httpd_req_t *req) - -{ - /* Send a simple response */ - Serial.println("Ein HTTP Request hat uns erreicht!"); - return ESP_OK; -} diff --git a/examples/helloworld_handler/helloworld_handler.ino b/examples/helloworld_handler/helloworld_handler.ino new file mode 100644 index 0000000000000000000000000000000000000000..0be9c4b66e141af9d606a5e99bf5a82b6ce87512 --- /dev/null +++ b/examples/helloworld_handler/helloworld_handler.ino @@ -0,0 +1,43 @@ +// Beschreibung: +// Beispiel Sketch für das Auslesen der ESP32One Waveshare Kamera +// und lokales Streamen des Kamerabildes per HTTP +// Abhängigkeiten: +// thk_EspCamServer.h +// Autor: +// Vladislav Vlasuk (TH Köln, Labor für Assistenzsysteme) +// Datum: +// 05.07.2022 + +// Bitte ESP32 Kameramodell auskommentieren +#include <thk_EspCamServer.h> // WIFI und HTTP-Server + +// Wlan-Netzwerk und Internetressource (URI) festlegen +const char *ssid = "iPhone von Vladislav"; +const char *password = "qqqqqqqq"; +const char *uri = "/stream"; + +// Objekte erzeugen +thk_EspCamServer server(ssid, password, uri); + +void setup() +{ + Serial.begin(115200); + + server.connect(); // Wifi verbinden + server.start_webserver(&get_helloworld_handler); // Server starten +}; + +void loop() +{ + // Do nothing. Everything is done in another task by the web server + delay(1e4); +} + +// Bare Minimum Handler +static esp_err_t get_helloworld_handler(httpd_req_t *req) + +{ + /* Send a simple response */ + Serial.println("Ein HTTP Request hat uns erreicht!"); + return ESP_OK; +}