diff options
| Commit | 0607d35298790368b02b429b1baa7f14e97aaaf2 (patch) | |
|---|---|---|
| Author | 2024-05-28 12:09:06 +0300 | |
| Committer | 2024-05-28 12:09:06 +0300 | |
| Files | 78cb33db7df50a9aecd90fe0ce529a345ab4571f | |
| uni-projects-0607d35298790368b02b429b1baa7f14e97aaaf2.tar uni-projects-0607d35298790368b02b429b1baa7f14e97aaaf2.tar.gz uni-projects-0607d35298790368b02b429b1baa7f14e97aaaf2.zip | ||
| Parent | 7f694a56c3f71f49174dca4022aae897b69cbf02 (diff) | |
[iot/goam] Added a page favicon
5 files changed, 22 insertions, 0 deletions
| -rw-r--r-- | Year 3/Internet of things/goam/favicon.xcf | bin | 0 -> 1861 bytes | |||
| -rw-r--r-- | Year 3/Internet of things/goam/main/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | Year 3/Internet of things/goam/main/webserver.c | 20 | ||||
| -rw-r--r-- | Year 3/Internet of things/goam/webserver/favicon.ico | bin | 0 -> 766 bytes | |||
| -rw-r--r-- | Year 3/Internet of things/goam/webserver/index.html | 1 |
diff --git a/Year 3/Internet of things/goam/favicon.xcf b/Year 3/Internet of things/goam/favicon.xcf Binary files differnew file mode 100644 index 0000000..3af9ee1 --- /dev/null +++ b/Year 3/Internet of things/goam/favicon.xcf diff --git a/Year 3/Internet of things/goam/main/CMakeLists.txt b/Year 3/Internet of things/goam/main/CMakeLists.txt index 36a0201..f0d5d08 100644 --- a/Year 3/Internet of things/goam/main/CMakeLists.txt +++ b/Year 3/Internet of things/goam/main/CMakeLists.txt @@ -8,6 +8,7 @@ idf_component_register(SRCS "main.c" "nvs.c" "ibm-vga-8x16.c" EMBED_TXTFILES "../webserver/index.html" + "../webserver/favicon.ico" "../webserver/cacert.pem" "../webserver/prvtkey.pem" INCLUDE_DIRS "") diff --git a/Year 3/Internet of things/goam/main/webserver.c b/Year 3/Internet of things/goam/main/webserver.c index c3e78bb..9298b5b 100644 --- a/Year 3/Internet of things/goam/main/webserver.c +++ b/Year 3/Internet of things/goam/main/webserver.c @@ -54,6 +54,24 @@ static const httpd_uri_t get_index = { .handler = get_handler, }; +// Index page is embedded in binary +static const unsigned char* favicon = NULL; +static size_t favicon_len = 0; + +static esp_err_t get_favicon_handler(httpd_req_t *req) +{ + ESP_ERROR_CHECK(httpd_resp_set_type(req, "image/x-icon")); + httpd_resp_send(req, (const char*)favicon, favicon_len); + + logi_get(req); + return ESP_OK; +} +static const httpd_uri_t get_favicon = { + .uri = "/favicon.ico", + .method = HTTP_GET, + .handler = get_favicon_handler, +}; + static esp_err_t get_image_handler(httpd_req_t *req) { ESP_ERROR_CHECK(httpd_resp_set_type(req, "image/jpeg")); @@ -222,6 +240,7 @@ void webserver_init() { /* ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, WIFI_EVENT_STA_DISCONNECTED, &disconnect_handler, &server)); */ SET_EMBEDDED_PTR(index_page, index_page_len, index_page, "index_html"); + SET_EMBEDDED_PTR(favicon, favicon_len, favicon, "favicon_ico"); } void webserver_start() @@ -246,6 +265,7 @@ void webserver_start() } httpd_register_uri_handler(server, &get_index); + httpd_register_uri_handler(server, &get_favicon); httpd_register_uri_handler(server, &get_image); httpd_register_uri_handler(server, &post_network); httpd_register_uri_handler(server, &post_imagesave); diff --git a/Year 3/Internet of things/goam/webserver/favicon.ico b/Year 3/Internet of things/goam/webserver/favicon.ico Binary files differnew file mode 100644 index 0000000..5962764 --- /dev/null +++ b/Year 3/Internet of things/goam/webserver/favicon.ico diff --git a/Year 3/Internet of things/goam/webserver/index.html b/Year 3/Internet of things/goam/webserver/index.html index 2b581e8..42e7e92 100644 --- a/Year 3/Internet of things/goam/webserver/index.html +++ b/Year 3/Internet of things/goam/webserver/index.html @@ -2,6 +2,7 @@ <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <link rel="shortcut icon" href="/favicon.ico" /> <title>GoAm</title> <style> * { |
