Spis treści:
Technologie IoT zawdzięczają swój rozwój przede wszystkim ekspansji niedrogich modułów WiFi o dużych możliwościach – jednym z głównych graczy na tym rynku jest ESP32.
Jeszcze dwadzieścia lat temu implementacja łączności WiFi w urządzeniach elektronicznych wiązała się z naprawdę niemałymi kosztami i koniecznością zastosowania złożonych rozwiązań sprzętowych. Czasy zmieniły się jednak i dziś „dodanie” interfejsu bezprzewodowego do budowanego przez siebie urządzenia stało się nie tylko bardzo tanie, ale także niebywale proste – a to za sprawą doskonałych, wyspecjalizowanych w łączności radiowej układów scalonych oraz opartych na nich modułach, pozwalających na szybkie i łatwe wdrożenie nawet złożonych funkcjonalności sieciowych tak w projektach amatorskich, jak i realizacjach komercyjnych. Dziś przyjrzymy się układowi ESP32 oraz możliwościom, jakie oferuje w zależności od rodzaju modułu bądź zestawu uruchomieniowego.
ESP32 jako taki, czyli najważniejsze informacje o popularnym transceiverze WiFi
ESP32 to popularna seria układów scalonych ASIC, stworzonych przez firmę Espressif Systems i przeznaczonych głównie do zastosowań w zakresie IoT (Internet Rzeczy) oraz w innych projektach związanych z komunikacją bezprzewodową.
Poszczególne wersje układu różnią się pod względem architektury i liczby rdzeni procesora, częstotliwości taktowania, a także ilości pamięci czy wreszcie rozmiarów obudowy i liczby pinów. Każdy z przedstawicieli rodziny ESP32 należy do klasy SoC (System-on-Chip), co oznacza, że integruje w sobie szereg bazowych komponentów, pełniących kluczowe role we współczesnych urządzeniach cyfrowych: procesor, zestaw pamięci i bloków peryferyjnych, a także podstawowe obwody zasilania oraz – najważniejszy element – transceiver radiowy, umożliwiający komunikację WiFi lub WiFi + Bluetooth.
Podstawowa seria układów ESP32 obejmuje aż 10 układów, z czego w chwili pisania niniejszego artykułu cztery (ESP32-D0WD, ESP32-D0WDQ6-V3, ESP32-D0WDQ6 oraz ESP32-S0WD) są już uznane za przestarzałe i producent nie zaleca ich do nowych projektów.
Pozostałe sześć to dwurdzeniowe układy w kompaktowych obudowach QFN 5×5 mm lub LGA 7×7 mm, wyposażone w 48 pinów i obsługujące szereg trybów pracy transceivera. Co ważne, moduł Bluetooth pozwala na pracę z profilami klasycznego BT (L2CAP, SDP, GAP, SMP, AVDTP, AVCTP, A2DP (SNK), AVRCP (CT)), a także niskoenergetycznego standardu BLE (profile L2CAP, GAP, GATT, SMP).
W przypadku urządzeń o zasilaniu bateryjnym bardzo istotny jest fakt, iż układy ESP32 pozwalają „zejść” z poborem prądu nawet do 5 mikroamperów (!), co pozwala znacząco zaoszczędzić energię nawet w przypadku sprzętu przenośnego, wyposażonego w akumulatory o małej pojemności.
Nowsze wersje ESP32
Opisane powyżej układy z „podstawowej” rodziny ESP32 to jednak nie koniec oferty firmy Espressif – producent opracował bowiem szereg nowszych układów, często o zaskakująco interesujących możliwościach. I tak, seria ESP32-S2 bazuje na jednordzeniowym procesorze o taktowaniu 240 MHz i oferuje wbudowaną pamięć RAM o pojemności kilkuset kilobajtów oraz (w przypadku układów ESP32-S2F) także Flash (2 lub 4 MB).
Wśród 43 linii GPIO dostępne są konfigurowalne wejścia/wyjścia, obsługujące interfejsy USB OTG, SPI, I2S, UART, I2C, LED PWM, LCD, łącze dla modułów kamer, a także wejścia ADC, wyjścia DAC oraz linie obsługujące zestaw przycisków dotykowych. Układ ma wbudowany transceiver WiFi, działający w paśmie 2.4 GHz.
Seria ESP32-S3 została zbudowana w oparciu o dwurdzeniowe procesory Xtensa® 32-bit LX7, wyposażone w 512 kB pamięci SRAM i 384 kB pamięci ROM, zaś transceiver – oprócz WiFi – obsługuje już nawet nowy standard Bluetooth 5 (Low Energy).
Niejako „odchudzoną” wersją ESP32-S2 jest ESP32-C2 – tutaj mamy do dyspozycji „tylko” 120-megahercowy procesor RISC-V (32 bit), ale za to sam układ jest znacznie mniejszy, niż jego odpowiednik z serii S3, co pozwala na integrację w bardziej kompaktowych urządzeniach komercyjnych.
Układy z serii ESP32-C3 oferują nieco większe możliwości i wyższe taktowanie (160 MHz), posiadają także większą niż w przypadku układów z serii C2 ilość pamięci wewnętrznej. Warto wspomnieć także o linii produktowej ESP32-C6 – do dyspozycji użytkowników jest wprawdzie także 160-megahercowy procesor jednordzeniowy, ale za to sam transceiver obsługuje już łącze WiFi 6, BLE 5, a nawet IEEE 802.15.4.
Budowa projektów w oparciu o ESP32
Opisując układy z serii ESP32 umyślnie nie używaliśmy słowa „moduł – warto bowiem pamiętać, że „gołe” układy scalone rzadko są dziś wykorzystywane w nowych projektach. Znacznie częściej bowiem możemy zetknąć się z praktycznymi aplikacjami gotowych modułów, znakomicie ułatwiających zastosowanie układów Espressif i to zarówno od strony programistycznej, jak i projektowej (mozaika ścieżek na PCB) oraz montażowej (raster wyprowadzeń). Moduły mają wszak szereg zalet – posiadają wszystkie najważniejsze obwody peryferyjne, mają wbudowane anteny lub wyprowadzone złącza koncentryczne dla anteny zewnętrznej, a nade wszystko są niezwykle proste w montażu.
Z programistycznego punktu widzenia, zastosowanie ESP32 jest znacznie łatwiejsze, niż w przypadku wielu konkurencyjnych rozwiązań. Marka Espressif dostarcza oficjalne środowisko programistyczne oraz szereg bibliotek, przykładów oraz dokumentacji ułatwiającej rozpoczęcie pracy. Ponadto, dla ESP32 dostępne jest wsparcie dla różnych platform programistycznych, w tym Arduino, MicroPython oraz PlatformIO, dzięki czemu moduły i płytki deweloperskie oparte na ESP32 mogą być z łatwością wykorzystywane także przez mniej doświadczonych programistów, którzy do tej pory zdobywali doświadczenie np. na bazie Arduino IDE. Ze względu na niską cenę, wszechstronność i łatwość użycia, seria ESP32 zdobyła ogromną popularność wśród majsterkowiczów, hobbystów i profesjonalistów, a to w prostej linii doprowadziło do powstania ogromnej ilości dostępnych zasobów, tutoriali i przykładowych projektów, znacząco ułatwiających rozpoczęcie pracy z platformą.
Jak oceniasz ten wpis blogowy?
Kliknij gwiazdkę, aby go ocenić!
Średnia ocena: 4.7 / 5. Liczba głosów: 10
Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.