Ahojte, neviem či mi tu bude vedieť niekto poradiť s mojim problémom, keďže je to dosť špecifickú vec... ale skúsim aj tu. Vyvýjal som aplikáciu pre ESP32, aplikácia obsahuje tento HTTP server
https://github.com/fhessel/esp32_https_server (ktorý bol omnoho stabilneší ako bežne používaný
AsyncWebServer) pôvodne som ju vyvýjal pod najrozšírenejším veľmi starým toolchainom obsahujúcom
GCC 5.2 s chabou podporou C++ 17 a
https://github.com/espressif/arduino-esp32 frameworkom (ale staršou verziou). Prekopal som to celé pod ESP IDF a s toolchainom obsahujúcim GCC 8.4 (s čiastočnou podporou C++ 20). arduino-esp32 je v novej verzii 4.x a pridal som ho do projektu ako IDF komponentu. Teraz je to viac customizovateľné a veľa vecí si viem nakonfigurovať cez
idf.py menu konečne mám k dispozícii aj RTTI, ktoré som veľmi postrádal. Problém je, že čím viac možností konfigurácie mám, tým môže nastať viac problémov pri nesprávnej / neúplnej konfigurácii. Spustil som appku a funguje, ale pri refreshi stránky sa vždy preruší pripojenie (predtým pod starým toolchainom sa bežne neprerušovalo). Kým stránku nerefreshnem všetko ide ako má, websockety aj http requesty / resposny pracujú ako majú a spojenie je úplne stabilné. No pri refreshi to v konzole to vyzerá takto:
[HTTPS:E] An receive error occured, FID=57
[HTTPS:I] Connection closed. Socket FID=57
[HTTPS:I] Client closed connection, FID=60
[HTTPS:E] An receive error occured, FID=60
[HTTPS:I] Connection closed. Socket FID=60
[ 17058][I][WebsocketHandler.cpp:27] dumpFrame(): Fin: 1, OpCode: 8 (CLOSE), Mask: 1, Len: 2
[HTTPS:I] WS payload: length=2
[HTTPS:I] WS lost client, calling onClose, FID=-1
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x40127b41 PS : 0x00060b30 A0 : 0x80123f70 A1 : 0x3ffd7ff0
Vďaka prerušenému spojeniu sa žiaľ resetne celé zariadenie čo je neprípustné. Vygooglil som si túto diskusiu:
https://github.com/fhessel/esp32_https_server/issues/85 vraj je problém v zlom Wifi pripojení.
1. Teraz neviem, či je to tým, že sa WiFi signál skutočne zhoršil (trošku som medzitým prestavoval pracovňu (kôli akvárku) a WiFi router som musel premiestniť na takú kovovú skrinku - a neviem či to nepohlcuje rádiové vlny)...
2. Alebo je problém v tom, že som ešte niečo cez to idf.py menu nenakonfiguroval úplne dobre. Sú tam stovky rôznych volieb... Každopádne viem, ktorý riadok v kóde to spôsobuje, otázka je či na to má vplyv konfigurácia WiFi pripojenia niekde v idf menu, alebo musím použiť to krkolomné riešenie, ktoré som si vygooglil
https://github.com/fhessel/esp32_https_server/issues/85#issuecomment-724652455 ?
Aké voľby treba použiť v konfigurácii idf menu, možno sú niekde nejaké timeouty alebo čo ja viem čo? Aké voľby používate vy pri konfigurácii esp idf? Vďaka.