Baza wiedzy Blog

Moduł WiFi ESP 8266

O module ESP 8266

Modułów WiFi na rynku jest wiele, z czego ESP 8266 inaczej nazywany ESP-01, jest najpopularniejszy i najchętniej kupowany. Jest niedrogi ale również niezawodny, chociaż podłącza się go dosyć trudno (jak każdy moduł WiFi) Taki moduł pozwala zwiększyć możliwości naszego Arduino, między innymi dzięki takiemu rozwiązaniu będziemy mogli sterować naszym układem z poziomu na przykład aplikacji, albo komputera. Dzięki modułowi WiFi, możliwe będzie na przykład przesyłanie danych odczytanych z czujników, na serwer.

Pinout

Pinout ESP 8266

– Vcc  Zasilanie modułu (Należy zwrócić uwagę, że urządzenie pracuje pod napięciem 3.3V)

– Reset  służy do resetowania modułu (Aby zresetować urządzenie, należy podać niskie napięcie na ten pin)

-CH_PD po podaniu stanu niskiego na ten pin, moduł wprowadzany jest w stan uśpienia

-TX  podłączamy go do pinu RX w konwerterze

-RX  podłączamy do pinu TX w konwerterze, czyli odwrotna sytuacja jak w wydadku TX

– Dwa piny GPIO (GPIO 0 oraz GPIO 2)  dzięki nim, możemy podłączyć coś bezpośrednio do naszego modułu

– GND  czyli uziemienie

Aktualizowanie modułu

Aby zacząć przygodę z ESP 8266 musimy zaktualizować jego oprogramowanie. Podłączamy nasz moduł do konwertera 3.3V pamiętając o tym, że TX podłączamy do RX, a RX do TX. Oczywiście podłączamy również piny Vcc oraz GND. Zalecane jest podłączenie pinu RESET ora CH_PD razem z zasilaniem. Aby móc programować moduł, musimy koniecznie podłączyć pin GPIO 0 do masy. Pobieramy program i uruchamiamy go:

https://drive.google.com/open?id=1aSVh1NwOLZsdju6gL_CKyZZkn1n_JeSa

Aby zaktualizować oprogramowanie, wchodzimy w zakładkę Tools i naciskamy Config Device. Następnie wybieramy port do którego podpięty jest konwerter (Port możemy sprawdzić w Menedżerze urządzeń, jeżeli jest on wyższy niż COM6 to należy go zmienić na niższy ponieważ program obsługuje tylko pierwsze sześć portów). Następnie zatwierdzamy i naciskamy connect. Jeżeli wszystko zostało zrobione poprawnie, możemy wejść w zakładkę AP Test i wybrać opcję Flash image download i wybieramy ścieżkę z plikiem z rozszerzeniem  „.bin”. Na końcu naciskamy „download” i możemy cieszyć się najnowszą wersją oprogramowania. Po zainstalowaniu aktualizacji nasz moduł jest gotowy do działania.

Sterowanie modułem ESP 8266- Komendy AT

Sterowanie ze środowiska Arduino IDE opiera się na komendach AT które wpisujemy z na szeregowym monitorze. Strona https://botland.com.pl udostępnia pełną listę komend AT, które możemy pobrać z linku poniżej:

https://botland.com.pl/pliki/1/ESP8266_Komendy_AT.pdf

Najbardziej podstawowe komendy to:

– AT

AT+CIPSEND (pozwala nam wybrać opcję klienta, punktu dostępu albo klienta i punktu dostępu)

– AT+CWMODE=? ( wyświetla tryb pracy modułu)

– AT+CIPSTATUS  (wyświetla stan połączenia)

– AT+CIPSTART= (pozwala za łączenie z zewnętrznym serwerem)

– AT+CIFSR (dzięki tej komendzie wyświetli się nam adres IP, dzięki któremu będziemy mogli połączyć się na innym urządzeniu)

– AT+CIPSEND (ta komenda pozwala wysyłać dane na nasz serwer)

Z użyciem tych komend łączymy się z siecią WiFi, robimy to przy użyciu „komend dla  klienta”. Najpierw wyszukujemy z listy naszą sieć, apotem wpisujemy komendę, podając przy tym nazwę sieci oraz hasło ( nazwę i hasło piszemy w cudzysłowie).

Zastosowanie modułu ESP 8266

Przy użyciu komend AT możemy wysyłać dane na serwer i odczytywać je na innym urządzeniu. Moduły WiFi najczęściej używa się podczas tworzenia inteligentnego domu- pozwalają one na sterowanie mikrokontrolerem i co za tym idzie, różnymi modułami. Z pomocą różnych dedykowanych aplikacji możemy się komunikować przez taki moduł z naszym układem. Przykładową aplikacją jest na przykład „Arduino Smart Home Automation” lub  „Arduino Ethernet Kit” (Są to aplikacje na urządzenia mobilne).  Do płytki Arduino możemy podłączyć relay i przez Internet sterować np. oświetleniem. Moduły WiFi często znajdują zastosowanie w robotyce. Dzięki nim możemy sterować naszymi „maszynami” bezprzewodowo, co poszerza nasze możliwości rozbudowywania robotów.

Relay

W Arduino IDE możemy pisać programy z wykorzystaniem modułów WiFi, na przykład aby dane odczytywane z czujników były automatycznie przesyłane na serwer, albo próbować swoich sił w tworzeniu „inteligentnego domu” opartego na przekaźnikach (Na rynku dostępne są moduły z nawet dziesięcioma przekaźnikami, więc z tym nie będzie problemu).

moduł 10 przekaźników

Podsumowanie i cena

Generalnie moduły WiFi są bardzo przydatne w układach Arduino, ponieważ pozwalają one poszerzać możliwości naszej płytki. Należy pamiętać że wszystkie moduły WiFi pracują pod napięciem około 3.3V, więc należy uważać aby nie podawać im wyższego napięcia, gdyż doprowadzi to do ich zniszczenia (nawet napięcie 5V z Arduino spowoduje uszkodzenie modułu, więc należy to napięcie obniżyć. Najlepiej podać osobne zasilanie do płytki Arduino i nie podłączać normalnie przez USB, tylko na pin +5V dać napięcie 3.3V i zasilić nasz ESP 8266 z płytki). Aby używać ESP 8266 należy kupić nie tylko sam moduł, ale również konwerter UART (najlepiej, gdyby pracował na napięciu 3.3V, ponieważ nie będzie problemu z bezpośrednim podłączeniem do modułu ESP 8266). Nawet jeżeli sam moduł kosztuje zaledwie około 15 zł,  to za porządny konwerter zapłacimy około 30 zł. Mimo wszystko taki zestaw jest warty swojej ceny, ponieważ to jakie daje możliwości jest nie do opisania. Setki układów, które można zbudować z wykorzystaniem modułów WiFi, zaczynając na tworzeniu np. prostych termometrów połączonych z serwerem, kończąc na tworzeniu robotów oraz inteligentnego domu. I to wszystko przy użyciu jednego małego modułu, który wystarczy odpowiednio zaprogramować.