NEW_ESP_6

Kurs ESP8266: Stawiamy prosty serwer WWW

1.2 Station Mode

W tym trybie, ESP8266 pracuje jako klient, który dołączą się do innej sieci. Zobaczmy zatem jak to wygląda w praktyce.

I to wszystko jeśli chodzi o podłączenie ESP8266 do innej sieci. W pierwszej linii podajemy SSID sieci do której chcemy się podłączyć oraz hasło tej sieci. Oczywiście jak mamy parę sieci o tej samej nazwie dostępnych to możemy jeszcze doprecyzować pod jaki adres MAC się podpiąć ESP. Informację o tym znajdziesz w linku do dokumentacji poniżej. W następnej linii konfigurujemy tryb w jakimi Wi-Fi będzie pracować oraz wydrukujemy informację jaki adres IP został przypisany do ESP.

Jeżeli w adresie IP nic nie zostało zwrócone to należy odczekać chwilę na przypisanie adresu przez sieć i zrestartować układ, albo zrobić to „ładnie”- dodać w programie funkcję aby odczekał np. 10 sekund przed wydrukowaniem adresu :)

Zobaczymy odpowiedź na monitorze portu szeregowego:

STA_monitor

Oraz w naszej sieci jak to wygląda:

adres_esp8266

Możemy również sami przypisać adres IP dla naszego modułu:

Po uzupełnieniu danych:

otrzymujemy:

STA_adv_monitor

Oraz w ustawieniach sieci:

adres_esp8266_1

To już wszystko odnośnie konfiguracji trybu Wi-Fi w ESP8266

Więcej funkcji znajdziesz w dokumentacji ESP8266 dla Lua [KLIK !]

 

2. Tworzenie serwera WWW

Serwer WWW jest bardzo prosty do stworzenia. Jego minimalna wersja jest taka jak poniżej:

Przyjrzyjmy się teraz programowi.  W 6. linii tworzymy serwer typu TCP (dostępny jeszcze UDP). W następnie linii zaczynamy nasłuchiwać IP z portu 80 oraz wszystkie dane przekazujemy do funkcji conn w momencie uzyskania prawidłowego połączenia. Gdy zostaną zażądane dane, tzn. gdy ktoś połączy się z tym adresem to wywoływana jest właśnie funkcja conn. Jest ona zdefiniowana jako receive, czyli jeżeli zostaną zażądane dane (wystąpi jakiś event) to te dane będą zwracane jako string. W tym samym momencie następuje odwołanie do funkcji conn oraz payload. Funkcja payload odpowiada za zwrócenie informacji do ESP kto się połączył, czyli np. z jakiej przeglądarki, jaki system itp.
Ostatnia linia conn:send odpowiada za wygenerowanie wiadomości z serwera, czyli można powiedzieć, że naszej strony do której się łączymy. Jak widać wysyłana wiadomość jest wygenerowana jako HTML.

serwer_prosty