Ez a cikk egy útmutató az ESP8266 GPIO-khoz: pinout-diagramok, funkcióik és használatuk.
Az ESP8266 12-E chip 17 GPIO-tűvel rendelkezik. Nem minden GPIO van kitéve minden ESP8266 fejlesztői lapon, néhány GPIO-t nem ajánlott használni, másoknak pedig nagyon speciális funkciói vannak.
Ezzel az útmutatóval megtanulhatja, hogyan kell megfelelően használni az ESP8266 GPIO-kat, és elkerülheti a több órás frusztrációt azáltal, hogy a projektjeihez a legmegfelelőbb pineket használja.
Az ESP32 GPIO-khoz is van egy útmutató: ESP32 Pinout Reference: Which GPIO pins should you use?
ESP8266 12-E Chip Pinout
A következő ábra az ESP8266 12-E chip pinoutját szemlélteti. Használja ezt az ábrát, ha ESP8266 csupasz chipet használ projektjeiben.
Figyelem: nem minden GPIO érhető el minden fejlesztőlapon, de minden egyes GPIO ugyanúgy működik, függetlenül attól, hogy milyen fejlesztőlapot használ. Ha még csak most kezded el használni az ESP8266-ot, javasoljuk, hogy olvasd el útmutatónkat:
Az ESP8266-chipet tartalmazó fejlesztői lapok széles választéka létezik, amelyek különböznek az elérhető GPIO-k számában, a méretben, a formafaktorban, stb…
A legelterjedtebb ESP8266 lapok az ESP-01, az ESP8266-12E NodeMCU Kit és a Wemos D1 Mini. Ezeknek a deszkáknak az összehasonlításához elolvashatja ezt az útmutatót: ESP8266 Wi-Fi Development Boards comparison.
ESP8266-01 Pinout
Ha ESP8266-01 lapot használ, akkor az alábbi GPIO diagramot használhatja referenciaként.
ESP8266 12-E NodeMCU készlet
Az ESP8266 12-E NodeMCU készlet pinout diagramja az alábbiakban látható.
Wemos D1 Mini pinout
A következő ábrán a WeMos D1 Mini pinout látható.
Download PDF with ESP8266 Pinout Diagrams
Összeállítottunk egy praktikus PDF-et, amelyet letölthet és kinyomtathat, hogy mindig maga mellett tudja tartani az ESP8266 diagramjait:
Download PDF Pinout Diagrams ”
ESP8266 Perifériák
Az ESP8266 perifériák közé tartoznak:
- 17 GPIO
- SPI
- I2C (szoftveresen implementálva)
- I2S interfészek DMA-val
- UART
- 10-…bit ADC
Best Pins to Use – ESP8266
Egy fontos dolog, amit észre kell venni az ESP8266 esetében, hogy a GPIO szám nem egyezik a kártya szitanyomatán lévő címkével. Például a D0 megfelel a GPIO16-nak, a D1 pedig a GPIO5-nek.
A következő táblázat mutatja a selyemképernyőn lévő címkék és a GPIO szám közötti megfelelést, valamint azt, hogy mely tűket érdemes használni a projektjeiben, és melyekkel kell óvatosnak lennie.
A zölddel kiemelt tűket nyugodtan használhatja. A sárgával kiemeltek OK használhatóak, de figyelni kell, mert főleg bootoláskor váratlan viselkedést mutathatnak. A pirossal kiemelt csapokat nem ajánlott bemenetként vagy kimenetként használni.
Címke | GPIO | Bemenet | Kimenet | Jegyzetek | ||
D0 | GPIO16 | nincs megszakítás | nincs PWM vagy I2C támogatás | HIGH indításkor mély alvásból való felébredésre |
||
D1 | GPIO5 | OK | OK | gyakran SCL-ként (I2C) | ||
D2 | GPIO4 | OK | OK | OK | OK | gyakran használt SDA (I2C) |
D3 | GPIO0 | felhúzva | OK | kapcsolva a FLASH gombhoz, a bootolás sikertelen, ha LOW | ||
D4 | GPIO2 | felhúzva | OK | HIGH a bootolásnál a fedélzeti LED-hez csatlakoztatva, boot sikertelen, ha LOW-ra húzza |
||
D5 | GPIO14 | OK | OK | SPI (SCLK) | ||
D6 | GPIO12 | OK | OK | SPI (MISO) | ||
D7 | GPIO13 | OK | OK | OK | SPI (MOSI) | |
D8 | GPIO15 | GND-re húzva | OK | SPI (CS) Boot sikertelen, ha HIGH-ra húzza |
||
RX | GPIO3 | OK | RX pin | HIGH a bootnál | ||
TX | GPIO1 | TX pin | OK | HIGH a bootnál debug output a bootnál, boot sikertelen, ha LOW-ra húzza |
||
A0 | ADC0 | Analog bemenet | X |
Az ESP8266 GPIO-k és funkcióik részletesebb és mélyebb elemzéséért olvass tovább.
Flash chiphez csatlakoztatott GPIO-k
Az ESP8266 lapokon a GPIO6-tól a GPIO11-ig terjedő GPIO-k általában a flash chiphez csatlakoznak. Tehát ezeket a csapokat nem ajánlott használni.
Bootolás közben használt csapok
Az ESP8266 nem tud bootolni, ha néhány csapot LOW vagy HIGH értékre húzunk. Az alábbi lista a következő pinek állapotát mutatja BOOT esetén:
- GPIO16: pin magas BOOTkor
- GPIO0: boot meghiúsul, ha LOW-ra húzza
- GPIO2: pin magas BOOTkor, boot meghiúsul, ha LOW-ra húzza
- GPIO15: boot meghiúsul, ha HIGH-ra húzza
- GPIO3: Pin magas a BOOT-on
- GPIO1: pin magas a BOOT-on, boot hiba, ha LOW-ra húzza
- GPIO10: pin magas a BOOT-on
- GPIO9: pin magas a BOOT-on
Pins HIGH at Boot
Vannak bizonyos pinek, amelyek 3.3V-os jelet adnak ki, amikor az ESP8266 bootol. Ez problémás lehet, ha ezekhez a GPIO-khoz relék vagy más perifériák vannak csatlakoztatva. A következő GPIO-k bootoláskor HIGH jelet adnak ki:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
Ezenkívül a többi GPIO, kivéve a GPIO5 és GPIO4, alacsony feszültségű jelet adhat ki indításkor, ami problémás lehet, ha ezek tranzisztorokhoz vagy relékhez csatlakoznak. Elolvashatja ezt a cikket, amely az egyes GPIO-k állapotát és viselkedését vizsgálja bootoláskor.
A GPIO4 és GPIO5 a legbiztonságosabban használható GPIO-k, ha reléket szeretne működtetni.
Analog bemenet
Az ESP8266 csak egy GPIO-n támogatja az analóg olvasást. Ezt a GPIO-t ADC0-nak hívják, és általában A0-ként van jelölve a selyemképernyőn.
Az ADC0 pin maximális bemeneti feszültsége 0 és 1V között van, ha az ESP8266 csupasz chipet használod. Ha olyan fejlesztői lapot használ, mint az ESP8266 12-E NodeMCU készlet, akkor a bemeneti feszültségtartomány 0 és 3,3V között van, mivel ezek a lapok tartalmaznak egy belső feszültségosztót.
Az alábbi útmutató segítségével megtanulhatja, hogyan használja az analóg leolvasást az ESP8266-tal:
- ESP8266 ADC – Analóg értékek olvasása Arduino IDE-vel, MicroPython és Lua segítségével
A fedélzeti LED
A legtöbb ESP8266 fejlesztői kártya beépített LED-del rendelkezik. Ez a LED általában a GPIO2-re van csatlakoztatva.
A LED invertált logikával működik. Küldjön HIGH jelet a kikapcsolásához, és LOW jelet a bekapcsolásához.
RST Pin
Az RST pin LOW-ra húzásakor az ESP8266 resetel. Ez megegyezik a fedélzeti RESET gomb megnyomásával.
GPIO0
A GPIO0 alacsonyra húzása esetén az ESP8266 bootloader módba kerül. Ez megegyezik a fedélzeti FLASH/BOOT gomb megnyomásával.
GPIO16
A GPIO16 használható az ESP8266 mély alvásból való felébresztésére. Az ESP8266 mély alvásból való felébresztéséhez a GPIO16-ot az RST pin-re kell csatlakoztatni. Ismerje meg, hogyan lehet az ESP8266-ot mélyalvó üzemmódba helyezni:
- ESP8266 Deep Sleep with Arduino IDE
- ESP8266 Deep Sleep with MicroPython
I2C
Az ESP8266 nem rendelkezik hardveres I2C csapokkal, de szoftveresen megvalósítható. Tehát bármilyen GPIO-t használhat I2C-ként. Általában a következő GPIO-kat használják I2C pineként:
- GPIO5: SCL
- GPIO4: SDA
SPI
Az ESP8266-ban SPI-ként használt pinek a következők:
- GPIO12: MISO
- GPIO13: MOSI
- GPIO14: SCLK
- GPIO15: CS
PWM Pins
ESP8266 lehetővé teszi a szoftveres PWM-et minden I/O pin-en: GPIO0-tól GPIO16-ig. Az ESP8266 PWM jelei 10 bites felbontásúak. Ismerje meg az ESP8266 PWM pinjeinek használatát:
- ESP8266 PWM with Arduino IDE
- ESP8266 PWM with MicroPython
Interrupt Pins
Az ESP8266 támogatja a megszakításokat bármely GPIO-n, kivéve a GPIO16-ot.
- ESP8266 Interrupts and Timers with Arduino IDE
Wrapping Up
Reméljük, hogy hasznosnak találtad ezt az útmutatót az ESP8266 GPIO-khoz. Ha van néhány tipped az ESP8266 GPIO-k megfelelő használatához, írj egy megjegyzést alább.
Az ESP32 GPIO-khoz is van egy hasonló útmutatónk, amit elolvashatsz.
Ha most kezded el használni az ESP8266-ot, van néhány nagyszerű tartalmunk, ami érdekelhet:
- Home Automation using ESP8266 (course)
- Getting Started with the ESP8266
- 30+ ESP8266 Projects and Tutorials
- ESP8266 Web Server Tutorial
- ESP32 vs ESP8266 – Pros and Cons
Köszönjük az olvasást.