logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ESP8266 - Uruchomienie ESP8266-12 - mały serwer WWW -parsowanie

Elektronik_Kraków 23 Lis 2015 15:36 6735 6
REKLAMA
  • #1 15177478
    Elektronik_Kraków
    Poziom 13  
    Posty: 182
    Ocena: 7
    Witam
    Chciałem przy użyciu ESP8266-12 ( ten większy z gniazdkiem na zewnętrzną antenę ) wyświetlać przez WWW wartości temperatur.
    Na razie komunikuję się z nim przez terminal. Moduł uruchamia się, a wzorując się na przykładach próbuję coś wyświetlić.

    Wzoruję się tej stronie - co prawda Arduino, ale można prześledzić co jest wysyłane.

    Komunikacja przebiega następująco:
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    problem pojawia się, gdy chcę wysłać tekst.
    Jako pierwsze chciałem wysłać 25 znaków
    Kod: Text
    Zaloguj się, aby zobaczyć kod

    czyli wcześniej powinienem wysłać
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    Jeśli dobrze zrozumiałem, najpierw wysyłam informacje, jaka będzie długość tekstu, a później sam tekst - przynajmniej tak robiłem przy wysyłaniu emaili po GPRS przez SIM800L i tam działało.
  • REKLAMA
  • #2 15181123
    Elektronik_Kraków
    Poziom 13  
    Posty: 182
    Ocena: 7
    Sam sobie odpowiem. Niestety u mnie angielski słaby ( i lepszy raczej nie będzie ).
    Źle zrozumiałem zasadę wyświetlania stron - sądziłem, że wczytuje się od razu i moduł cały czas pamięta zawartość ( do momentu wyłączenia lub następnego wczytania ). A moduł na bieżąco wczytuje aktualne dane, może to i lepiej.

    Ale do rzeczy.
    Wczytuję taką zawartość
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    i nie wiem dlaczego moduł czasem odpowiada
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    a czasami
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    Wynikają z tego błędy wyświetlanej strony, pojawiają się dodatkowe znaki <

    Zapomniałem dodać, że tam, gdzie są wyświetlane dodatkowe znaki > to przy wprowadzaniu z terminala tekstu HTML za pierwszym razem moduł nie reaguje, trzeba powtórzyć, być może z tego powodu pojawiają się dodatkowe znaki >



    No i wyjaśniło się skąd dodatkowe znaki >. Moduł nie lubi znaku #, który występuje w kodzie znaku stopnia Celsjusza, zastąpiłem go innym zapisem i jest OK.
  • REKLAMA
  • #3 15200762
    Elektronik_Kraków
    Poziom 13  
    Posty: 182
    Ocena: 7
    Udało uruchomić moduł. Tzn. program w Bascom, zawiera między innymi dwa podprogramy, Setup_esp8266 i Send_esp8266.
    Miałem co prawda mały problem, ale wynikał on z niewłaściwej kolejności wysyłania znaków CR i LF. Prawidłowo powinno być:
    Kod: Text
    Zaloguj się, aby zobaczyć kod

    O ile konfiguracja nie nastręcza problemów ( bo idzie z automatu przy uruchomieniu ), to wysłanie danych na stronę już nie działa, ręcznie nie ma problemu - kilkadziesiąt razy kopiuj/wklej i strona jest wyświetlana.

    Problem z odbiorem danych z modułu, Do tej pory odbierałem krótkie ciągi, np. z modemu GSM i działało. Tutaj leci sporo znaków i kilka linijek.

    Teraz robię to tak:
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    W przypadku wywołania modułu przez przeglądarkę wysyłanych jest sporo znaków i linii,. między innymi
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    Pewnie źle poodchodzę do tego, może trzeba zrobić duży bufor i załadować do niego wszystkie linie ? Dopiero wtedy parsować. Teraz mam wrażenie, że nadchodzące dane "zamazują" wcześniejsze.

    Znalazłem też taki przykład odbioru danych w tym linku

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #4 15210049
    Elektronik_Kraków
    Poziom 13  
    Posty: 182
    Ocena: 7
    Witam ponownie - trochę sam do siebie chyba piszę

    Zrobiłem taki sposób odbierania:
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    I teraz, gdy wpisuje z terminala:
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    to bez problemu zaczyna wysyłać zawartość strony, mogę to robić wielokrotnie. Ale po podpięciu modułu, gdy wysyła on:
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    jakby za dużo linii go zapychało. Jakby się dało rozdzielić, że pierwsza linia do jednego stringa, a druga do drugiego, może przez sprawdzanie wartości zmiennej Event ?
  • REKLAMA
  • #5 16320002
    george2002

    Poziom 21  
    Posty: 526
    Ocena: 158
    Z ciekawości - czy kolega ogarnął może w drugą stronę - tzn na stronce jest do wpisania np SSIS i Password i to ma wrócić przez uC do ESP8266 :) ? chciałbym zrobić taką stronkę w bascom z konfiguracją ESP8266 przez stronkę internetową, bo w internecie wszędzie przykłady jak coś z ESP8266 wysłać np na Thingspeak ale w drugą stronę to mniej przykładów ... zwłaszcza w Bascomie ;)
    Konto firmowe:
    GS electronic Grzegorz Stoliński
    2 Pułku Lotniczego 18, Kraków, 31-857 | Strona WWW: www.gselectronic.pl
  • #6 16320265
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #7 16320292
    george2002

    Poziom 21  
    Posty: 526
    Ocena: 158
    niveasoft napisał:
    Takie rzeczy da się osiągnąć bez problemu. Tylko temat jest szeroki i nie oczekuj instrukcji krok po kroku w każdym z możliwych przypadków.
    Nośnik nie jest ważny czyli ESP8266 czy WS5100, WS5300 czy nowsze.

    Niedawno oprogramowywałem moduły bazujące na płytkach Arduino + Ethernet Shield`s.
    Program miał być jeden a płytki miały mieć konfigurowalne ustawienia sieciowe i inne.
    Stwierdziłem, że ustawianie sterownika szlabanu za pomocą strony WWW to przerost formy nad treścią i postawiłem na komendy AT. Link
    Powstał więc projekt w którym każdy z parametrów możesz ustawić podłączając się do urządzenia terminalem.
    Niemniej da się bez problemu napisać coś co będzie to programować za pomocą przeglądarki. Taki przykładowy projekt możesz zobaczyć Link

    Sprawa sprowadza się do zapisu ustawień i wczytaniu ich przy starcie/zmianie a potem wysłaniu do sterowanego medium.


    Nie no kolega mnie źle zrozumiał, ogólnie intersuje mnie tylko część obrobienia takiego czegoś że na stronce którą sobie ESP stawia są pola do wpisania SSID i Password i teraz jak to odebrać poprzez ESP8266 i tylko tyle potrzebuję info bo wyświetlanie na stronie czy stronek lub wysyłkę na thingspeak mam opanowaną ale odbieranie z stronki jeszcze nie :)

    Pozdrawiam
    George2002
    Konto firmowe:
    GS electronic Grzegorz Stoliński
    2 Pułku Lotniczego 18, Kraków, 31-857 | Strona WWW: www.gselectronic.pl

Podsumowanie tematu

✨ Użytkownik zadał pytanie dotyczące uruchomienia modułu ESP8266-12 w celu wyświetlania wartości temperatur na stronie WWW. Po kilku próbach i błędach, w tym problemach z kolejnością wysyłania znaków CR i LF, udało mu się skonfigurować moduł i wysłać dane do przeglądarki. W dyskusji poruszono również kwestie odbierania danych z formularzy na stronie, takich jak SSID i hasło, oraz możliwości programowania ESP8266 za pomocą przeglądarki. Uczestnicy wymienili się doświadczeniami i kodem, który może pomóc w realizacji tych zadań.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA