Merge pull request #2799 from cesanta/zephyr

update to latest (again)
This commit is contained in:
Sergio R. Caprile 2024-06-19 09:48:07 -03:00 committed by GitHub
commit 1f481cbe54
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 29 additions and 13 deletions

View File

@ -21,4 +21,4 @@ CONFIG_IDLE_STACK_SIZE=1024
CONFIG_MINIMAL_LIBC=y CONFIG_MINIMAL_LIBC=y
CONFIG_MINIMAL_LIBC_RAND=y CONFIG_MINIMAL_LIBC_RAND=y
CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=32768 CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=32768

View File

@ -3,6 +3,7 @@
#include "mongoose.h" #include "mongoose.h"
#include "net.h" #include "net.h"
#include <zephyr/net/net_mgmt.h>
// Zephyr: Define a semaphore and network management callback to be able to wait // Zephyr: Define a semaphore and network management callback to be able to wait
// until our IP address is ready. The main function will start and block on this // until our IP address is ready. The main function will start and block on this

View File

@ -1,4 +1,3 @@
#define MG_ARCH MG_ARCH_ZEPHYR #define MG_ARCH MG_ARCH_ZEPHYR
#define MG_ENABLE_PACKED_FS 1 #define MG_ENABLE_PACKED_FS 1
#define MG_TLS MG_TLS_MBED

View File

@ -20,13 +20,16 @@ CONFIG_IDLE_STACK_SIZE=1024
CONFIG_MBEDTLS=y CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=4096 CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=4096
CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y
CONFIG_MBEDTLS_ECDH_C=y
CONFIG_MBEDTLS_ECDSA_C=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
CONFIG_MBEDTLS_ECP_C=y
CONFIG_MBEDTLS_ECP_ALL_ENABLED=y CONFIG_MBEDTLS_ECP_ALL_ENABLED=y
CONFIG_MBEDTLS_TLS_VERSION_1_2=y CONFIG_MBEDTLS_TLS_VERSION_1_2=y
CONFIG_MINIMAL_LIBC=y CONFIG_MINIMAL_LIBC=y
CONFIG_MINIMAL_LIBC_RAND=y CONFIG_MINIMAL_LIBC_RAND=y
CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=131072 CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=131072
CONFIG_PRINTK=y CONFIG_PRINTK=y
CONFIG_MBEDTLS_DEBUG=y CONFIG_MBEDTLS_DEBUG=y

View File

@ -3,6 +3,7 @@
#include "certs.h" #include "certs.h"
#include "mongoose.h" #include "mongoose.h"
#include <zephyr/net/net_mgmt.h>
static time_t s_boot_timestamp = 0; static time_t s_boot_timestamp = 0;
static struct mg_connection *s_sntp_conn = NULL; static struct mg_connection *s_sntp_conn = NULL;

View File

@ -20,9 +20,13 @@ CONFIG_IDLE_STACK_SIZE=1024
CONFIG_MBEDTLS=y CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=2048 CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=2048
CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y
CONFIG_MBEDTLS_ECDH_C=y
CONFIG_MBEDTLS_ECDSA_C=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
CONFIG_MBEDTLS_ECP_C=y
CONFIG_MBEDTLS_ECP_ALL_ENABLED=y CONFIG_MBEDTLS_ECP_ALL_ENABLED=y
CONFIG_MBEDTLS_TLS_VERSION_1_2=y
CONFIG_MINIMAL_LIBC=y CONFIG_MINIMAL_LIBC=y
CONFIG_MINIMAL_LIBC_RAND=y CONFIG_MINIMAL_LIBC_RAND=y
CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=32756 CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=32756

View File

