ESP32 i njegove funkcionalnosti: cjeloviti vodič za najsvestraniji mikrokontroler

Zadnje ažuriranje: Svibanj 1 2026
  • ESP32 integrira snažan CPU, WiFi, Bluetooth i brojne periferne uređaje u jedan jeftini SoC.
  • Njegov visoko multipleksirani raspored pinova omogućuje do 34 GPIO-a s ADC, DAC, PWM, touch i RTC funkcijama.
  • Postoji više obitelji (WROOM, WROVER, S2, S3, C3, C6, CAM) prilagođenih različitim vrstama projekata.
  • Može se programirati s Arduinom, ESP-IDF-om ili MicroPythonom, pokrivajući sve od jednostavnih prototipova do profesionalnih proizvoda.

ESP32 ploča i njezine funkcionalnosti

Ako radite u svijetu IoT-a, kućne automatizacije ili sustava automatizacije , prije ili kasnije naići ćete na ESP32. A kada počnete tražiti informacije, lako je završiti zbunjenije nego na početku: pinovi ovdje, modeli ondje, načini rada s niskom potrošnjom energije, WiFi, Bluetooth, kamere, PSRAM… Čini se kaotično, ali u stvarnosti je to vrlo koherentna platforma ako je shvatite smireno.

U ovom članku pronaći ćete sveobuhvatan i dobro organiziran pregled ESP32 : što je to točno, što može raditi na hardverskoj razini, kako su organizirani njegovi pinovi i posebne funkcije, koje obitelji čipova postoje, kako se međusobno razlikuju, koje su ploče najčešće, kada je koja najbolje prilagođena vašim potrebama i kako započeti s programiranjem u praksi. Cilj je da na kraju dobijete jasnu mentalnu sliku ESP32 ekosustava i znate kako odabrati i koristiti pravu ploču bez straha od pogreške.

aktuatori u pametnim zgradama
Povezani članak:
Aktuatori u pametnim zgradama: ključ automatizacije doma i zgrada

Što je ESP32 i zašto je postao toliko popularan?

ESP32 je jeftin, energetski učinkovit, 32-bitni sustav na čipu (SoC) koji je razvio Espressif Systems. Integrira snažan mikroprocesor, Wi-Fi, Bluetooth (standardni i BLE), memoriju, analogno-digitalne pretvarače i širok raspon perifernih uređaja na jednom čipu. To ga čini svojevrsnim "švicarskim nožem" za povezane projekte.

Klasične varijante koriste dvojezgreni mikroprocesor Xtensa LX6 , koji obično radi na 160 ili 240 MHz i postiže performanse do 600 DMIPS-a. Novije obitelji (kao što su ESP32-C3 ili C6) koriste RISC-V jezgre niske potrošnje energije, dok su druge, poput S2/S3, vidjele poboljšanja u memoriji, potrošnji energije i laganim mogućnostima umjetne inteligencije.

Jedna od ključnih značajki ESP32 je ta što integrira WiFi 802.11 b/g/n i Bluetooth (BR/EDR i BLE) na istom silicijskom čipu, dijeleći radio. To eliminira potrebu za vanjskim modulima za povezivanje, štedi prostor na ploči i smanjuje troškove. Kao rezultat toga, postao je de facto standard za projekte kućne automatizacije, povezane senzore, sustave automatizacije i komercijalne prototipove.

Uz procesor i radio, ESP32 integrira 520 KiB SRAM-a i ROM-a izravno u SoC, zajedno s kontrolerima za upravljanje vanjskom flash memorijom putem SPI-ja. Komercijalni moduli (kao što su WROOM ili WROVER) obično uključuju između 4 i 16 MB integrirane flash memorije, a neki dodaju vanjski PSRAM za zahtjevnije aplikacije (grafika, kamere, umjetna inteligencija itd.).

Unutarnja arhitektura, memorija i upravljanje energijom

U svojoj unutarnjoj arhitekturi, ESP32 kombinira jednu ili dvije glavne Xtensa LX6/LX7 ili RISC-V jezgre s koprocesorom ultra niske potrošnje energije (ULP) . Ovaj koprocesor je dizajniran za obavljanje malih zadataka u načinima rada s niskom potrošnjom energije, kao što je periodično očitavanje senzora dok ostatak čipa miruje kako bi se uštedjela energija baterije.

