W związku z tym kilka osób zgłaszało różne problemy, które okazały się wynikać z braku pamięci RAM na ESP8266.
Szyfrowanie jest obecnie włączone domyślnie i jeśli ktoś chce, można je wyłączyć poleceniem
Kod: Zaznacz cały
wifi.enableSSL(false); // wifi to nazwa zmiennej od Supla::ESPWifi
1. bez szyfrowania - ilość wolej pamięci 40 kB
2. z szyfrowaniem, bez zmiany rozmairu ramek ssl - 13 kB
Samo włączenie SSL powoduje zjedzenie okoo 6 kB RAM-u. Następnie każda instancja "client secure" zjada około 22 kB.
Z tego powodu praktycznie nie da się utworzyć dwóch instacji "client secure" (np. do airly, do linków bezpośrednich itp.)
Włączanie innych ciekawych rozszerzeń do aplikacji (np. GUI, wifi manager, itd) też zjada pamięć, więc miejcie to na uwadze w swoich programach.
Najprostszy workaround polega na wyłączeniu szyfrowania SSL.
Jest też druga opcja, którą aktualnie sprawdzam. Polega ona na zmieniszeniu rozmiaru ramek używanych przez SSL. Niestety bibliteka SSL używana na serwerach Supli nie wspiera negocjacji rozmiaru ramki, więc nie da się tego bezpiecznie zrobić tylko po stronie urządzenia, choć u siebie zmniejszyłem ramki i jak na razie wszystko działa (oczywiście do czasu aż serwer nie wyśle na raz większej porcji danych).
Tak wygląda ilość wolnej pamięci w tym przypadku:
3. z szyfrowaniem, z redukcją ramek do 512 bajtów - 29 kB
Dam znać jeśli problem zostanie jakoś sensownie rozwiązany.