Getting started

This is a simple example, how to use esp_http_server - probably there are libraries to handle it different. Yet this displays how to connect to the Wifi and start a webserver. And bind a handler to the endpoint "/" - where we reply with a string "hello world" 

 #include "esp_http_server.h"

#include 

// Replace with your network credentials

const char* ssid = "YourWifi";

const char* password = "YourPassWord";

httpd_handle_t stream_httpd = NULL;

httpd_handle_t camera_httpd = NULL;

 static esp_err_t file_handler(httpd_req_t *req) { 

 Serial.printf("File handler");

 char ret_homepage[255] = ""; 

 strcpy(ret_homepage,"Hello world"); 

 

 /* Set some custom headers */ 

 httpd_resp_set_hdr(req, "Connection", "close"); 

 httpd_resp_set_hdr(req, "Cache-Control", "no-cache"); 

 

 /* Send response with custom headers and body set as the 

 * string passed in user context*/ 

 const char *resp_str = (const char*) ret_homepage; 

 Serial.print(ret_homepage);

 httpd_resp_send(req, resp_str, HTTPD_RESP_USE_STRLEN); 

 ESP_LOGI(TAG, "Response sent for home page request.Time:%s",esp_log_system_timestamp()); 

 return ESP_OK; 

 }

void StartServer(){

 httpd_config_t config = HTTPD_DEFAULT_CONFIG();

 config.server_port = 80;

 httpd_uri_t index_uri = {

 .uri = "/",

 .method = HTTP_GET,

 .handler = file_handler,

 .user_ctx = NULL

 };

 

 Serial.printf("Starting server on port: '%d'\n", config.server_port);

 if (httpd_start(&stream_httpd, &config) == ESP_OK) {

 httpd_register_uri_handler(stream_httpd, &index_uri);

 }

}

void setup() {

 Serial.begin(115200);

 Serial.setDebugOutput(true);

 Serial.println("Started");

Serial.println("Wifi");

 // Wi-Fi connection

 WiFi.begin(ssid, password);

 while (WiFi.status() != WL_CONNECTED) {

 delay(500);

 Serial.print(".");

 }

 Serial.println("");

 Serial.println("WiFi connected");

 

 

 Serial.print("Camera Stream Ready! Go to: http://");

 Serial.println(WiFi.localIP());

 

 Serial.println("Start Server");

 StartServer();

}

void loop() {

Serial.println("Loop");

//s_listFiles("/sdcard");

// captureImage();

delay(10000);

 

}