Memorija je organizirana u nekoliko područja: osim glavnog SRAM-a od 520 KiB koji koristi procesor, čip ima brzu RTC RAM regiju (otprilike 8 kB) i sporu RTC RAM regiju (otprilike dodatnih 8 kB). Brza RTC RAM memorija omogućuje zadržavanje podataka tijekom dubokog spavanja, tako da se nakon buđenja postavke ili stanja mogu oporaviti bez potrebe za ponovnim izračunavanjem svega.

Što se tiče pohrane, tipičan dizajn temelji se na SPI-spojenoj flash memoriji gdje se pohranjuju firmver i drugi nehlapljivi podaci. Mnogi ESP32 WROOM moduli dolaze s 4 MB flash memorije, dok naprednije ili verzije orijentirane na kameru (ESP32-WROVER, ESP32-S3 s PSRAM-om itd.) mogu imati 8, 16 MB ili više.

Upravljanje napajanjem još je jedna od prednosti platforme. Čip integrira unutarnji regulator s niskim padom napona (LDO) , različite domene napajanja i razne načine uštede energije. U načinu dubokog mirovanja potrošnja može pasti na oko 5 μA, a buđenje se vrši putem GPIO-a, timera, senzora dodira ili ADC mjerenja, ovisno o tome kako su konfigurirani RTC i ULP koprocesor.

Što se tiče sigurnosti, ESP32 podržava sve standardne IEEE 802.11 značajke (WPA, WPA2, WPA3 u novijim verzijama, WAPI) i nudi sigurne mehanizme pokretanja i flash enkripciju . Također integrira hardverske akceleratore za AES, SHA-2, RSA, ECC i generator slučajnih brojeva (RNG), kao i 1024-bitno OTP područje gdje se mogu pohraniti nepromjenjivi ključevi i parametri.

Raspored pinova i multipleksiranje funkcionalnosti ESP32

Jedna od najupečatljivijih stvari kada prvi put naiđete na ESP32 DevKitC ili sličan je broj pinova i alternativnih funkcija . Na čipu možete imati do 34 GPIO pina, ali mnogi od njih su multipleksirani s drugim unutarnjim perifernim uređajima ili rezervirani za vrlo specifične svrhe.

Multipleksiranje pinova ključna je značajka ESP32. Većina internih signala (UART, I2C, SPI, PWM itd.) može se usmjeriti na gotovo bilo koji GPIO konfiguriranjem matrice pinova čipa, bez ikakvog primjetnog gubitka performansi. Raspored pinova prikazan na pločama je zadani raspored, ali općenito možete preraspodijeliti funkcije ako je potrebno.

Prilikom dizajniranja projekta važno je imati na umu da neki pinovi imaju posebna ograničenja : neki se koriste tijekom pokretanja (vezni pinovi), drugi su spojeni na SPI flash memoriju, a treći su povezani s debugging sučeljima poput JTAG-a. Ako ih koristite nepravilno, sustav se možda neće pokrenuti ili će postati nestabilan.

Razvojne ploče ESP32 DevKitC ili NodeMCU-32S izlažu ove pinove kroz dva reda konektora. Iako svaki proizvođač može slijediti malo drugačiji raspored, općenito dijele isto GPIO numeriranje i većinu funkcija, tako da se dijagrami i tablice rasporeda pinova mogu prenositi s jedne ploče na drugu.

  Što je skener i čemu služi?

Posebni igle: vezivanje, samo ulaz, RTC i taktilne

Unutar GPIO rasporeda pinova nalazi se skupina pinova za konfiguraciju pokretanja, poznatih i kao pinovi za vezivanje. Oni se koriste za određivanje načina pokretanja čipa, napona određenih unutarnjih komponenti i nekih parametara SPI flash memorije. Ovi pinovi se očitavaju tijekom resetiranja sustava, a njihova logička razina u tom trenutku ostaje zaključana do sljedećeg resetiranja ili isključivanja napajanja.

Uobičajeni pinovi za spajanje na ESP32 uključuju GPIO0, GPIO2, GPIO4, GPIO5, GPIO12 i GPIO15 . Na primjer, GPIO0 mora biti nizak za ulazak u način preuzimanja; GPIO2 ne smije biti prisilno visok tijekom pokretanja; GPIO5 i GPIO15 obično imaju pull-up otpornike kako bi se osigurala ispravna stanja; a GPIO12 je uključen u odabir napona za određene memorije. Iako se ovi pinovi mogu ponovno koristiti u vašem krugu, najbolje ih je ne preopteretiti ili koristiti krugove koji mijenjaju njihovu razinu tijekom uključivanja.

