Table of Contents
Deze tutorial gaat over pinout referentie van ESP8266 en verschillende types ESP8266 borden zoals Nodemcu, ESP01 , ESP12. Eerst zal ik het overzicht van ESP8266 IC en zijn pinout geven en daarna zal ik pinout verwijzing van populairste ESP8266 boards.
Esp8266 is een microchip in QFN pakket met mogelijkheden van zowel TCP/IP suite als microcontroller. Esp8266 levert hoogst geïntegreerde WiFi-oplossing die aan de behoeften van de Internet van Dingen industrieën zoals lage kosten, efficiënt machtsgebruik, betrouwbare prestaties, en compact ontwerp voldoet. Het wordt vervaardigd door Espressif Systems in Shanghai, China.
Hij beschikt over volledige WiFi-netwerkmogelijkheden en kan functioneren als een slaaf van een host-microcontroller of als een standalone toepassing. Wanneer wij de slaaf aan een gastheermicrocontroller zeggen betekent het het als WiFi-adapter aan om het even welke microcontroller kan gebruiken gebruikend SPI of UART interfaces. Terwijl het gebruiken als standalone het de mogelijkheden van microcontroller en WiFi networking.
Esp8266 is gebaseerd rond Tensilica’s L106 Diamond serie die 32-bit processor is en on-chip SRAM heeft. Integreert ook machtsmodules, rf-balun, rf-ontvanger en -zender, analoge ontvanger en zender, digitale basisband, versterker, filters, en een andere minimale componenten.
- Specificaties van ESP8266
- ESP8266 Spaanderout en Beschrijvingen
- Schema
- Pinout van verschillende soorten ESP8266 Modules
- ESP8266 12E Module Pinout
- ESP8266 12E Wemos D1 Mini pinout
- ESP8266 01 Module pinout
- ESP8266 12E NodeMCU Development Board pinout
- ESP8266 Peripherals
- Analoge ingang
- PWM Pins
- SPI-Spelden
- I2C-spelden
- Interrupt Pinnen
- Wake Up
- LED aan boord
- Reset en Flash knop
- Welke pin van ESP8266 te gebruiken
- ESP8266-pen Hoog- en Laag-voltagesignaal bij opstarten
- Pins Configuration during Boot
- Toepassingen van ESP8266
Specificaties van ESP8266
Esp8266-specificatie verdeelt in drie delen: Hardware, Software, en WiFi. In hardwarespecificatie, is zijn pakketgrootte QFN 32 spelden met een afmeting van 5mm x 5mm. De werkende voltages strekken zich van 2.5V uit aan 3.6V. De chip verbruikt gemiddeld 80 mA stroom. De CPU is Tensilica L106, een 32bit processor met on-chip SRAM. De perifere interface bevat UART, SDIO, SPI, I2C, I2S, IR afstandsbediening, GIPO’s, ADC, PWM, LED Light en button.
Its firmware kan worden bijgewerkt met behulp van OTA en UART. Het maakt gebruik van IPv4, TCP, UDP, en HTTP als netwerkprotocollen. De gebruiker kan configureren gebruikend de reeks van AT-bevelen, Cloud Server en het gebruiken van een mobiele application.
ESP8266 Spaanderout en Beschrijvingen
Speldlay-out van 32 speld QFN Package.
- Speld1: VDDA is een machtsspeld voor analoge machtswaaiers van 2.5V tot 3.6V.
- Speld2: LNA is een input/output speld die specifiek voor RF-antenneinterface wordt gebruikt. De spaander veroorzaakt impedantie van 39+j6 Ω.
- Speld3: VDD3P3 is een machtsspeld om versterkermachtswaaiers van 2.5V tot 3.6V.
- Speld4 te verstrekken: VDD3P3 is een machtsspeld verstrekt versterkervermogen waait van 2.5V tot 3.6V gelijkend op speld3.
- Speld5: VDD_RTC is gecategoriseerd als een power pin en levert 1.1V maar deze pin is niet aangesloten.
- Pin6: TOUT is een input pin functioneert als ADC pin om de voedingsspanningen van Pin3 en Pin4 en de ingangsspanningen van TOUT pin6 te testen. Deze twee functies kunnen niet gelijktijdig worden uitgevoerd.
- Pin7: CHIP_EN I een ingangspen. Als CHIP_EN pin HIGH is werkt de chip naar behoren, als LOW verbruikt de chip slechts een kleine hoeveelheid stroom.
- Pin8: XPD_DCDC is een input/output pin die wordt gebruikt om de chip uit de diepe slaapstand te wekken. Meestal is deze verbonden met GPIO16.
- Pin9: MTMS is een input/output pin gelabeld als GPIO14 en wordt in SPI gebruikt als clock pin (SPI_CLK).
- Pin10: MTDI is een input/output pin gelabeld als GPIO12 en wordt in SPI gebruikt als Master-In-Slave-Out pin (SPI_MISO).
- Pin11: VDDPST is een power pin. Het is een digitale input/output voeding waarvan de spanningen variëren van 1.8V tot 3.6V. Vergelijkbaar met pen 17.
- Pen12: MTCK is een ingang/uitgangspen gelabeld als GPIO13 en wordt gebruikt in SPI als Master-Out Slave-In pen (SPI_MOSI) en in UART als Clear To Send pen (UART_CTS).
- Pin13: MTDO is een input/output pin gelabeld als GPIO15 en wordt gebruikt in SPI als Chip Select pin (SPI_CS) en in UART als Request To Send pin (UART_RTS).
- Pin14: GPIO2 is een input/output pin die gebruikt wordt als UART TX tijdens flash programming.
- Pin15: GPIO0 is een input/output die gebruikt wordt als Chip Select pin2 in SPI (SPI_CS2).
- Pin16: GPIO4 is een input/output pin die puur gebruikt wordt voor input en output doeleinden.
- Pin17: VDDPST is een power pin. Het is een digitale input/output voeding waarvan de spanningen variëren van 1,8V tot 3,6V. Vergelijkbaar met pin11.
- Pin18: SDIO_DATA_2 is een input/output pin gelabeld als GPIO9 en wordt gebruikt om te verbinden met data pin 2 van de SD kaart.
- Pin19: SDIO_DATA_3 is een input/output pin gelabeld als GPIO10 en wordt gebruikt om te verbinden met data pin 3 van de SD kaart.
- Pin20: SDIO_CMD is een ingangs-/uitgangspen gelabeld als GPIO11 en wordt gebruikt om te verbinden met commando-pen van SD-kaart
- Pin21: SDIO_CLK is een ingangs-/uitgangspen gelabeld als GPIO6 en wordt gebruikt om te verbinden met de klokpen van SD-kaart.
- Pin22: SDIO_DATA_0 is een ingangs-/uitgangspen gelabeld als GPIO7 en wordt gebruikt om te verbinden met data pin 0 van de SD kaart.
- Pin23: SDIO_DATA_1 is een ingangs-/uitgangspen gelabeld als GPIO8 en wordt gebruikt om te verbinden met data pin 1 van de SD kaart.
- Pin24: GPIO5 is een input/output pin die puur gebruikt wordt voor input en output doeleinden.
- Pin25: U0RXD is een input/output pin gelabeld als GPIO3 en wordt gebruikt als UART RX tijdens flash programming.
- Pin26: U0TXD is een input/output pin gelabeld als GPIO1 en wordt gebruikt als UART TX tijdens flash programming. Tevens gebruikt als SPI Chip Select pin 1 (SPI_CS1).
- Pin27: XTAL_OUT is geclassificeerd als een input/output pin en verbonden met de output van de kristal oscillator.
- Pin28: XTAL_IN is geclassificeerd als een input/output pin en verbonden met de input van de kristal oscillator.
- Pin29: VDDD is een voedingsspeld die analoge stroom levert van 2,5V tot 3,6V.
- Pin30: VDDA is een voedingsspeld die analoge stroom levert van 2,5V tot 3,6V. Gelijkaardig aan pin29.
- Pin31: RES12K is een ingangspen die serieel verbonden is met 12 kΩ weerstanden en verbonden is met de ground.
- Pin32: EXT_RSBT is een ingangspen die gebruikt wordt om de chip te rusten door een extern resetsignaal te leveren dat actief is op een laag spanningsniveau.
- Pin33: GND is een voedingspin die fungeert als massa voor de chip.
Alle GPIO’s kunnen worden gebruikt als Input en Output pin, maar ze hebben ook hun specifieke functie.
Schema
ESP8266 schema’s bevatten de volgende componenten:
- Power supply
- Power-on sequence and reset
- Flash
- Crystal oscillator
- RF
- External resistor
- UART
Tot zover behandelen we Esp8266 preamble, functioneel blokschema, pins layout, beschrijving, en schema’s.
In augustus 2014 lanceerde Espressif Systems hun eerste ruwe module die door derde deel AI-Thinker wordt vervaardigd en module die als ESP-01 module wordt bedoeld. Sindsdien Ai-Thinker ontwikkelde een reeks van modules op basis van ESP8266, deze serie aangeduid als ESP-xx modules varieert van 01 tot 14.
Pinout van verschillende soorten ESP8266 Modules
In dit deel van het artikel, zullen we praten over pinout van verschillende versies van ESP8266 module te beginnen met ESP-01 tot ESP-12.
Espressif Systems vrijgegeven hun eerste officiële software development kit om de chip direct te programmeren zonder interfacing met een externe microcontroller. Sindsdien zijn er vele officiële SDK’s maar Espressif handhaaft slechts twee SDK’s stabiel één is gebaseerd op FreeRTOS en de andere op callbacks. Er is ook een verscheidenheid aan open source SDK’s voor ESP8266.
Arduino: is de meest gebruikte SDK vanwege zijn populariteit. Het is een C++ gebaseerde SDK. ESP6266 is eenvoudig te programmeren als Arduino boards. De core files zijn beschikbaar op GitHub.
NodeMCU: is een Lua gebaseerde software development kit.
MicroPython: is het gebruik van python taal voor embedded devices.
Espruino, Mongoose OS, uLisp, Sming, Platform IO, ESP Easy, Smick, ESP Open RTOS zijn enkele andere open source SDK’s.Deze ontwikkelborden zijn nodig omdat de ESP-xx moduleserie geen spanningsregelaar, USB naar UART brug zoals CH340G en Silicon Lab’s CP2102 en micro USB connector aan boord heeft. Vroeger moesten we de spanningsregelaar en de USB naar UART brug apart kopen en ze dan verbinden met de ESP-xx modules om ze te flashen.
Hier bespreken we vooral development board gebaseerd rond de ESP-12E module.
ESP8266 12E Module Pinout
Esp8266 12E module heeft een totaal van 22 pinnen die
No. van Pinnen | Pin Label | Beschrijving |
---|---|---|
17 | GPIO | GPIO pinnen variëren van GPIO0 tot GPIO16 omvat SPI, I2C, SDIO, UART interface pinnen. |
1 | ADC | 10 bit Analoog naar Digitaal Converter. |
1 | VCC | Voedingsspanning 3.3V |
1 | GND | Ground pin |
1 | RST | Rest Pin |
1 | Enable | Chip Enable Pin |
ESP8266 12E Wemos D1 Mini pinout
Wemos D1 Mini development board heeft een totaal van 16 pennen waarvan 12 pennen actief zijn, gebruikt ESP-12 module, het terugstellenknoop aan boord, 3.3 voltageregelgever, Micro USB, USB aan UART-brug en sommige andere componenten.
Nr. van
Pin |
Label | Beschrijving |
---|---|---|
1 | 3,3V | 3,3 volt pin |
1 | 5.0 | Input 5V voltage pin |
1 | GND | Ground pin |
1 | ADC | 10 bits analoog naar digitaal omzetter |
1 | RST | Reset Pin |
9 | D0 tot D8, | Input/output pinnen ook gebruikt voor SPI en I2C, Flash. |
2 | RX,TX | UART interface. |
ESP8266 01 Module pinout
ESP8266 01 Module is verschillend maar wordt vaak net zo gebruikt als de bovenstaande development boards. Deze raad is niet broodplank vriendschappelijk vaak wordt de afzonderlijke programmeringsmodule gebruikt voor programmering. Het heeft in totaal 8 pinnen waarvan 6 pinnen actief zijn.
Nr. van
Pin |
Label | Beschrijving |
---|---|---|
1 | 3.3V | Supply 3.3 volt pin |
1 | GND | Ground pin |
1 | RST | Reset-pen |
1 | CH_PD/EN | Chip Power en Enable-pen |
4 | GPIO 0 tot 3 | UART interface en input/output pinnen |
ESP8266 12E NodeMCU Development Board pinout
NodeMCU development board heeft een totaal van 30 pinnen waarvan 14 pinnen actief zijn, gebruikt ESP-12 module, het terugstellen en de flitsknoop aan boord, 3.3 spanningsregelaar, Micro USB, USB naar UART Bridge en enkele andere componenten.
Nr. van
Pin |
Label | Beschrijving |
---|---|---|
3 | 3.3V | 3.3 volt pinnen |
1 | Vin | Input 5V voltage pin |
4 | GND | Ground pinnen |
1 | ADC | 10 bit analoog naar digitaal omzetter |
1 | RST | Reset-pen |
1 | EN | Chip Enable-pen |
1 | CLK | CLK pin voor SPI en SDIO interface |
1 | SD0 | Data pin 0 voor SDIO en MISO pin voor SPI Interface. |
1 | CMD | Command-pen voor SDIO-interface en Chip select-pen voor SPI-interface. |
1 | SD1 | Data pin 1 voor SDIO interface en MOSI pin voor SPI Interface. |
1 | SD2 | Data pin 0 voor SDIO interface en tevens gebruikt als GPIO9. |
1 | SD3 | Data pin3 voor SDIO interface en tevens gebruikt als GPIO10. |
2 | RSV | Gereserveerde pinnen. |
11 | D0 tot D8, RX, TX | Input/output pinnen ook gebruikt voor UART, SPI, I2C, Flash en wake pin. |
ESP8266 Peripherals
De ESP8266 heeft de volgende peripherals:
- 17 ingangen/uitgangen voor algemene doeleinden
- Seriële perifere interface (SPI)
- Inter-geïntegreerd circuit (12C)
- Inter-IC geluidsinterfaces (12S) met directe geheugentoegang
- Universele asynchrone ontvanger-zenderinterface.
- 10-bit analoog naar digitaal omzetter
Analoge ingang
ESP8266 heeft een slechts één 10-bit analoog naar digitaal omzetter die wordt aangeduid als ADC0 en labels als A0. Maar dit is ook zijn één van het grootste nadeel omdat de gebruiker meestal twee sensoren moet aansluiten zodat wij afzonderlijke ADC modules, IC en multiplexing kring moeten kopen om twee of meer sensoren te interfacen maar dit is een onderwerp van een ander artikel.
Input analoge voltage van ESP-01 module gaat van 0 tot 1V. De ontwikkelingsraad die rond ESP-12E module wordt gebaseerd heeft analoge inputvoltage waaiers van 0 tot 3.3V. Dus we moeten in gedachten houden tijdens het schrijven van een sketch om A0 pin te gebruiken.
PWM Pins
De ESP8266 staat PWM toe in alle input/output pin van GPIO0 tot GPIO16. De PWM-signalen hebben 10-bits resoluties.
SPI-Spelden
Een Periodieke Programmeringsinterface (SPI) heeft volgende spelden in ESP8266
I2C-spelden
ESP8266 verstrekt slechts software I2C-interface het betekent wij om het even welke twee spelden voor I2C kunnen gebruiken maar volgende die meestal worden gebruikt spelden.
GPIO5 voor Seriële Klok Lijn (SCL)
GPIO4 voor Seriële Data Lijn (SDA)
Interrupt Pinnen
We kunnen elke GPIO pin gebruiken voor interrupts behalve GPIO16.
Wake Up
Om ESP8266 uit diepe slaap te wekken gebruiken we GPIO16 door deze met de RST pin te verbinden. Dit is een onderwerp voor een ander artikel.
LED aan boord
De meeste ontwikkel-boards hebben een of meer ingebouwde LED’s. De LED op de ESP8266 module is aangesloten op GPIO2 en de LED op het ontwikkelbord is aangesloten op GPIO16.
Reset en Flash knop
Door op de reset-knop te drukken of de RST pin laag te trekken wordt de ESP8266 chip gereset. Het indrukken van de Flash knop of het laag trekken van de GPIO0 zet de ESP8266 chip in bootloader mode.
Welke pin van ESP8266 te gebruiken
Houd er altijd rekening mee dat het GPIO label niet overeenkomt met het label op het zeefdruk scherm. Bijvoorbeeld GPIO0 komt overeen met D3 en D0 komt overeen met GPIO16. De GPIO’s met een groen vinkje kunt u het beste gebruiken.
Label | GPIO | Input | Output | Description | |||
---|---|---|---|---|---|---|---|
A0 | ADC0 | Analoge ingang | Nee | Voor analoge ingang van 0 tot 3.3v en geen output. | |||
RX | GPIO3 | Ja | RX pin alleen | Hoog bij Boot. | |||
TX | GPIO1 | Tx pin alleen | Ja | Hoog bij opstarten. | |||
D0 | GPIO16 | Geen interrupt | Geen I2C, PWM | Gebruikt om chip uit diepe slaap te wekken, Hoog bij opstarten. | |||
D1 | GPIO5 | Ja | Ja | Wordt vaak gebruikt als SCL | |||
D2 | GPIO4 | Ja | Ja | Wordt vaak gebruikt als SDA | |||
D3 | GPIO0 | Opgehaald | Ja | Geschakeld met Flash-knop | |||
D4 | GPIO2 | Toegepast | Ja | Geschakeld op ingebouwde LED | Toegepast | Ja | Geschakeld op ingebouwde LED |
D5 | GPIO14 | Ja | Ja | SCLK pen voor SPI interface | |||
D6 | GPIO12 | Ja | Ja | MISO pin voor SPI interface | |||
D7 | GPIO13 | Ja | Ja | MOSI-pen voor SPI-interface | |||
D8 | GPIO15 | Pulled to ground | Ja | CS-pen voor SPI-interface |
ESP8266-pen Hoog- en Laag-voltagesignaal bij opstarten
Tijdens het opstarten van ESP8266 leveren de volgende spelden 3.3v signaal op gespecificeerde spelden zodat het verbinden van relais, transistor of een andere perifere apparaten zich kan misdragen. De volgende pinnen geven een 3.3v signaal af bij het opstarten:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
Alle andere GPIOs pinnen geven een laag voltage af bij het opstarten, behalve GPIO4 en GPIO5. Dus de GPIO4 en GPIO5 zijn de beste pinnen om relais, transistor en andere randapparatuur aan te sluiten voor stabiele resultaten.
Pins Configuration during Boot
Om de ESP8266 succesvol op te starten moeten we de gespecificeerde pinnen verbieden om HIGH of LOW te worden.
- GPIO16: pin is hoog bij BOOT
- GPIO3: pin is hoog bij BOOT
- GPIO10: pin is hoog bij BOOT
- GPIO9: pin is hoog bij BOOT
- GPIO2: pin is hoog bij BOOT, boot failure indien LOW getrokken
- GPIO1: pin is hoog bij BOOT, boot failure indien LOW getrokken
- GPIO0: boot failure indien LOW getrokken
- GPIO15: boot failure if pulled HIGH
Toepassingen van ESP8266
- Home automation
- Smart plugs and switches
- Home appliances (zoals AC, Printer)
- Draadloze industriële besturing
- Sensor apparaten
- Draagbare gadgets
- IP camera’s
- Veiligheid ID tags
- Wi-Fi locatie-bewuste apparaten
- Wi-Fi positie systeem
Je zou ook eens kunnen kijken naar andere ESP8266 tutorials: