From 9e6cd3b45159e049e2228f71c5293f2bd9b1e45a Mon Sep 17 00:00:00 2001 From: Manuel Weiser Date: Fri, 21 Feb 2025 15:07:16 +0100 Subject: [PATCH] docs: optimize WiFi and WebSocket settings; enhance TCP/IP stack configuration --- platformio.ini | 5 +++++ src/website.cpp | 4 ++++ src/wlan.cpp | 10 +++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 79bbe20..cd26c67 100644 --- a/platformio.ini +++ b/platformio.ini @@ -54,6 +54,11 @@ build_flags = -DCONFIG_ESP32_PANIC_PRINT_REBOOT -DBOOT_APP_PARTITION_OTA_0=1 -DCONFIG_LOG_DEFAULT_LEVEL=3 + -DCONFIG_LWIP_TCP_MSL=60000 + -DCONFIG_LWIP_TCP_WND_DEFAULT=8192 + -DCONFIG_LWIP_TCP_SND_BUF_DEFAULT=4096 + -DCONFIG_LWIP_TCP_RCV_BUF_DEFAULT=4096 + -DCONFIG_LWIP_MAX_ACTIVE_TCP=16 extra_scripts = scripts/extra_script.py diff --git a/src/website.cpp b/src/website.cpp index 1b4d36d..0b08000 100644 --- a/src/website.cpp +++ b/src/website.cpp @@ -158,6 +158,10 @@ void sendAmsData(AsyncWebSocketClient *client) { } void setupWebserver(AsyncWebServer &server) { + // WebSocket-Optimierungen + ws.onEvent(onWsEvent); + ws.enable(true); + // Konfiguriere Server für große Uploads server.onRequestBody([](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total){}); server.onFileUpload([](AsyncWebServerRequest *request, const String& filename, size_t index, uint8_t *data, size_t len, bool final){}); diff --git a/src/wlan.cpp b/src/wlan.cpp index c4f844d..f527cdf 100644 --- a/src/wlan.cpp +++ b/src/wlan.cpp @@ -10,11 +10,19 @@ WiFiManager wm; bool wm_nonblocking = false; void initWiFi() { + // Optimierte WiFi-Einstellungen WiFi.mode(WIFI_STA); // explicitly set mode, esp defaults to STA+AP WiFi.setSleep(false); // disable sleep mode esp_wifi_set_ps(WIFI_PS_NONE); + + // Maximale Sendeleistung + WiFi.setTxPower(WIFI_POWER_19_5dBm); // Set maximum transmit power - //esp_wifi_set_max_tx_power(72); // Setze maximale Sendeleistung auf 20dBm + // Optimiere TCP/IP Stack + esp_wifi_set_protocol(WIFI_IF_STA, WIFI_PROTOCOL_11B | WIFI_PROTOCOL_11G | WIFI_PROTOCOL_11N); + + // Aktiviere WiFi-Roaming für bessere Stabilität + esp_wifi_set_rssi_threshold(-80); if(wm_nonblocking) wm.setConfigPortalBlocking(false); wm.setConfigPortalTimeout(320); // Portal nach 5min schließen