ESP8266 to popularny kontroler potrafiący zorganizować komunikację bezprzewodową podczas projektowania systemu Smart Home. Jego “budowa” pozwala mu na zapewnienie wymiany danych za pośrednictwem standardów Wifi. Dzięki temu projekty oparte na Arduino mają dostęp do internetu w celu zdalnego zbierania i udostępniania danych. Popularne płytki takie jak WeMos i NodeMcu bazują na tym układzie, jak również na domowej technologii. W tym artykule wyjaśnimy, czym jest Arduino Wifi ESP8266, jak skonfigurować moduł Arduino Wifi i jak współdziała on z innymi narzędziami.
ESP8266 to kontroler współpracujący ze standardem Wifi, który jest w stanie wykonywać kod programu z wbudowanej pamięci flash. Układ został zaprojektowany i wyprodukowany przez chińską firmę Espressif i od razu stał się jednym z najpopularniejszych do tego celu.
Sam moduł wifi do Arduino Wifi jest dość tani i zawiera niewiele elementów zewnętrznych, mając następującą specyfikację:
Ważne: Mikrokontroler nie posiada pamięci nieulotnej użytkownika. Wszystkie programy są wykonywane z zewnętrznych pamięci trwałych i ładowane dynamicznie. Dostęp do wewnętrznych interfejsów odbywa się poprzez zestaw bibliotek API, a nie poprzez dokumentację. Ilość pamięci RAM wynosi około 50kB.
Sterownik posiada następujące cechy:
Moduł jest często wykorzystywany w różnych projektach w połączeniu z innymi urządzeniami do:
Ważne jest, aby zrozumieć, że istnieje wiele wariantów modułu. Ilustracja na końcu poprzedniego podrozdziału pokazuje tylko kilka z nich. Szczególnie popularny jest sterownik ESP-01. Wykonanie kodu programu jest ustalane przez stan portów GPIO0, GPIO2 i GPIO15: włączenie i wyłączenie zasilania. Istnieją dwa ważne tryby pracy:
Podany jest oficjalny opis wszystkich kontaktów:
Moduł ESP różni się od równie popularnego Arduino Wifi następującymi cechami:
Dla ułatwienia programowania na mikrokontrolerze, do zestawu dołączone są
Ważne: Standardowe oprogramowanie firmowe modułu pozwala na sterowanie nim z innego sterownika oraz organizowanie obsługi Wifi i modemu. Oprócz fabrycznego oprogramowania firmowego istnieje wiele innych gotowych rozwiązań, które można skonfigurować za pomocą interfejsu internetowego.
Programowanie możliwe jest również z poziomu środowiska programistycznego Arduino. Nie tylko ułatwia ono pisanie programów, ale także pozwala na ich załadowanie do kontrolera i flashowanie. Co najlepsze, nie potrzebujesz do tego samej płytki Arduino.
Funkcje obsługiwane przez mikrokontroler:
Dzięki ESP można zorganizować podłączenie Arduino lub przekaźnika do Wifi. Ważnym punktem połączenia jest to, że napięcie zasilające dla tych mikrokontrolerów jest różne i muszą być one połączone przez dzielniki rezystancyjne. Ogólny schemat połączeń wygląda tak: pin 3,3 V z Arduino jest podłączony do CH_PD na ESP, a masa z Arduino jest podłączona do masy na ESP. 0 do TX i 1 do RX.
Dalsze podłączenia wykonuje się zgodnie z instrukcją:
NodeMCU to jedna z najpopularniejszych platform opartych na układzie ESP. Najczęściej wykorzystywana jest do sterowania układami na odległość za pomocą komunikacji bezprzewodowej Wifi. Sama płytka jest niedroga, lekka i posiada port USB. Jest on oflankowany przyciskami do restartu i debugowania platformy. Zasilanie najlepiej dostarczyć do 12V, ale nie mniej niż 10V.
Ważne: Największą zaletą płytki jest niski pobór mocy. Dlatego też NodeMCU jest często stosowany w układach zasilanych bateryjnie. Ponadto NodeMCU posiada zestaw API do wprowadzania i wyprowadzania danych w trybie sprzętowym, co minimalizuje ilość konfiguracji i obsługi.
Drugim popularnym rozwiązaniem opartym na ESP jest WeMos. Również obsługuje komunikację WiFi, rozwój na Arduino IDE, a nawet zawiera złącze dla zewnętrznej anteny Wifi. Maksymalne napięcie to 3,3V. Na płytce znajduje się 11 portów wejściowych i wyjściowych, obsługujących standardowe technologie ESP i Arduino. Podobnie jak NodeMCU, WeMos posiada również port USB. Do pracy z platformą należy zainstalować sterownik CH340 oraz skonfigurować Arduino IDE do pracy z ESP.
Jako przykład można stworzyć program dla NodeMCU w środowisku Arduino. W tym celu należy zainstalować na komputerze oprogramowanie modułu Arduino Wi fi i skonfigurować go do współpracy z ESP8266.
Następnie np. płytka NodeMCU łączy się z analogowym fotorezystorem i wysyła dane do serwera za pomocą protokołu MQTT. Schemat połączenia został przedstawiony poniżej.
Do napisania i uruchomienia kodu potrzebna jest biblioteka pubsubclient. Po jej pobraniu należy umieścić pliki z archiwum w folderze IDE libraries i otworzyć szkic _2.ino w środowisku. Aby kod działał poprawnie należy wprowadzić następujące zmiany (SSID i hasło):
Następnie ładujemy oprogramowanie na płytkę, otwieramy monitor portu szeregowego i obserwujemy wynik na zdjęciu.
Po wykonaniu wszystkich tych czynności płytka połączy się przez Wifi z MQTT, a ten wyświetli dane z fotorezystora.
W podobny sposób zorganizowany jest serwer Arduino Wifi oparty na ESP. Można do tego wykorzystać język skryptowy LUA. Poniższy skrypt tworzy prosty serwer, który wyświetla informacje, gdy urządzenia uzyskują dostęp do tablicy:
Kod należy zapisać w pliku server1.lua, a następnie uruchomić. Aby sprawdzić działanie, można połączyć się z punktem dostępowym i wpisać w przeglądarce adres IP http://192.168.4.1:
Podsumowując, ESP to chyba najlepszy moduł Wifi dla Arduino. Podłączenie Arduino do Wifi nie jest najłatwiejszym procesem, ale nie ma tam też nic supernowoczesnego. Nowoczesne płytki i kontrolery pozwalają Arduino bez problemu wykonać transfer przez Wifi.
Używamy plików cookie, aby zapewnić Ci jak najlepsze wrażenia z użytkowania. Odwiedzając naszą stronę internetową, akceptujesz warunki korzystania z plików cookies.
Polityka Prywatności