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).