Postoji i mala skupina pinova koji su samo digitalni i/ili analogni ulaz ; to jest, ne mogu se koristiti kao izlazi: GPIO34, GPIO35, GPIO36 i GPIO39. Nadalje, za razliku od ostalih GPIO-a, ovi nemaju unutarnje pull-up ili pull-down otpornike, pa ćete ih morati dodati izvana ako trebate stabilizirati njihovu razinu.

Neki GPIO-i su spojeni na RTC podsustav niske snage i poznati su kao RTC GPIO-i . Uključuju kombinacije kao što su RTC_GPIO0-GPIO36, RTC_GPIO3-GPIO39, RTC_GPIO4-GPIO34, RTC_GPIO5-GPIO35, RTC_GPIO6-GPIO25, RTC_GPIO7-GPIO26, RTC_GPIO8-GPIO33, RTC_GPIO9-GPIO32, RTC_GPIO10-GPIO4, RTC_GPIO11-GPIO0, RTC_GPIO12-GPIO2, RTC_GPIO13-GPIO15, RTC_GPIO14-GPIO13, RTC_GPIO15-GPIO12, RTC_GPIO16-GPIO14 i RTC_GPIO17-GPIO27. Ovi pinovi omogućuju, između ostalog, buđenje čipa iz stanja dubokog mirovanja pomoću ULP koprocesora ili izvora prekida male snage.

Osim toga, ESP32 integrira 10 kapacitivnih senzora dodira povezanih sa specifičnim GPIO pinovima: TOUCH0 (GPIO4), TOUCH1 (GPIO0), TOUCH2 (GPIO2), TOUCH3 (GPIO15), TOUCH4 (GPIO13), TOUCH5 (GPIO12), TOUCH6 (GPIO14), TOUCH7 (GPIO27), TOUCH8 (GPIO33) i TOUCH9 (GPIO32). Kada se kapacitivno opterećenje (na primjer, prst) približi ovim pinovima, čip detektira promjenu kapacitivnosti, što vam omogućuje da ga koristite za dodirne tipke, klizače ili senzore blizine bez dodatnih komponenti.

Konačno, moramo spomenuti EN (Enable) pin koji kontrolira unutarnji 3,3V regulator modula. Obično ima pull-up otpornik od 3,3V, a njegovim spuštanjem na nisku razinu onemogućuje se regulator, učinkovito resetirajući ili isključujući ESP32. Mnoge aplikacije koriste ovaj pin kao globalno resetiranje.

GPIO, prekidi i analogne funkcije (ADC, DAC, PWM)

Općenito govoreći, ESP32 nudi do 34 GPIO pina koji se mogu konfigurirati kao digitalni ulazi ili izlazi, s mogućnošću omogućavanja unutarnjih pull-up ili pull-down otpornika na većini njih. Gotovo svi ovi pinovi mogu se konfigurirati kao izvori prekida, što uvelike pojednostavljuje dizajn sustava koji reagiraju na događaje (tipke, senzori, detektori itd.).

Analogni dio je prilično sveobuhvatan: ESP32 uključuje dva 12-bitna SAR ADC-a koji pružaju do 18 ulaznih kanala. Kanali su podijeljeni između ADC1 (8 kanala) i ADC2 (10 kanala). Tipična dodjela je sljedeća: ADC1_CH0-GPIO36, ADC1_CH1-GPIO37, ADC1_CH2-GPIO38, ADC1_CH3-GPIO39, ADC1_CH4-GPIO32, ADC1_CH5-GPIO33, ADC1_CH6-GPIO34, ADC1_CH7-GPIO35; i ADC2_CH0-GPIO4, ADC2_CH1-GPIO0, ADC2_CH2-GPIO2, ADC2_CH3-GPIO15, ADC2_CH4-GPIO13, ADC2_CH5-GPIO12, ADC2_CH6-GPIO14, ADC2_CH7-GPIO27, ADC2_CH8-GPIO25 i ADC2_CH9-GPIO26.

Ako radite s aktivnim Wi-Fi-jem ili Bluetoothom, postoji važan detalj: ADC2 nije dostupan dok je radio u upotrebi . U tim slučajevima, za analogna očitanja morate koristiti ADC1 kanale, koji se mogu koristiti bez ograničavanja povezivosti. 12-bitna rezolucija daje vam 4096 razina (0-4095), što u tipičnom rasponu od 0-3,3 V znači korake od oko 0,8 mV.