@ -3,6 +3,7 @@
#include "certs.h" #include "certs.h"
#include "mongoose.h" #include "mongoose.h"
#include <zephyr/net/net_mgmt.h>
static const char *s_web_dir = "/"; static const char *s_web_dir = "/";
static const char *s_http_addr = "http://0.0.0.0:8000"; static const char *s_http_addr = "http://0.0.0.0:8000";
@ -13,7 +14,7 @@ static struct mg_connection *s_sntp_conn = NULL;
// Event handler for the listening HTTP/HTTPS connection. // Event handler for the listening HTTP/HTTPS connection.
static void wcb(struct mg_connection *c, int ev, void *ev_data) { static void wcb(struct mg_connection *c, int ev, void *ev_data) {
if (ev == MG_EV_ACCEPT && c->fn_data != NULL) { if (ev == MG_EV_ACCEPT && c->fn_data != NULL) {
struct mg_tls_opts opts = {.cert = s_ssl_cert, .key = s_ssl_key}; struct mg_tls_opts opts = {.cert = (char *) s_ssl_cert, .key = (char *) s_ssl_key};
mg_tls_init(c, &opts); mg_tls_init(c, &opts);
} else if (ev == MG_EV_HTTP_MSG) { } else if (ev == MG_EV_HTTP_MSG) {
struct mg_http_message *hm = ev_data; struct mg_http_message *hm = ev_data;
@ -85,9 +86,8 @@ int main(int argc, char *argv[]) {
struct mg_mgr mgr; struct mg_mgr mgr;
mg_log_set(MG_LL_DEBUG);
mg_mgr_init(&mgr); mg_mgr_init(&mgr);
mg_log_set(MG_LL_DEBUG);
mg_http_listen(&mgr, s_http_addr, wcb, NULL); mg_http_listen(&mgr, s_http_addr, wcb, NULL);
mg_http_listen(&mgr, s_https_addr, wcb, &mgr); mg_http_listen(&mgr, s_https_addr, wcb, &mgr);

View File

@ -20,13 +20,16 @@ CONFIG_IDLE_STACK_SIZE=1024
CONFIG_MBEDTLS=y CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=8192 CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=8192
CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y
CONFIG_MBEDTLS_ECDH_C=y
CONFIG_MBEDTLS_ECDSA_C=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
CONFIG_MBEDTLS_ECP_C=y
CONFIG_MBEDTLS_ECP_ALL_ENABLED=y CONFIG_MBEDTLS_ECP_ALL_ENABLED=y
CONFIG_MBEDTLS_TLS_VERSION_1_2=y CONFIG_MBEDTLS_TLS_VERSION_1_2=y
CONFIG_MINIMAL_LIBC=y CONFIG_MINIMAL_LIBC=y
CONFIG_MINIMAL_LIBC_RAND=y CONFIG_MINIMAL_LIBC_RAND=y
CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=131072 CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=131072
CONFIG_PRINTK=y CONFIG_PRINTK=y
CONFIG_MBEDTLS_DEBUG=y CONFIG_MBEDTLS_DEBUG=y

View File

@ -3,13 +3,13 @@
#include "certs.h" #include "certs.h"
#include "mongoose.h" #include "mongoose.h"
#include <zephyr/net/net_mgmt.h>
struct mg_mgr mgr; struct mg_mgr mgr;
static time_t s_boot_timestamp = 0; static time_t s_boot_timestamp = 0;
static struct mg_connection *s_sntp_conn = NULL; static struct mg_connection *s_sntp_conn = NULL;
static const char *s_url = static const char *s_url = "mqtts://a3nkain3cvvy7l-ats.iot.us-east-1.amazonaws.com";
"mqtts://a3nkain3cvvy7l-ats.iot.us-east-1.amazonaws.com";
static const char *s_rx_topic = "d/rx"; static const char *s_rx_topic = "d/rx";
static const char *s_tx_topic = "d/tx"; static const char *s_tx_topic = "d/tx";
@ -24,7 +24,7 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
MG_ERROR(("%p %s", c->fd, (char *) ev_data)); MG_ERROR(("%p %s", c->fd, (char *) ev_data));
} else if (ev == MG_EV_CONNECT) { } else if (ev == MG_EV_CONNECT) {
// Set up 2-way TLS that is required by AWS IoT // Set up 2-way TLS that is required by AWS IoT
struct mg_tls_opts opts = {.ca = s_ca, .cert = s_cert, .key = s_key}; struct mg_tls_opts opts = {.ca = (char *) s_ca, .cert = (char *) s_cert, .key = (char *) s_key};
mg_tls_init(c, &opts); mg_tls_init(c, &opts);
} else if (ev == MG_EV_MQTT_OPEN) { } else if (ev == MG_EV_MQTT_OPEN) {
// MQTT connect is successful // MQTT connect is successful

View File

@ -20,9 +20,13 @@ CONFIG_IDLE_STACK_SIZE=1024
CONFIG_MBEDTLS=y CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=2048 CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=2048
CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y
CONFIG_MBEDTLS_ECDH_C=y
CONFIG_MBEDTLS_ECDSA_C=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
CONFIG_MBEDTLS_ECP_C=y
CONFIG_MBEDTLS_ECP_ALL_ENABLED=y CONFIG_MBEDTLS_ECP_ALL_ENABLED=y
CONFIG_MBEDTLS_TLS_VERSION_1_2=y
CONFIG_MINIMAL_LIBC=y CONFIG_MINIMAL_LIBC=y
CONFIG_MINIMAL_LIBC_RAND=y CONFIG_MINIMAL_LIBC_RAND=y
CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=32756 CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=32756

View File

@ -3,6 +3,7 @@
#include "certs.h" #include "certs.h"
#include "mongoose.h" #include "mongoose.h"
#include <zephyr/net/net_mgmt.h>
static const char *s_web_dir = "/"; static const char *s_web_dir = "/";
static const char *s_ws_addr = "ws://0.0.0.0:8000"; static const char *s_ws_addr = "ws://0.0.0.0:8000";
@ -17,7 +18,7 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
if (ev == MG_EV_OPEN) { if (ev == MG_EV_OPEN) {
c->is_hexdumping = 1; c->is_hexdumping = 1;
} else if (ev == MG_EV_ACCEPT && c->fn_data != NULL) { } else if (ev == MG_EV_ACCEPT && c->fn_data != NULL) {
struct mg_tls_opts opts = {.cert = s_ssl_cert, .key = s_ssl_key}; struct mg_tls_opts opts = {.cert = (char *) s_ssl_cert, .key = (char *) s_ssl_key};
mg_tls_init(c, &opts); mg_tls_init(c, &opts);
} else if (ev == MG_EV_HTTP_MSG) { } else if (ev == MG_EV_HTTP_MSG) {
struct mg_http_message *hm = (struct mg_http_message *) ev_data; struct mg_http_message *hm = (struct mg_http_message *) ev_data;