Leírás
Ha egy Wi-Fi-s szenzort, ESPHome egységet, MQTT vezérlőt vagy egyszerű webes kezelőfelületet építesz, a NodeMCU ESP32 / NodeMCU32 – ESP32-WROOM-32D, CP2102, 38 pin, USB-C jó kiindulópont a klasszikus ESP32 világhoz. A panelen már ott van az ESP32-WROOM-32D modul, a 4 MB Flash, a CP2102 USB-soros átalakító, a 3,3 V-os tápellátás és az USB-C csatlakozó. A munka így többnyire ott kezdődik, hogy kiválasztod a megfelelő GPIO-kat és rákötöd a saját szenzorodat, kijelződet vagy vezérlőelektronikádat.
A 38 pines kivitel sok csatlakozási lehetőséget ad, de a 38 fizikai láb nem jelent 38 szabad GPIO-t. Vannak csak bemenetként működő pinek, induláskor figyelt boot-lábak, valamint a WROOM saját Flash memóriájához tartozó vezetékek. Ha ezt már a kapcsolási rajz elején figyelemebe veszed, sok olyan hibát meg lehet előzni, amikor a panel programozható, mégsem indul el rendesen a végleges bekötéssel.
Az USB-C csatlakozón keresztül tápot adhatsz a lapnak, firmware-t tölthetsz fel és használhatod a soros monitort. A kapcsolatot a CP2102 kezeli. A klasszikus ESP32-WROOM-32D ezen keresztül nem válik natív USB eszközzé, tehát USB billentyűzet, pendrive vagy hasonló device funkció nincs ezen a csatlakozáson.
A vezérlő kétmagos, legfeljebb 240 MHz-en működik, 520 KB belső SRAM-mal és 4 MB Flash memóriával. Wi-Fi és Bluetooth 4.2 BR/EDR + BLE is rendelkezésre áll. PSRAM nincs, ezért nagy kijelzőpuffer, komolyabb webfelület vagy memóriaigényes grafika esetén ezt már a tervezéskor számold bele.
Első bekapcsolás a műhelyasztalon
Első körben elég egy adatátvitelre alkalmas USB-C kábel. Ez az “adatátvitelre alkalmas” rész fontos. Léteznek olyan USB-C kábelek, amelyek csak töltésre vannak bekötve. Ilyenkor a NodeMCU ESP32 / NodeMCU32 – ESP32-WROOM-32D, CP2102, 38 pin, USB-C kap tápot, akár a LED is világíthat, a számítógép mégsem lát új soros portot.
A PC felől a CP2102 jelenik meg virtuális COM portként. Ugyanezen az útvonalon történik a programfeltöltés és a soros monitor használata.
Ha az automatikus feltöltés valamiért nem találja el a boot módot, a panelen lévő BOOT és RESET/EN gomb segít. A BOOT gombot lenyomva tartva, majd az EN/reset használatával kézzel is betölthető a soros bootloader.
Arduino IDE, PlatformIO, ESP-IDF, MicroPython és ESPHome is használható hozzá.
A 38 pines kiosztást ne kezeld egyszerű tüskesorként
A panel szélén sok láb van, de nem mindegyik viselkedik ugyanúgy.
GPIO34, GPIO35, GPIO36 és GPIO39
Ezek csak bemenetek. Analóg érzékelőhöz, kapcsolóhoz vagy digitális bemenethez használhatók, LED-et, relémeghajtót vagy más kimenetet viszont nem tudsz róluk vezérelni. Belső felhúzó és lehúzó ellenállás sincs rajtuk. Ha például nyomógomb kerül ide, a stabil alapállapothoz külső ellenállás szükséges.
GPIO0, GPIO2, GPIO5, GPIO12 és GPIO15
Ezeket az ESP32 induláskor is figyeli. Ha egy hozzájuk kapcsolt periféria reset közben rossz logikai szintre húzza valamelyiket, a lap eltérő boot módba kerülhet, vagy egyszerűen nem indul el rendesen. GPIO12 különösen érzékeny pont, mert a bootfolyamat során a Flash tápbeállítására is hatással lehet.
GPIO6-GPIO11
Ezeket hagyd ki az általános bekötésből. A WROOM modul saját SPI Flash memóriája használja őket. Attól, hogy egy DevKitC jellegű 38 pines panelen egyes jelölések fizikailag elérhetők, még nem lesznek szabadon felhasználható GPIO-k.
3,3 V-os logika – ezt minden perifériánál nézd meg
A panel USB-C felől 5 V-ot kap, maga az ESP32 viszont 3,3 V-os logikával dolgozik.
Ez két külön dolog. Egy 5 V-ról táplált szenzor használható lehet az ESP32 mellett, ha a jelvezetékei 3,3 V kompatibilisek. Ha viszont a periféria 5 V-os HIGH szintet küld vissza, akkor szintillesztés kell. HC-SR04 esetén például az ECHO kimenet 5 V-os lehet, ezért közvetlenül ne menjen az ESP32 bemenetére. Ellenállásosztó vagy más megfelelő jelszintillesztés kell közé. I2C-nél a felhúzóellenállások feszültségét is nézd meg. Egy 5 V-os szenzormodul saját pull-upjai könnyen 5 V-ra húzhatják az SDA és SCL vezetékeket.
Analóg mérés Wi-Fi mellett
Az ESP32 két ADC egységet használ. ADC1 a GPIO32-GPIO39 tartományban található. ADC2 több más GPIO-t fog össze. Wi-Fi használatakor az ADC2 hardverét a rádiós rész is igénybe veszi. Emiatt Wi-Fi-s szenzoros feladatnál az ADC1 lábakból indulj ki, ha van rá lehetőség. Ez tipikusan ESPHome-nál, MQTT-s mérőpontnál vagy vezeték nélküli akkumulátorfeszültség-mérésnél számít. Papíron sok analóg bemenet látszik, a kész Wi-Fi-s kapcsolásban viszont nem mindegyik egyformán használható. A beépített ADC-t nagy pontosságú mérőműszerként se kezeld automatikusan. Ha jó linearitás, finom felbontás vagy pontos feszültségmérés kell, külső ADC lehet a jobb út.
Mire elég a 4 MB Flash és az 520 KB SRAM?
A 4 MB Flash a firmware, a partíciók és szükség esetén a fájlrendszer helye. Az 520 KB SRAM egészen más feladatot kap. Futás közben innen élnek a változók, hálózati pufferek, Wi-Fi és Bluetooth komponensek, JSON objektumok vagy például egy kijelző framebufferje. Ezért előfordulhat, hogy a program mérete még kényelmesen belefér a 4 MB Flashbe, futás közben viszont elfogy a RAM. PSRAM nincs ezen a változaton.
Egy ESPHome szenzor, MQTT kliens, relévezérlés, egyszerű weboldal vagy kisebb kijelző jellemzően jól kezelhető. Kamera, nagy LVGL felület, sok kép vagy memóriaigényes adatfeldolgozás esetén már PSRAM-os ESP32-WROVER vagy újabb ESP32-S3 panel jobb kiindulópont lehet.
Tápellátás
A biztos, egyszerű táplálási mód az 5 V-os USB-C. A panel ebből állítja elő az ESP32 számára szükséges 3,3 V-ot.
A külső táplálásra 7-12 V szerepel. Ezt ne lépd túl! Ha a panelen egy kivezetés 5V feliratú, azt ne kezeld automatikusan VIN bemenetként 9 vagy 12 V számára. Több tápforrást se köss rá találomra egyszerre. USB-C, 5V és 3V3 betáplálás között előbb tisztázd a panel tápútját, mert egymást visszatápláló forrásokkal könnyen hibát lehet okozni.
Wi-Fi, Bluetooth és soros kapcsolatok a gyakorlatban
Wi-Fi-n keresztül mehet MQTT, ESPHome API, webszerver vagy saját TCP/UDP kommunikáció. Bluetooth oldalon Classic BR/EDR és BLE is rendelkezésre áll. UART, SPI és I2C perifériák szintén használhatók, és az ESP32 GPIO-mátrixa miatt sok funkció nincs egyetlen fix lábpárhoz kötve.
A CAN/TWAI vezérlő chip-szinten rendelkezésre áll, de a busz fizikai meghajtásához külön CAN transceiver kell!
Ugyanez igaz más nagyobb terhelésekre is: relét, motort, szolenoidot vagy komolyabb LED-terhelést ne közvetlenül GPIO-ról hajts. A vezérlőjel mehet az ESP32-ről, a terhelést külön meghajtófokozat kapcsolja.
Mire használható?
- ESPHome hőmérséklet-, páratartalom- vagy levegőminőség-mérőhöz.
- MQTT-s Wi-Fi adatgyűjtőhöz.
- Home Assistant relé- és világításvezérléshez.
- WLED vagy saját LED-szalag vezérlő alapjaként, külső teljesítményfokozattal.
- OLED vagy TFT kijelzős kezelőegységhez.
- Wi-Fi-s webszerveres vezérléshez.
- BLE beacon vagy közelségi kísérlethez.
- UART-os mérőműszer vagy vezérlő adatainak továbbításához.
- RS232 vagy RS485 átjáróhoz megfelelő külső illesztővel.
- Motoros és robotikai feladathoz külső driverrel.
- TWAI/CAN fejlesztéshez külső CAN transceiver mellett.
- Saját szenzorpanel, adatlogger vagy hálózati vezérlő prototípusához.
Kompatibilitás és beüzemelés
| Mire figyelj? | Mit okoz? |
|---|---|
| Adatképes az USB-C kábel? | Töltőkábellel a panel kap tápot, de soros port nem jelenik meg. |
| Megjelent a CP2102 soros port? | Ha nem, kábel-, driver- vagy USB-port problémát kell keresni. |
| GPIO34-39 egyikét kimenetként használnád? | Ezek a releváns ESP32 lábak csak bemenetként működnek. |
| GPIO0/2/5/12/15-re került periféria? | A külső áramkör resetkor megváltoztathatja a boot módot. |
| GPIO6-11 közül használnál valamelyiket? | Ezek a WROOM modul Flash memóriájához tartoznak, használatuk rendszerhibát okozhat. |
| Wi-Fi mellett ADC2-t mérsz? | Az ADC2 és Wi-Fi erőforrásütközése miatt a mérés nem használható szabadon. |
| 5 V-os jel kerülne GPIO-ra? | Szintillesztés kell, az ESP32 logikai szintje 3,3 V. |
| Nagy terhelést kapcsolnál GPIO-ról? | Relé, motor, szolenoid vagy nagy LED külön meghajtófokozatot igényel. |
| Hosszú elemes üzemet tervezel? | A fejlesztőpanel járulékos áramkörei miatt a teljes deep-sleep fogyasztás !!!. |
| Natív USB eszközt szeretnél? | A Type-C aljzat CP2102 USB-UART kapcsolatot biztosít, Az USB-HID-hez S2/S3/C3 jellegű natív USB-s ESP32 lehet megfelelőbb. |
Vásárlás előtt ezt gondold végig
- A NodeMCU ESP32 / NodeMCU32 – ESP32-WROOM-32D, CP2102, 38 pin, USB-C kényelmes választás, ha klasszikus ESP32 firmware-rel dolgozol, sok GPIO-t szeretnél elérni, és jól jön az USB-C-s programozás.
- A 38 pines kialakítás mechanikailag is számít. Ha már van hozzá alaplapod, termináladaptered vagy kész bekötésed, maradj ugyanennél a kiosztásnál. A 30 pines ESP32 DevKit változat nem azonos lábkiosztású.
- Nagyméretű grafikus felülethez, kamerához vagy memóriaigényes hálózati feldolgozáshoz a PSRAM hiánya lehet a határ. Ilyenkor WROVER vagy PSRAM-os ESP32-S3 felé érdemes továbblépni.
- Natív USB funkcióhoz szintén más ESP32 család célszerű. Az USB-C aljzat ezen a panelen főként a CP2102-nek és az 5 V-os táplálásnak dolgozik.
Elemes működésnél ne a chip fogyasztásából indulj ki
Az ESP32 maga tud nagyon alacsony fogyasztású sleep módokat. A teljes fejlesztőpanel viszont tartalmaz CP2102-t, feszültségszabályzót, tápjelző LED-et és egyéb áramköri részeket is. Ezek alvás közben sem feltétlenül tűnnek el a fogyasztásból. Ezért a chip adatlapjában szereplő mikróamperes deep-sleep értéket ne tekintsd a teljes NodeMCU ESP32 / NodeMCU32 – ESP32-WROOM-32D, CP2102, 38 pin, USB-C fogyasztásának.
Hosszú hónapokra tervezett elemes szenzornál már célzottan alacsony fogyasztású ESP32 panel vagy saját WROOM hordozóáramkör lehet célszerűbb.
Műhelytipp
Mielőtt egyetlen vezetéket is bekötsz, másold ki a pinoutot a kapcsolási rajz mellé, és jelöld meg rajta a problémás lábakat. A GPIO34, 35, 36 és 39 kapjon “csak bemenet” jelölést. A GPIO0, 2, 5, 12 és 15 mellé kerüljön egy boot figyelmeztetés. A GPIO6-11-et pedig húzd át, hogy véletlenül se kerüljön rá periféria. Utána válaszd ki a szenzorok és kimenetek helyét.
Wi-Fi-s analóg mérésnél ugyanezt a módszert használd: ADC1-es lábat keress először. Ha ezt már a rajzoláskor eldöntöd, később nem kell azért újrakábelezni az egész próbapanelt, mert az ADC2 a Wi-Fi mellett nem úgy viselkedik, ahogy vártad.
Műszaki jellemzők
| Jellemző | Érték |
|---|---|
| Terméknév: | NodeMCU ESP32 / NodeMCU32 – ESP32-WROOM-32D, CP2102, 38 pin, USB-C |
| Paneltípus: | ESP32 NodeMCU / DevKitC jellegű fejlesztőpanel |
| Beépített modul: | ESP32-WROOM-32D |
| MCU: | ESP32-D0WD |
| CPU: | kétmagos Xtensa LX6 |
| Maximális CPU órajel: | 240 MHz |
| Flash: | 4 MB SPI Flash |
| SRAM: | 520 KB |
| PSRAM: | nincs |
| Wi-Fi: | 2,4 GHz 802.11 b/g/n |
| Bluetooth: | v4.2 BR/EDR + BLE |
| Antenna: | beépített PCB antenna |
| USB-UART: | CP2102 |
| USB: | USB-C |
| USB szerepe: | táp + USB-UART programozás/soros kapcsolat |
| Natív ESP32 USB: | nincs |
| CP2102 USB mód: | USB 2.0 Full-Speed |
| CP2102 UART referencia maximum: | 1 Mbaud chip-szinten |
| Kivezetés: | 2 × 19 = 38 pin |
| 38 pin jelentése: | fizikai kivezetésszám, nem 38 szabad GPIO |
| GPIO logikai szint: | 3,3 V |
| GPIO34 / 35 / 36 / 39: | csak bemenet |
| GPIO34-39 belső pull-up/pull-down: | nincs |
| Boot/strapping lábak: | GPIO0, GPIO2, GPIO5, GPIO12, GPIO15 |
| Flashhez használt lábak: | GPIO6-GPIO11 |
| ADC: | 2 × 12 bites SAR ADC |
| ADC1: | GPIO32-GPIO39 |
| ADC2: | GPIO0, 2, 4, 12-15, 25-27 |
| ADC2 Wi-Fi együttműködés: | korlátozott / Wi-Fi mellett nem szabad általános ADC-ként tervezni |
| DAC: | 2 csatorna, GPIO25 és GPIO26 |
| Kapacitív touch: | támogatott |
| PWM: | támogatott |
| UART: | támogatott |
| SPI: | támogatott |
| I2C: | támogatott |
| I2S: | támogatott |
| TWAI / CAN vezérlő: | támogatott chip-szinten, külső transceiver kell |
| BOOT gomb: | van |
| RESET / EN gomb: | van |
| USB táp: | 5 V |
| Belső működési feszültség: | 3,3 V |
| Biztos külső >5 V VIN tartomány: | 7-12V |
| TavIR külső tápmegadás: | 7-12 V ajánlott; más helyen 7-15 V – ellentmondó |
| Modul üzemi hőmérséklet: | -40…+85 °C |
| Arduino IDE: | támogatott |
| PlatformIO: | támogatott |
| ESP-IDF: | támogatott |
| MicroPython: | támogatott |
| ESPHome: | támogatott |
| ESP32-WROOM-32D státusz: | NRND |
Kérdések – leggyakrabban
Kell külön programozó a NodeMCU ESP32 / NodeMCU32 – ESP32-WROOM-32D, CP2102, 38 pin, USB-C mellé?
Nem. A CP2102 USB-UART átalakító már a panelen van. Egy adatátvitelre alkalmas USB-C kábel kell a programfeltöltéshez és a soros monitorhoz.
Mind a 38 kivezetés szabad GPIO?
Nem. A 38 pin a fizikai csatlakozók száma. Táp-, GND- és Flashhez tartozó jelek is vannak köztük.
Melyik lábakat kerüljem?
GPIO6-GPIO11 a Flash memóriához tartozik. GPIO0, GPIO2, GPIO5, GPIO12 és GPIO15 bootfunkciója miatt körültekintést igényel.
Miért nem működik a GPIO34 kimenetként?
GPIO34, GPIO35, GPIO36 és GPIO39 csak bemenetként használható. Belső pull-up és pull-down sincs rajtuk.
Melyik ADC-t használjam Wi-Fi-s méréshez?
Ha van rá lehetőség, ADC1 lábat válassz a GPIO32-GPIO39 tartományból. Az ADC2 erőforrásait a Wi-Fi is használja.
Köthetek 5 V-os jelet közvetlenül az ESP32-re?
Az ESP32 GPIO-k 3,3 V-osak. 5 V-os kimenettel rendelkező perifériánál megfelelő jelszintillesztés szükséges.
Mi van a csomagban?
Egy NodeMCU ESP32 / NodeMCU32 – ESP32-WROOM-32D, CP2102, 38 pin, USB-C fejlesztőpanel. De USB-C kábel, tápegység és külső perifériák nincsen!
Dokumentáció
- CP210x driver (Windows XP .. Windows 10, Linux, Mac, Android)
- Silabs gyártói driver: Windows, Linux, Mac OSX, Windows CE, Android.
- ESP32-DevKitC V4 Getting Started Guide
Csomag
- 1 × NodeMCU ESP32 / NodeMCU32 alappanel
ESP32_DevKitC V4 / ESP32_DevKitC V1 / ESP32-DevKit-C kompatibilis kialakítás












Értékelések
Még nincsenek értékelések.