Zmarnowałem pieniądze na niewłaściwą płytkę ESP, ponieważ nikt tego nie wyjaśnił z góry
ESP32 to fantastyczna mała płytka. Możesz jej użyć, aby naprawić martwe strefy Wi-Fi w 15 minut, a nawet przekształcić ją w idealny mały router podróżny. Jednak chociaż płytki ESP32 mogą wyglądać tak samo, pod powierzchnią mogą się bardzo różnić — a ta różnica może zatrzymać Twój projekt w miejscu.
Posiadam kilka z nich, ale zawsze kupowałem moje ESP32 myśląc, że wszystkie są takie same. Okazuje się, że zakup niewłaściwej płytki może zrobić ogromną różnicę, szczególnie jeśli pracujesz nad czymś, co wymaga pamięci lub wiąże się z większym obciążeniem.
Nie każda płytka ESP32 jest stworzona równo
Chaos w nazewnictwie ukrywający większe różnice w sprzęcie
Zamieszanie zaczyna się od samego nazewnictwa. Espressif, firma stojąca za rodziną ESP32, wydała kilka pokoleń chipów pod marką ESP32. Wyglądają tak samo, ale jeśli przyjrzeć się bliżej, różnią się różnymi końcówkami takimi jak S2, S3, C3 i inne.
Kiedy ludzie potocznie mówią ESP32-S, zazwyczaj mają na myśli ESP32-S2 (lub często ESP32-S3). Nie są to także drobne poprawki sprzętowe. To całkowicie odrębne układy z własnymi unikalnymi możliwościami i różnymi wymaganiami sprzętowymi.
Oryginalny ESP32, wprowadzony na rynek w 2016 roku, to układ dwurdzeniowy oparty na procesorze Tensilica Xtensa LX6 o taktowaniu do 240 MHz, wyposażony w 520 KB SRAM oraz obsługujący zarówno Wi-Fi, jak i Bluetooth (Classic i BLE). ESP32-S2 to układ jednordzeniowy oparty na procesorze LX7, posiadający jedynie 320 KB SRAM i, co ważniejsze, zupełnie nie obsługujący Bluetooth. ESP32-S3 natomiast posiada dwurdzeniowy procesor LX7 i dodaje Bluetooth 5.0, ale obsługuje tylko BLE. Co istotne, jest to zupełnie inna konstrukcja jeśli chodzi o zewnętrzną pamięć RAM, często oferująca do 8 MB (lub więcej) PSRAM, co może zrobić ogromną różnicę.
Niestety, nic z tego nie jest oczywiste z oferty produktu, która po prostu oznacza każdy układ jako „moduł ESP32.”
PSRAM zmienia wszystko
Cecha, która decyduje o tym, czy projekty faktycznie działają
Kiedy rzecz staje się naprawdę myląca, to wtedy, gdy pracujesz nad projektami takimi jak ESP32 AdBlocker. Jeśli chcesz zmienić swój ESP32 w DNS sinkhole, aby blokować reklamy i trackery, potrzebujesz płytki z co najmniej 4 MB PSRAM, a nie każdej płytki ESP32, którą znajdziesz na rynku.
PSRAM to rodzaj zewnętrznej pamięci RAM, która znacznie zwiększa użyteczną pamięć układu w porównaniu z wbudowaną pamięcią SRAM. Dokumentacja ESP32 AdBlocker na GitHub wyraźnie stwierdza, że do obsługi pełnowymiarowej listy blokad wymaga ESP32-S3 z 8 MB PSRAM, podczas gdy standardowy ESP32 z 4 MB PSRAM może ją przycinać. Obie wersje technicznie działają, ale tylko jeśli mają PSRAM.
I właśnie tu leży problem. Fakt, że masz płytkę ESP32, nie oznacza, że posiada PSRAM — co oznacza, że możesz, ale nie musisz być w stanie użyć jej w tym projekcie. S3 jest również mniej więcej dwa razy szybszy od oryginalnego ESP32 dla tego rodzaju obciążenia, z czasami wyszukiwania domen poniżej 50 mikrosekund, jak twierdzi dokumentacja projektu.
Kup złej płytki — podstawową ESP32-S2 bez PSRAM — a projekt po prostu nie będzie działał prawidłowo. Nawet jeśli uda ci się wgrać kod na płytkę, dokonując wymaganych zmian w Arduino IDE, po prostu nie ma ona odpowiedniego sprzętu, aby projekt działał poprawnie. Nie zobaczysz też wyraźnych błędów, ponieważ płytka najprawdopodobniej ugrzęźnie w pętli startowej, która kończy się awarią, zanim będzie mogła zgłosić jakąkolwiek użyteczną wiadomość o błędzie w Monitorze Portu Szeregowego.
Ogłoszenia online sprawiają, że jest to znacznie trudniejsze niż powinno być
Mylące specyfikacje, wprowadzające w błąd etykiety i brakujące szczegóły wszędzie
Problem nie leży tylko w nazewnictwie Espressif. Detaliści dodatkowo skomplikowali zamieszanie, używając niespójnych terminów ogólnych, takich jak ESP32 Devkit, ESP32-S Devkit czy ESP32-S3 Devkit, między innymi, które wszystkie pojawiają się w tych samych wynikach wyszukiwania.
Istnieje również wariancja PSRAM w ramach tej samej generacji chipów. Oryginalny ESP32 występuje w wariantach z PSRAM i bez PSRAM. Moduł WROVER go zawiera; bardziej popularny (i często tańszy) WROOM go nie posiada. Możesz więc skończyć z technicznie poprawną, oryginalną płytką ESP32, która jest jednak bezużyteczna w projektach zależnych od PSRAM, ponieważ przypadkowo kupiłeś niewłaściwy wariant modułu. ESP32 może wiele zrobić dla twojej domowej sieci, ale nie jeśli kupisz niewłaściwy model.
Najłatwiejszym sposobem, aby zrobić to poprawnie, jest przeczytanie wymagań sprzętowych projektu przed zakupem płytki. Zasadniczo, oryginalny ESP32 w wariancie WROVER posiada 4 MB PSRAM i sprawdza się w większości projektów o umiarkowanej złożoności. ESP32-S3 z 8 MB PSRAM jest najlepszym wyborem dla DNS sinkholes i projektów z dużymi zestawami danych, podczas gdy ESP32-S2 lepiej nadaje się do zastosowań USB OTG i wrażliwych na zużycie energii, gdzie Bluetooth nie jest potrzebny. Warianty C3 lub C5 sprawdzają się wszędzie indziej, szczególnie w prostych, niskomocowych rolach sensorowych.
Sprawdź swoje ESP zanim kupisz
Szybka lista kontrolna, która oszczędza pieniądze i frustrację
Zanim kupisz swoją kolejną (lub pierwszą) płytkę ESP32, zadaj sobie trzy pytania. Czy projekt wymaga Bluetooth? Jeśli tak, całkowicie odrzuć ESP32-S2. Czy projekt potrzebuje PSRAM? Jeśli tak, poszukaj wyraźnie WROVER lub płytki S3, która określa obecność pamięci PSRAM na pokładzie. I wreszcie, jeśli projekt określa użycie konkretnej płytki lub wariantu układu w swoich notatkach sprzętowych, zaufaj temu zamiast tytułowi produktu.
Ekosystem ESP32 jest naprawdę ekscytujący, a te maleńkie płytki są zdolne do wiele, niezależnie od tego, którą wersję zdecydujesz się kupić. Jednak niska cena wiąże się z katastrofą nazewniczą, której większość samouczków nie wyjaśnia. Poświęć dodatkowe pięć minut na przeczytanie dokumentacji przed zakupem, a oszczędzisz sobie frustracji związanej z oczekiwaniem na nową płytkę, podczas gdy w ręku trzymasz całkowicie sprawną, ale technicznie niewłaściwą.