Za generiranje analognih izlaznih signala, ESP32 uključuje dva 8-bitna DAC-a , spojena na GPIO25 (DAC1) i GPIO26 (DAC2). Ovi pretvarači omogućuju vam pretvaranje digitalne vrijednosti između 0 i 255 u analogni napon između 0 i 3,3 V, što je korisno za generiranje jednostavnih valnih oblika, naponskih referenci, osnovnog zvuka ili modulacije signala bez potrebe za vanjskim čipovima.

U PWM području, ploča ima 16 programabilnih PWM kanala kojima upravlja namjenski kontroler. Bilo koji PWM kanal može se mapirati na različite GPIO pinove, a mogu se podesiti i frekvencija i radni ciklus. Idealna je za upravljanje LED diodama (uključujući zatamnjivanje), servo motora, istosmjernih motora i općenito bilo kojeg opterećenja koje zahtijeva podesivi PWM signal.

Komunikacijska sučelja: UART, I2C, SPI i druga

ESP32 se također ističe po svojim raznolikim integriranim sučeljima. Na serijskoj razini ima tri hardverska UART-a: UART0, UART1 i UART2 , sposobna za rad u asinkronim načinima rada (kao što su RS232 i RS485), pa čak i IrDA, brzinama do 5 Mbps. Na većini razvojnih ploča, UART0 pinovi su spojeni na USB-serijski pretvarač i koriste se za programiranje i ispravljanje pogrešaka, stoga ih je najbolje ne ponovno koristiti u konačnim projektima osim ako niste dobro upoznati s postupkom.

UART1 je obično rezerviran za integriranu SPI flash memoriju , posebno u modulima poput ESP32-S3 ili verzijama sa složenijom vanjskom flash memorijom. Zbog toga mnogi vodiči preporučuju da se UART2 uvijek koristi kao korisnički serijski port kada želite spojiti druge UART uređaje (na primjer, GPS module, druge mikrokontrolere itd.).

Što se tiče I2C sabirnice, ESP32 uključuje jedan ili dva I2C kontrolera (ovisno o obitelji) i, prema zadanim postavkama, omogućuje standardnu ​​I2C sabirnicu sa SDA pinovima na GPIO21 i SCL na GPIO22 . Međutim, kao i kod drugih perifernih uređaja, možete premapirati SDA i SCL na druge GPIO-e pomoću softvera, na primjer, pomoću funkcije `wire.begin(SDA, SCL)` u Arduinu. Možete spojiti desetke senzora i uređaja na jednu I2C sabirnicu, pod uvjetom da poštuju dostupne adrese.

Što se tiče SPI-ja, čip nudi tri SPI sabirnice: SPI, HSPI i VSPI . Osnovna sabirnica se obično koristi interno za ugrađenu flash memoriju, tako da će vas za vaše projekte prvenstveno zanimati HSPI i VSPI. Mnoge standardne biblioteke koriste VSPI prema zadanim postavkama za komunikaciju sa zaslonima, čitačima SD kartica, vanjskim radio modulima i tako dalje.

  Recenzije PC tipkovnica: cjeloviti vodič za odabir prave

Postoji skup posebno osjetljivih pinova povezanih s internom SPI flash memorijom: GPIO6 (SCK/CLK), GPIO7 (SDO/SD0), GPIO8 (SDI/SD1), GPIO9 (SHD/SD2), GPIO10 (SWP/SD3) i GPIO11 (CSC/CMD). Ovi pinovi su rezervirani za komunikaciju s flash memorijom i ne bi se trebali koristiti u vašim sklopovima; njihovo spajanje na bilo što vanjsko često će uzrokovati pad sustava, pogreške pri pokretanju ili oštećenje podataka.

Uz UART, I2C i SPI, ESP32 integrira I2S, CAN 2.0, Ethernet MAC, SD/SDIO kontrolere, TX/RX infracrvene kontrolere, brojače impulsa i druge napredne periferne uređaje. To mu omogućuje, na primjer, da funkcionira kao mrežni pristupnik, reproducira ili snima digitalni zvuk, komunicira s industrijskim sabirnicama ili djeluje kao kontroler za sofisticiranije motore i enkodere.

