Microcontrollers Lab

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-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.

.in LED, Hoog bij opstarten.

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: