Tämä artikkeli on opas ESP8266:n GPIO-piireistä: pinout-kaaviot, niiden toiminnot ja niiden käyttö.
Espa8266 12-E -sirussa on 17 GPIO-nastaa. Kaikki GPIO:t eivät ole näkyvissä kaikissa ESP8266-kehitysalustoissa, joidenkin GPIO:iden käyttöä ei suositella ja toisilla on hyvin spesifisiä toimintoja.
Tämän oppaan avulla opit käyttämään ESP8266:n GPIO:ita oikein ja vältät tuntikausia kestäneen turhautumisen käyttämällä projekteihisi sopivimpia pinnejä.
Meillä on myös opas ESP32:n GPIO:ita varten: ESP32:n Pinout Reference: Which GPIO pins should you use?
ESP8266 12-E Chip Pinout
Oheinen kuva havainnollistaa ESP8266 12-E -piirin pinoutia. Käytä tätä kaaviota, jos käytät projekteissasi pelkkää ESP8266-sirua.
Huomaa: kaikkiin GPIO-piireihin ei pääse käsiksi kaikilla kehitysalustoilla, mutta jokainen tietty GPIO toimii samalla tavalla käyttämästäsi kehitysalustasta riippumatta. Jos olet vasta aloittamassa ESP8266:n käyttöä, suosittelemme lukemaan oppaamme:
Tällä hetkellä ESP8266-sirulla varustettuja kehitysalustoja on monenlaisia, ja ne eroavat toisistaan käytettävissä olevien GPIO:iden lukumäärän, koon, muotokertoimen jne…
Yleisimmin käytetyt ESP8266-alustat ovat ESP-01, ESP8266-12E NodeMCU Kit ja Wemos D1 Mini. Näiden piirilevyjen vertailua varten voit lukea tämän oppaan: ESP8266 Wi-Fi Development Boards comparison.
ESP8266-01 Pinout
Jos käytät ESP8266-01-piirilevyä, voit käyttää viitteenä seuraavaa GPIO-kaaviota.
ESP8266 12-E NodeMCU Kit
ESP8266 12-E NodeMCU Kitin pinout-kaavio on esitetty alla.
Wemos D1 Mini Pinout
Seuraavassa kuviossa on esitetty WeMos D1 Mini:n pinout.
Lataa PDF-tiedosto ESP8266:n pinout-kaavioista
Olemme koonneet kätevän PDF-tiedoston, jonka voit ladata ja tulostaa, jotta ESP8266:n kaaviot ovat aina vieressäsi:
Lataa PDF-tiedosto pinout-kaavioista ”
ESP8266:n oheislaitteita
ESP8266:n oheislaitteisiin kuuluvat:
- 17 GPIO:ta
- SPI
- I2C (toteutettu ohjelmistolla)
- I2S-liitännät DMA:lla
- UART
- 10-bit ADC
Best Pins to Use – ESP8266
Yksi tärkeä asia ESP8266:ssa on se, että GPIO-numero ei vastaa piirilevyn silkkikuvassa olevaa merkintää. Esimerkiksi D0 vastaa GPIO16:ta ja D1 vastaa GPIO5:tä.
Seuraavasta taulukosta näet silkkiruudussa olevien merkintöjen ja GPIO-numeron vastaavuuden sekä sen, mitä nastoja kannattaa käyttää projekteissasi ja mitkä ovat varovaisia.
Vihreällä korostetut nastat ovat OK käytettäväksi. Keltaisella korostetut ovat OK käyttää, mutta sinun on oltava tarkkana, koska ne saattavat käyttäytyä odottamattomasti lähinnä käynnistyksen aikana. Punaisella korostettuja nastoja ei suositella käytettäväksi tuloina tai lähtöinä.
Label | GPIO | Sisääntulo | Tulostus | Lähtö | Huomautukset | |
D0 | GPIO16 | ei keskeytystä | ei PWM- tai I2C-tukea | HIGH käynnistyksen yhteydessä käytetään heräämiseen syvästä unesta |
||
D1 | GPIO5 | OK | OK | käytetään usein SCL:nä (I2C) | ||
D2 | GPIO4 | OK | OK | OK | OK | käytetään usein SDA:na (I2C) |
D3 | GPIO0 | vedetään ylös | OK | kytketään FLASH-painikkeeseen, käynnistys epäonnistuu, jos vedetään LOW | ||
D4 | GPIO2 | vedetään ylös | OK | HIGH käynnistyksen yhteydessä kytketty piirilevyn LEDiin, käynnistys epäonnistuu, jos se vedetään LOW |
||
D5 | GPIO14 | OK | OK | SPI (SCLK) | ||
D6 | GPIO12 | OK | OK | SPI (MISO) | ||
D7 | GPIO13 | OK | OK | K | SPI (MOSI) | |
D8 | GPIO15 | vedetään GND:hen | OK | SPI (CS) Boot ei onnistu, jos vedetään HIGH |
||
RX | GPIO3 | OK | RX-pin | HIGH käynnistyksessä | ||
TX | GPIO1 | TX-pin | OK | HIGH käynnistyksessä debug-ulostulo käynnistyksessä, käynnistys epäonnistuu, jos se vedetään LOW |
||
A0 | ADC0 | Analogitulo | X |
Jatka lukemista, niin saat yksityiskohtaisemman ja syvällisemmän analyysin ESP8266:n GPIO-piireistä ja niiden toiminnoista.
Flash-siruun liitetyt GPIO:t
GPIO6-GPIO11 liitetään yleensä ESP8266-levyissä flash-siruun. Näitä nastoja ei siis suositella käytettäväksi.
Käynnistyksen aikana käytettävät nastat
Esp8266:n käynnistyminen voidaan estää, jos jotkin nastat vedetään LOW tai HIGH. Seuraavassa luettelossa näkyy seuraavien nastojen tila BOOTin aikana:
- GPIO16: nasta on korkea BOOTissa
- GPIO0: käynnistyksen epäonnistuminen, jos vedetään LOW
- GPIO2: nasta on korkea BOOTissa, käynnistyksen epäonnistuminen, jos vedetään LOW
- GPIO15: käynnistyksen epäonnistuminen, jos vedetään HIGH
- GPIO3: tappi on korkea BOOTissa
- GPIO1: tappi on korkea BOOTissa, käynnistysvika, jos vedetään LOW
- GPIO10: tappi on korkea BOOTissa
- GPIO9: tappi on korkea BOOTissa
Nastat korkealla BOOTissa
Tietyissä nastoissa, jotka antavat ulostuloa 3.3V-signaalin, kun ESP8266 käynnistyy. Tämä voi olla ongelmallista, jos näihin GPIO-piireihin on kytketty releitä tai muita oheislaitteita. Seuraavat GPIO:t antavat HIGH-signaalin käynnistyksen yhteydessä:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
Lisäksi muut GPIO:t, GPIO5:tä ja GPIO4:ää lukuunottamatta, voivat antaa matalajännitesignaalin käynnistyksen yhteydessä, mikä voi olla ongelmallista, jos nämä on kytketty transistoreihin tai releisiin. Voit lukea tämän artikkelin, jossa tutkitaan kunkin GPIO:n tilaa ja käyttäytymistä käynnistyksen yhteydessä.
GPIO4 ja GPIO5 ovat turvallisimmat käytettävät GPIO:t, jos haluat käyttää releitä.
Analoginen tulo
ESP8266 tukee analogista lukemista vain yhdessä GPIO:ssa. Tuota GPIO:ta kutsutaan ADC0:ksi ja se on yleensä merkitty silkkipaperiin merkinnällä A0.
AdC0-pinin maksimitulojännite on 0-1V, jos käytät ESP8266:n paljasta sirua. Jos käytät kehityslevyä, kuten ESP8266 12-E NodeMCU-kittiä, jännitteen tuloalue on 0-3,3V, koska näissä levyissä on sisäinen jännitteen jakaja.
Voit oppia käyttämään analogista lukemista ESP8266:lla seuraavan oppaan avulla:
- ESP8266 ADC – Analogisten arvojen lukeminen Arduino IDE:llä, MicroPythonilla ja Lua:lla
Ohjelmalla oleva LED
Vähemmistössä ESP8266-kehitysalustoista on sisäänrakennettu LED. Tämä LED on yleensä kytketty GPIO2:een.
LED toimii käänteisellä logiikalla. Lähetä HIGH-signaali kytkeäksesi sen pois päältä ja LOW-signaali kytkeäksesi sen päälle.
RST-piikki
Kun RST-piikki vedetään LOW, ESP8266 nollautuu. Tämä on sama kuin painaisi sisäänrakennettua RESET-painiketta.
GPIO0
Kun GPIO0 vedetään LOW, se asettaa ESP8266:n käynnistyslataustilaan. Tämä on sama kuin painaisi sisäänrakennettua FLASH/BOOT-painiketta.
GPIO16
GPIO16:lla voidaan herättää ESP8266 syvästä lepotilasta. ESP8266:n herättämiseksi syvästä lepotilasta GPIO16 on kytkettävä RST-pinniin. Opi, miten ESP8266 laitetaan syvään lepotilaan:
- ESP8266 Deep Sleep with Arduino IDE
- ESP8266 Deep Sleep with MicroPython
I2C
ESP8266:ssa ei ole laitteistokohtaisia I2C-piikkejä, mutta se voidaan toteuttaa ohjelmallisesti. Voit siis käyttää mitä tahansa GPIO:ta I2C:nä. Yleensä seuraavia GPIOja käytetään I2C-pinneinä:
- GPIO5: SCL
- GPIO4: SDA
SPI
ESP8266:ssa SPI:nä käytettävät nastat ovat:
- GPIO12: MISO
- GPIO13: MOSI
- GPIO14: SCLK
- GPIO15: CS
PWM-pinnit
ESP8266 sallii ohjelmallisen PWM:n kaikissa I/O-pinneissä: GPIO0-GPIO16. ESP8266:n PWM-signaalien resoluutio on 10-bittinen. Opi käyttämään ESP8266:n PWM-nastoja:
- ESP8266 PWM with Arduino IDE
- ESP8266 PWM with MicroPython
Keskeytysnastat
ESP8266 tukee keskeytyksiä missä tahansa GPIO:ssa GPIO16:ta lukuun ottamatta.
- ESP8266:n keskeytykset ja ajastimet Arduino IDE:llä
Pakkaaminen
Toivomme, että tämä opas ESP8266:n GPIO-piireistä oli sinulle hyödyllinen. Jos sinulla on vinkkejä ESP8266 GPIOjen oikeaan käyttöön, voit kirjoittaa kommentin alle.
Meillä on myös samanlainen opas ESP32 GPIOille, jonka voit lukea.
Jos olet aloittamassa ESP8266:n käyttöä, meillä on muutama hyvä sisältö, josta saatat olla kiinnostunut:
- 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
Kiitos lukemisesta.