ESP32 obitelji i modeli: WROOM, WROVER, S2, S3, C3, C6 i ESP32-CAM

Kada tražite ESP32 za kupnju, brzo se počinju pojavljivati ​​nazivi poput WROOM, WROVER, S2, S3, C3, C6 ili ESP32-CAM . Nisu isti, iako svi pripadaju ESP32 ekosustavu. S jedne strane imamo "čisti" SoC čip, a s druge strane module i razvojne ploče koje ga integriraju zajedno s drugim komponentama.

„ ESP32 modul “ (npr. ESP32-WROOM-32 ili ESP32-WROVER) je pravokutni metalni blok koji sadrži čip, flash memoriju, ponekad PSRAM i antenu. Ovi moduli su dizajnirani za izravno lemljenje na prilagođene ploče. Mnogi proizvođači zatim montiraju „ razvojne ploče “ na njih, dodajući USB priključak, regulatore, pristupačne pinove i tipke za resetiranje/pokretanje, kao što su DevKitC, NodeMCU-32S, LOLIN32 itd.

Unutar obitelji čipova imamo, između ostalog, ove glavne varijante: klasična serija ESP32 (originalna, dvojezgrena, WiFi + BT, vrlo dobro dokumentirana), serija ESP32-S2 (jednojezgrena, bez Bluetootha, s izvornim USB-om, idealna za uređaje usmjerene na WiFi i USB), serija ESP32-S3 (dvojezgrena, više RAM-a i poboljšana podrška za BLE 5 i aplikacije za kameru ili svjetlosnu umjetnu inteligenciju), serija ESP32-C3 (RISC-V jezgra, niska cijena, WiFi + BLE 5, usmjerena na zamjenu ESP8266) i serija ESP32-C6 (s WiFi 6, BLE 5 i podrškom za tehnologije poput Threada u određenim scenarijima, dizajnirana za kućnu automatizaciju i moderne mreže).

Modul ESP32-WROOM najčešći je u tradicionalnim DevKit pločama. Obično dolazi s 4 MB flash memorije (iako postoje varijante s 8 MB ili više), standardnom internom RAM memorijom te integriranim Wi-Fi i Bluetoothom. Idealan je za opće projekte poput senzora, automatizacije i kućne automatizacije, gdje vam nije potrebna kamera ili velike količine dodatnog RAM-a.

Modul ESP32-WROVER dodaje vanjski PSRAM, što ga čini prikladnijim za projekte koji zahtijevaju puno memorije: obrada slika, veliki međuspremnici, grafičke aplikacije ili ugrađena umjetna inteligencija. Obično je malo skuplji; ako vaš projekt neće koristiti tu dodatnu memoriju, u biti plaćate nešto što nećete koristiti.

Ploča ESP32-CAM postala je klasik za jeftine projekte video nadzora. Integrira ESP32 s kamerom (obično OV2640 senzorom) i utorom za microSD karticu. Savršena je za izradu kućnih IP kamera, pametnih zvona na vratima ili jednostavnih vizualnih eksperimenata. Međutim, nudi znatno manje dostupnih GPIO pinova i nešto je osjetljivija za programiranje i napajanje.

Kako odabrati pravi ESP32 model za vaš projekt

Odabir pravog ESP32 modela nije toliko stvar pamćenja svih naziva, već jasnog poimanja četiri ključna zahtjeva : trebate li kameru, je li vam prioritet niska snaga baterije, zahtijeva li vaša aplikacija puno memorije (na primjer PSRAM) i trebate li specifične tehnologije poput BLE 5 ili WiFi 6.

Ako tek počinjete i želite ploču za učenje, montiranje senzora, eksperimentiranje s Wi-Fi-jem i Bluetoothom te praćenje većine tutorijala, najrazumnija opcija je obično ESP32 DevKit s WROOM modulom . Jeftin je, vrlo kompatibilan s primjerima i bibliotekama te ima mnoštvo dokumentacije. Za mnoge "normalne" IoT projekte i projekte kućne automatizacije, ova opcija će biti više nego dovoljna.

Kada vaš projekt uključuje integriranu kameru , imate dvije glavne mogućnosti: koristiti ESP32-CAM ploču (koja je vrlo ekonomična i kompaktna, idealna za jednostavne WiFi kamere) ili se odlučiti za ESP32-S3 s podrškom za kameru i više memorije, ako vam trebaju veće performanse, nešto složeniji algoritmi ili korisničko sučelje sa zaslonom.

