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 - Co poprawić aby program się "nie wieszał"-generowanie html

mariomario 23 Lut 2016 19:56 633 0
  • #1
    mariomario
    Poziom 18  
    Witam,

    Na początku opiszę mój projekt - stworzyłem zadowalający mnie kod do zdalnej obsługi przekaźników poprzez internet oparte na module ESP8266. Moduł ten jest jednocześnie serwerem HTML na którym generowana jest po każdym zapytaniu z przeglądarki strona z informacjami:
    - odczyt temperatury z DS18B20
    - odczyt napięcia na pinie ADC
    - uptime ESP8266 od włączenia modułu
    - aktualny stan na pinach GPIO (wysoki / niski)

    Ponadto strona zawiera w sobie kawałek kodu CSS oraz buttony z bootstrap'a (framework CSS) tak aby wszystko ładnie graficznie się prezentowało. Większa część kodu HTML, CSS generowana jest w "Stringach" w funkcjach - działa to zdecydowanie szybciej (ok 3 - 4x) niż "drukowanie" linijka po linijce funkcją client.print("kod HTML,CSS");.

    Problem:
    Co jakiś czas gdy daję dużą ilość zapytań do ESP8266 lub z przeglądarki w szczególności Firefox - generowana strona wiesza się oraz ESP8266 nie odpowiada na kolejne zapytania nie zwracając nic.



    Fragment kodu programu wgranego na ESP8266 (Środowisko Arduino IDE 1.6.5 r5 z wgranym "patchem" do obsługi ESP8266)
    Kod: c
    Zaloguj się, aby zobaczyć kod



    Wycinek z powyższego kodu, który wg. mnie stwarza problem z "wieszaniem się" ESP8266 gdy zbyt często wysyłamy zapytania z przeglądarki internetowej.
    Kod: c
    Zaloguj się, aby zobaczyć kod



    Pytanie:
    Czy mógłby mi ktoś doradzić / podpowiedzieć / podesłać kawałek sprawdzonego kodu, który nie stwarzałby powyższego problemu ?
  • PCBway