Elektroda.pl
Elektroda.pl
X
Elektroda.pl
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ESP8266 - Zawieszanie się modułu przy nasłuchiwaniu serwera (lua)

27 Gru 2015 02:34 2025 3

  • Poziom 26  
    Witam Was,
    poniżej przedstawiam kod dla esp07

    Skrypt ma za zadanie wyświetlić temperaturę, włączyć diodę i odświeżyć się po jakimś czasie.
    Całość ogólnie działa, problem polega na tym, że po którymś odświeżeniu dostaję w przeglądarce "połączenie zostało zresetowane, brak połączenia itd" ogólnie muszę wydać node.restart() z konsoli programu lualoder by program odżył. Podsumowując pada sekcja

    Kod: lua
    Zaloguj się, aby zobaczyć kod

    sam ESP ma się dobrze, bo w timerze
    Kod: lua
    Zaloguj się, aby zobaczyć kod

    cały czas pokazuje mi dane sieci, mimo, że wyżej sekcja serwera padła.

    problem rozwiązałem stosując takie obejście
    Kod: lua
    Zaloguj się, aby zobaczyć kod

    Po zawieszeniu sekcji serwera zmienna timeralarm będzie miała zawsze taką samą wartość, tak więc jeżeli po podwójnym odebraniu wartości zmiennej obie wartości będą takie same to restartuje moduł.

    Teraz do Was pytanie czy da się to zrobić ładniej?
    Czemu robią się takie zawieszenia?

    Będę bardzo wdzięczny za pomoc

    Cały kod poniżej.
    Kod: lua
    Zaloguj się, aby zobaczyć kod
  • PCBway
  • Poziom 17  
    Jestem laikiem w tej dziedzinie, ale trochę się ESP8266 zajmowałem i wiem, że NodeMCU ma problemy z niewystarczającą ilością pamięci.
    Pewnie nie ma to żadnego znaczenia, ale możesz spróbować wygenerować dostosowane do swoich potrzeb NodeMCU na tej stronie (niezawierające i tak nieużywanych funkcji):
    http://nodemcu-build.com/

    Może akurat pomoże.
  • PCBway

  • Poziom 26  
    Dziękuje za pomoc, niestety musiałem sobie darować nodemcu, samo środowisko bardzo przyjazne ale pisanie czegoś większego niż jeden czujnik DS mijało się z celem. Przeniosłem się na Arduino dla ESP i problem się rozwiązał serwer pracuje stabilnie, mam podłączone DS18b20, DHT11 i jeszcze mi z 35kb ramu zostało oraz z 40kb pamięci.
  • Poziom 16  
    Te resety były spowodowane starym niedopracowanym softem(też tak miałem) po wgraniu nowego tego wygenerowanego na http://nodemcu-build.com/ wszystko działa OK nawet przy bardziej skomplikowanych programach