Ako vam je prioritet niska potrošnja energije s napajanjem iz baterije , posebno za senzorske čvorove koji većinu vremena provode u stanju mirovanja, obitelj ESP32-C3 je vrlo zanimljiva. Koristi RISC-V arhitekturu, ima moderni Wi-Fi i BLE, vrlo nisku potrošnju energije i dovoljno snage za senzore, prijenos podataka i osnovne logičke zadatke.

Za projekte kućne automatizacije "sljedeće generacije", gdje se cijene WiFi 6, BLE 5 i buduća podrška za Thread ili Matter, obitelj ESP32-C6 je posebno obećavajuća. Nešto je novija i još nije toliko sveprisutna kao klasični ESP32, ali je dizajnirana da se uklopi u sve složenije kućne ekosustave.

Tipični slučajevi upotrebe i usporedba s drugim platformama

U svakodnevnoj upotrebi, ESP32 se koristi za kućnu automatizaciju, senzore, nosive uređaje, automatizaciju i IoT prototipove . Tipičan primjer je upravljanje relejima za svjetla, utičnice, rolete ili motore, koji komuniciraju putem Wi-Fi-ja s lokalnim poslužiteljem ili oblakom. Druga uobičajena primjena su senzori temperature, vlažnosti, prisutnosti ili kvalitete zraka koji periodično šalju podatke pozadinskom sustavu.

Zahvaljujući integriranom Bluetoothu (uključujući BLE), također se široko koristi u prijenosnim uređajima ili nosivoj elektronici koji komuniciraju s vašim mobilnim telefonom: monitori otkucaja srca, pedometri, mali monitori spavanja itd. WiFi se može rezervirati za prijenos podataka na internet ili pružanje web sučelja za konfiguraciju, dok BLE obrađuje komunikaciju s aplikacijom ili drugim obližnjim senzorima.

Druga vrlo česta primjena je korištenje ESP32 kao pristupnika ili mozga sustava koji komunicira putem UART-a, SPI-ja ili I2C-a s drugim modulima (na primjer, klasičnim Arduinom, industrijskim senzorima, zaslonima itd.) i izlaže API, MQTT ili web sučelje putem Wi-Fi-ja. Također se koristi u audio projektima, iskorištavajući I2S sučelja i mogućnost obrade glasa i glazbe u stvarnom vremenu.

  Ergonomska analiza i dizajn radnih mjesta

U usporedbi s "čistim" Arduinom Uno, ESP32 nudi znatno veću računalnu snagu, integriranu WiFi/Bluetooth povezivost , više memorije i više perifernih uređaja, uz održavanje slične ili čak niže cijene. U usporedbi sa starijim ESP8266, ESP32 daleko pobjeđuje u jezgrama, RAM-u, broju GPIO pinova i raznolikosti sučelja.

U usporedbi s Raspberry Pi Pico W, ta dva su izjednačenija u pogledu snage i performansi, ali ESP32 ekosustav softvera i biblioteka za IoT i kućnu automatizaciju je vrlo zreo. Nadalje, činjenica da je cijeli paket povezivosti (uključujući hardversku sigurnost) na istom čipu olakšava korištenje u proizvodima za krajnje korisnike bez potrebe za punim operativnim sustavima poput većih Raspberry Pi modela.

Razvojna okruženja: Arduino IDE, ESP-IDF i MicroPython

Prilikom programiranja ESP32 mikrokontrolera imate nekoliko opcija razvojnog okruženja . Najpopularnije među hobistima i proizvođačima je korištenje Arduino ekosustava: ili tradicionalnog Arduino IDE-a ili PlatformIO integriranog u Visual Studio Code, što pojednostavljuje upravljanje bibliotekama i većim projektima.

Za dodavanje ESP32 podrške u Arduino IDE, instalirajte paket ploča "ESP32 by Espressif" iz Upravitelja ploča, koristeći poveznicu za stabilnu verziju koju Espressif nudi na svom GitHubu. Nakon instalacije, možete odabrati ploču (na primjer, "ESP32 Dev Module" ili određeni model iz vašeg DevKita) i programirati je gotovo identično kao Arduino, koristeći funkcije kao što su pinMode, digitalWrite, analogRead itd., kao i specifične biblioteke za WiFi, Bluetooth, HTTP, MQTT i još mnogo toga.

