Wprowadzenie.
ESP8266 to moduł Wi-Fi o niewielkich rozmiarach, który umożliwia bezprzewodowe połączenie z Internetem oraz łatwe zarządzanie urządzeniami elektronicznymi. Od czasu wprowadzenia na rynek, znalazł on szerokie zastosowanie w różnych dziedzinach, takich jak automatyka domowa, przemysł, elektronika odzieżowa itp.
W automatyzacji domowej ESP8266 może służyć do sterowania inteligentnymi wtyczkami i oświetleniem, a także do monitorowania stanu urządzeń oraz zmiany ich ustawień na podstawie danych wejściowych. Kamery IP z ESP8266 umożliwiają zdalny dostęp do obrazu i dźwięku z dowolnego miejsca na świecie. W przemyśle natomiast umożliwia bezprzewodowe sterowanie, zdalny dostęp i monitorowanie urządzeń, co przyczynia się do poprawy wydajności i oszczędności energii. W przypadku elektroniki odzieżowej z ESP8266 mamy możliwość zbierania danych o aktywności fizycznej, tętnie, temperaturze ciała itp. Urządzenia lokalizacyjne z ESP8266 umożliwiają śledzenie i lokalizację urządzeń w sieci Wi-Fi, co ma zastosowanie w logistyce, monitoringu osób lub też zwierząt.
Sponsorem wpisu jest msalamon.pl
WWW: https://msalamon.pl/
Sklep: https://sklep.msalamon.pl/
Zakres artykułu.
- ESP32 vs ESP8266
- Jak zacząć programować ESP8266?
- Źródła
ESP32 vs ESP8266
Innym popularnym modułem, jaki możemy spotkać w sieci, jest ESP32. Należy zaznaczyć, że ESP32 i ESP8266 to dwa różne układy SoC tej samej firmy Espressif. ESP8266 została wydana wcześniej, to jest w 2014 roku, natomiast ESP32 w 2016. Główne różnice, na jakie warto zwrócić uwagę to:
- Moc obliczeniowa: ESP32 jest znacznie mocniejszy niż ESP8266, co pozwala na wykonywanie bardziej zaawansowanych zadań.
- Obsługa Wi-Fi: jeden z układów ESP32, a konkretnie ESP32-C5 jest wyposażony w moduł Wi-Fi Dual-Band (2,4 GHz i 5 GHz), podczas gdy na chwilę obecną wszystkie ESP8266 są wyposażone tylko w moduł Wi-Fi o częstotliwości 2,4 GHz.
- Obsługa Bluetooth: ESP32 jest wyposażony w moduł Bluetooth 4.2 / 5.0 (BLE), podczas gdy ESP8266 nie posiada takiego modułu.
- Pamięć: ESP32 ma więcej pamięci RAM i pamięci flash niż ESP8266, co pozwala na przechowywanie większej ilości danych i kodu.
- Zużycie energii: ESP32 jest znacznie bardziej wydajny energetycznie niż ESP8266, co jest ważne przy stosowaniu w urządzeniach zasilanych z baterii.
Oczywiście nie są to wszystkie różnice, jakie występują między tymi układami. Jeżeli chcecie zapoznać się z pełną specyfikacją, to możecie znaleźć ją w dokumentacji tych układów [1] i [2].
Jak zacząć programować ESP8266?
Na wstępie warto zaznaczyć, że ESP8266 możemy programować na wiele sposobów. Żeby szybko zobaczyć rezultaty naszej pracy, warto najpierw przejść, przez łatwiejsze ścieżki ustawiania wszystkich niezbędnych komponentów. W związku z powyższym skorzystajmy z dobrze znanego środowiska programistycznego, jakim jest Arduino IDE.
Jeżeli nie posiadamy jeszcze Arduino IDE, to musimy je zainstalować. Instrukcja jak tego dokonać znajduje się na oficjalnej stronie producenta. Jak zainstalować Arduino IDE na Windowsie [6] oraz Jak zainstalować Arduino IDE na Linuxie z systemem Ubuntu [5].
Gdy już mamy zainstalowane Arduino IDE, należy je uruchomić.
W następnym kroku należy do menedżera płytek dodać pakiet obsługujący ESP8266. W tym celu przejdźmy do File –> Preferences….
Następnie w polu “Additional boards manager URLs:” należy wkleić następujący link: https://arduino.esp8266.com/stable/package_esp8266com_index.json.
W przypadku, gdyby link nie był już aktualny, wówczas powinniśmy być w stanie go odnaleźć na oficjalnym repozytorium zamieszczonym w serwisie GitHub. W README.md należy odnaleźć sekcję “Installing with Boards Manager” a następnie należy skopiować link, który odnosi się do pliku w formacie json.
Link ten wklejamy w pole “Additional boards manager URLs:” i naciskamy następnie na przycisk “OK“.
W kolejnym kroku należy zainstalować pakiet esp8266. W tym celu przechodzimy do Tools –> Board –> Boards Manager….
Następnie w polu do filtrowania “Filter your search…” wpisujemy esp8266.
W polu z pakietami powinniśmy zobaczyć pakiet o nazwie esp8266 by ESP8266 Community, który następnie należy zainstalować poprzez naciśnięcie przycisku INSTALL.
Po zainstalowaniu pakietu jesteśmy w stanie, wybrać model naszej płytki z esp8266. Taką płytke możecie kupić w tym miejscu. Aby wybrać model płytki, należy przejść do Tools –> Board: … –> esp8266 –> płytka_którą_posiadamy.
Następnie podłączamy naszą płytkę do komputera i sprawdzamy, do jakiego portu COM została przypisana. W tym celu możemy skorzystać z Menedżera urządzeń. Jeżeli płytka nie jest wykrywana przez komputer, wówczas prawdopodobnie nie posiadamy sterowników. Sterowniki możemy pobrać na przykład z https://msalamon.pl/download/1824/ lub z oficjalnej strony producenta.
Gdy już znamy port, możemy go wybrać w Arduino IDE. W tym celu należy przejść do Tools –> Port: … –> port_COM.
Żeby szybko zweryfikować, czy wszystko działa poprawnie, skorzystajmy z dostępnych przykładów. W tym celu należy przejść do File –> Examples –> ESP8266WebServer –> HelloServer.
Po wybraniu przykładu pojawi nam się nowe okno z Arduino IDE z kodem wybranego przykładu. Przykład, który wybrałem, powoduje, że ESP8266 łączy się z routerem i wyświetla w przeglądarce napis “hello from esp8266”
Żeby ESP8266 połączyło się z naszym routerem, musimy w programie wpisać nasze ssid w miejsce “your-ssid” oraz hasło w miejsce “your-password“.
Następnie należy włączyć Serial Monitor w celu poznania przypisanego ip przez router. Aby włączyć Serial Monitor, przechodzimy do Tools –> Serial Monitor. Należy jeszcze pamiętać, żeby ustawić prędkość na 115200 baud oraz określić zakończenie linii jako Both NL & CR.
Program należy wgrać poprzez naciśnięcie na przycisk “Upload” (strzałka skierowana w prawą stronę). W terminalu Serial Monitora powinniśmy ujrzeć między innymi ip, które zostało przydzielone naszemu ESP8266.
Jeżeli znamy już ip, wówczas należy włączyć przeglądarkę i wpisać ip ESP8266.
Efekt, jaki powinniśmy zobaczyć, zamieściłem poniżej.
W ten oto sposób uruchomiliśmy nasz pierwszy program na ESP8266. Teraz nie pozostaje nam nic innego jak zabrać się za tworzenie własnych programów, które będziemy łączyć z inną elektroniką.
Źródła
- [1] ESP8266EX Datasheet, 2023, wydanie 6.9, Dostęp z dnia 3 kwietnia 2023 z https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf
- [2] ESP32 Series Datasheet, 2023, wydanie 4.2, Dostęp z dnia 3 kwietnia 2023 z https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
- [3] sklep.msalamon, Dostęp z dnia 3 kwietnia 2023 z https://sklep.msalamon.pl/produkt/esp8266-nodemcu-v3-ch340/?utm_source=inthou&utm_medium=article&utm_campaign=ESP8266
- [4] GitHub, Dostęp z dnia 8 kwietnia 2023 z https://github.com/esp8266/Arduino
- [5] Arduino Documentation, Dostęp z dnia 11 kwiatnia 2023 z https://docs.arduino.cc/software/ide-v1/tutorials/Linux
- [6] Arduino Documentation, Dostęp z dnia 11 kwiatnia 2023 z https://docs.arduino.cc/software/ide-v1/tutorials/Windows