Add HTTP server
This commit is contained in:
parent
6b2d89340a
commit
8bd9a9b1d0
7 changed files with 206 additions and 8 deletions
49
main/server.c
Normal file
49
main/server.c
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#include "server.h"
|
||||
#include "settings.h"
|
||||
|
||||
httpd_handle_t get_server(void);
|
||||
|
||||
static void wifi_init_sta(void) {
|
||||
// Initialize the ESP-NETIF
|
||||
esp_netif_init();
|
||||
esp_event_loop_create_default();
|
||||
|
||||
// Create default event loop
|
||||
esp_netif_create_default_wifi_sta();
|
||||
|
||||
// Initialize the Wi-Fi driver
|
||||
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
||||
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
|
||||
|
||||
// Set Wi-Fi mode to station
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
|
||||
|
||||
// Configure Wi-Fi connection
|
||||
wifi_config_t wifi_config = {
|
||||
// TODO: Allow setting SSID at boot or build time
|
||||
// For some reason I could not get https://cmake.org/cmake/help/latest/command/add_compile_definitions.html#command:add_compile_definitions to work
|
||||
.sta = {
|
||||
.ssid = WIFI_SSID,
|
||||
.password = WIFI_PASS,
|
||||
},
|
||||
};
|
||||
|
||||
// Set the Wi-Fi configuration
|
||||
ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
|
||||
ESP_ERROR_CHECK(esp_wifi_start());
|
||||
ESP_ERROR_CHECK(esp_wifi_connect());
|
||||
}
|
||||
|
||||
httpd_handle_t start_webserver(void) {
|
||||
httpd_config_t config = HTTPD_DEFAULT_CONFIG();
|
||||
config.lru_purge_enable = true;
|
||||
|
||||
httpd_handle_t server = NULL;
|
||||
ESP_ERROR_CHECK(httpd_start(&server, &config));
|
||||
return server;
|
||||
}
|
||||
|
||||
httpd_handle_t get_server(void) {
|
||||
wifi_init_sta();
|
||||
return start_webserver();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue