diff options
Diffstat (limited to 'fw/src')
| -rw-r--r-- | fw/src/html/index.html | 11 | ||||
| -rw-r--r-- | fw/src/http.c | 52 | 
2 files changed, 63 insertions, 0 deletions
diff --git a/fw/src/html/index.html b/fw/src/html/index.html new file mode 100644 index 0000000..a7e3ce9 --- /dev/null +++ b/fw/src/html/index.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html lang="en"> +	<head> +		<meta charset="UTF-8"> +		<meta name="viewport" content="width=device-width, initial-scale=1"> +		<title>iot-contact</title> +	</head> +	<body> +		<h4>iot-contact</h4> +	</body> +</html> diff --git a/fw/src/http.c b/fw/src/http.c new file mode 100644 index 0000000..36ad7c0 --- /dev/null +++ b/fw/src/http.c @@ -0,0 +1,52 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public License, + * v. 2.0. If a copy of the MPL was not distributed with this file, You can + * obtain one at https://mozilla.org/MPL/2.0/. + */ + + +#include <stdint.h> + +#include <zephyr/init.h> +#include <zephyr/logging/log.h> +#include <zephyr/net/http/server.h> +#include <zephyr/net/http/service.h> + + +LOG_MODULE_REGISTER(http); + + +static const uint8_t index_html_gz[] = { +    #include "index.html.gz.inc" +}; + +struct http_resource_detail_static index_resource_detail = { +	.common = { +			.type = HTTP_RESOURCE_TYPE_STATIC, +			.bitmask_of_supported_http_methods = BIT(HTTP_GET), +			.content_encoding = "gzip", +			.content_type = "text/html", +		}, +	.static_data = index_html_gz, +	.static_data_len = sizeof(index_html_gz), +}; + +static uint16_t http_port = 80; + +HTTP_SERVICE_DEFINE(http_service, NULL, &http_port, 1, 10, NULL, NULL); + +HTTP_RESOURCE_DEFINE(index_resource, http_service, "/", &index_resource_detail); + +int init_http_server(void) { +	LOG_DBG("Starting HTTP server"); + +	int ret = http_server_start(); +	if (ret < 0) { +		LOG_ERR("Failed to start HTTP server (%d)", ret); +		return ret; +	} + +	LOG_INF("HTTP server was started"); +	return 0; +} +SYS_INIT(init_http_server, APPLICATION, 99);  | 