Službeno Espressif okruženje je ESP-IDF (Espressif IoT Development Framework) , C/C++ framework koji nudi vrlo finu kontrolu nad hardverom, korištenjem FreeRTOS-a, upravljanjem memorijom, potrošnjom energije, mrežnim stekovima i naprednim sigurnosnim značajkama. To je preferirani izbor za profesionalne projekte ili one koji zahtijevaju maksimiziranje mogućnosti čipa.

Još jedna vrlo praktična alternativa je MicroPython , lagana Python implementacija usmjerena na mikrokontrolere. Na ESP32 omogućuje vam rad s WiFi-jem, BLE-om, GPIO-om, I2C-om, SPI-jem i drugima, koristeći Python skripte koje možete brzo prenijeti i mijenjati. Posebno je koristan u obrazovanju, brzoj izradi prototipa i situacijama gdje je brzina razvoja važnija od maksimalne učinkovitosti.

Bez obzira na odabrano okruženje, uvijek je preporučljivo konzultirati službenu Espressif dokumentaciju (tehničke listove, vodiče za početak rada, API reference) i primjere koji uključuju Arduino-ESP32 i ESP-IDF. Zajednica na GitHubu, namjenski ESP32 forumi i platforme poput Reddita također nude velik broj gotovih projekata koji se mogu prilagoditi vašim potrebama.

Napredni raspored pinova, ograničenja i proširenje kamerom i SD karticom

Kada malo dublje istražite korištenje ESP32, naići ćete na napredne detalje rasporeda pinova koje biste trebali poštovati. Jedan od njih je nekompatibilnost ADC2 s prethodno spomenutim WiFi/Bluetooth radiom; drugi je uloga JTAG pinova (GPIO12, 13, 14 i 15) ako želite izvršiti hardversko otklanjanje pogrešaka. Ako nećete koristiti JTAG, možete ih tretirati kao normalne GPIO-e, sve dok imate na umu i njihove funkcije povezivanja.

Pažljivo planiranje pinova je ključno, posebno u projektima koji imaju za cilj istovremeno korištenje više funkcija (GPIO, ADC, I2C, SPI, kamera, SD kartica itd.). Neki pinovi su rezervirani za napajanje i kritične signale , kao što su 3,3 V, GND i oni spojeni na SPI flash memoriju. Trebali biste izbjegavati povlačenje visokih struja iz 3,3 V ili 5 V pinova na ploči ako regulator to ne može podnijeti i izbjegavati spajanje velikih opterećenja izravno na GPIO pinove bez odgovarajućih upravljačkih programa.

Neki kompleti i ploče za proširenje dizajnirane za ESP32 integriraju specifične funkcionalnosti kao što su OV2640 moduli kamera, čitači microSD kartica i podrška za 18650 baterije . Obično nude dva reda pinova: jedan sa ženskim konektorima za brzu izradu prototipa i drugi s vijčanim terminalima za trajnije instalacije, na primjer u "terenskim" IoT projektima ili fiksnim instalacijama.

Ove ploče obično uključuju pull-up/pull-down otpornike na pinovima koji kontroliraju kameru i microSD karticu, pa ako ih namjeravate ponovno koristiti kao opće ulaze ili izlaze, trebali biste se posavjetovati s podatkovnim listom ploče za proširenje. Detalji poput glavnog prekidača za napajanje, namjenskih priključaka za punjenje baterije i LED dioda statusa čine značajnu razliku pri izradi samostalnih uređaja na baterije.

U praksi, kombinacija ESP32, OV2640 kamere, microSD kartice i 18650 baterije omogućuje vam izgradnju prilično cjelovitih čvorova za daljinski vid, sposobnih za strujanje, snimanje periodičnih slika ili pokretanje jednostavnih algoritama za detekciju, punjenje baterije putem USB-a kada je potrebno i čuvanje svega u kompaktnom formatu.

Nakon pregleda unutarnjeg rada čipa, njegovih pinova, obitelji proizvoda, tipičnih slučajeva upotrebe i razvojnih alata, postaje jasno da ESP32 nudi ogromnu količinu integriranih funkcionalnosti, fleksibilnost dizajna i opcije male potrošnje energije po vrlo pristupačnoj cijeni, što ga čini platformom koju je vrlo teško pronaći kada želite izgraditi IoT, kućnu automatizaciju ili projekte automatizacije koji kombiniraju bežičnu povezivost, dobru procesorsku snagu i zreo softverski ekosustav.