From a2c46f3438added0471d65230d92cc0c1233cddf Mon Sep 17 00:00:00 2001 From: R_Duszkiewicz <181826@stud.prz.edu.pl> Date: Sun, 10 May 2026 17:31:21 +0200 Subject: [PATCH] =?UTF-8?q?Dodanie=20historycznych=20problem=C3=B3w=20z=20?= =?UTF-8?q?poprzednich=20wyda=C5=84=20do=20prezentacji?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PREZENTACJA.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PREZENTACJA.md b/PREZENTACJA.md index 1ccc376..65a6bdd 100644 --- a/PREZENTACJA.md +++ b/PREZENTACJA.md @@ -23,6 +23,9 @@ Podczas realizacji tej części systemu napotkałem i musiałem rozwiązać szer * **Watchdog Timeouts (WDT):** Długie operacje sieciowe wykonywane w jednym i tym samym głównym wątku często powodowały wyzwolenie sprzętowego Watchdoga i reset mikrokontrolera. Rozwiązaniem było odpowiednie dozowanie czasu, przerywanie operacji oraz dodawanie instrukcji "karmiących" (feed) systemowego watchdoga wewnątrz pętli wysyłającej pliki. * **Autoryzacja (401 Unauthorized) z serwerem i bezpieczeństwo API:** Skonfigurowanie płynnego logowania i autoryzacji sprzętu, tak aby backend poprawnie weryfikował zgłaszający się po WiFi mikrokontroler przed odbiorem plików pomiarowych. * **Problemy z odczytem konfiguracji z karty SD:** Konieczność zapewnienia poprawnego i niezawodnego odczytu oraz parsowania pliku `wifi.txt` w początkowej fazie rozruchu mikrokontrolera (zanim wystartują główne wątki sieciowe). +* **Zarządzanie pamięcią konfiguracyjną (EEPROM) (starsze wydania):** W poprzednich wersjach stare ustawienia i domyślne hasła ("wmt") często zostawały w pamięci nieulotnej po przeflashowaniu mikrokontrolera. Sprawiało to ogromne trudności z logowaniem, co wymusiło napisanie mechanizmu automatycznej migracji bazy konfiguracji podczas uruchamiania. +* **Brak elastyczności (hardkodowane adresy IP) (starsze wydania):** Częstym błędem we wcześniejszym kodzie było zaszywanie na sztywno adresów produkcyjnych (np. `62.93...`), co uniemożliwiało testowanie i wymuszało wgrywanie nowego oprogramowania w przypadku zmiany serwera testowego. +* **Problemy z modułem Captive Portal (starsze wydania):** Początkowo testowaliśmy autorskie podnoszenie sieci i konfigurację przez smartfon, jednak wbudowany serwer DNS często zawieszał się w nowych środowiskach, przez co ostatecznie w wersji obecnej (v1.3.4.1) zrezygnowaliśmy z tego na rzecz pliku na karcie SD. ## 4. Do zrobienia * **Implementacja pełnego szyfrowania (HTTPS/SSL):** Zabezpieczenie ruchu do REST API z wykorzystaniem zaufanych lub wbudowanych certyfikatów na ESP32 (obecnie wymaga to odpowiednich optymalizacji pamięci).