Mikrokontroller Lab

Innehållsförteckning

Denna handledning handlar om pinoutreferens för ESP8266 och olika typer av ESP8266-kort som Nodemcu, ESP01 , ESP12. Först kommer jag att ge en översikt över ESP8266 IC och dess pinout och efter det kommer jag att ge pinoutreferens för de mest populära ESP8266-korten.

Esp8266 är ett mikrochip i QFN-paket som har kapacitet för både TCP/IP-svit och mikrokontroller. Esp8266 levererar en högintegrerad WiFi-lösning som uppfyller behoven hos Internet of Things-industrierna, t.ex. låg kostnad, effektiv strömförbrukning, pålitlig prestanda och kompakt design. Den tillverkas av Espressif Systems i Shanghai, Kina.

Med fullständiga WiFi-nätverksfunktioner kan den fungera som en slav till en värdmikrokontroller eller som en fristående tillämpning. När vi säger slav till en värdmikrokontroller innebär det att den kan användas som WiFi-adapter till vilken mikrokontroller som helst som använder SPI- eller UART-gränssnitt. När den används som en fristående applikation kan den utföra mikrokontroller och WiFi-nätverk.

Esp8266 är baserad på Tensilicas L106 Diamond-serie som är en 32-bitars processor och har on-chip SRAM. Integrerar också kraftmoduler, RF-balun, RF-mottagare och -sändare, analog mottagare och sändare, digitalt basband, förstärkare, filter och några andra minimikomponenter.

Specifikationer för ESP8266

Esp8266-specifikationen är indelad i tre delar: Hårdvara, programvara och WiFi. I hårdvaruspecifikationen är dess förpackningsstorlek QFN 32pins med en dimension på 5mm x 5mm. Driftspänningarna sträcker sig från 2,5V till 3,6V. Chipet förbrukar i genomsnitt 80 mA ström. Processorn är Tensilica L106 som är en 32-bitars processor med SRAM på chipet. Det perifera gränssnittet innehåller UART, SDIO, SPI, I2C, I2S, IR-fjärrkontroll, GIPO:s, ADC, PWM, LED-lampor och knappar.

Dess fasta programvara kan uppdateras med hjälp av OTA och UART. Den använder IPv4, TCP, UDP och HTTP som nätverksprotokoll. Användaren kan konfigurera med hjälp av AT-kommandon, Cloud Server och med hjälp av en mobilapplikation.

ESP8266 Chip Pinout and Descriptions

Pin layout of 32-pin QFN Package.

  • Pin1: VDDA är en strömförsörjningsnål för analoga strömförsörjningsområden från 2,5V till 3,6V.
  • Pin2: LNA är en ingångs-/utgångsstift som särskilt används för gränssnittet för RF-antenner. Chipet producerar en impedans på 39+j6 Ω.
  • Pin3: VDD3P3 är en kraftstift för att tillhandahålla förstärkarkraftområden från 2,5V till 3,6V.
  • Pin4: VDD3P3 är en kraftstift för att ge förstärkare kraft från 2,5V till 3,6V, liknande pin3.
  • Pin5: Pin5 är en kraftstift för att ge förstärkare kraft från 2,5V till 3,6V, liknande pin3.
  • VDD_RTC kategoriseras som en strömförsörjningsnål och levererar 1,1 V, men denna nål är inte ansluten.
  • Pin6: TOUT är en ingångsnål som fungerar som ADC-nål för att testa matningsspänningarna för Pin3 och Pin4 och ingångsspänningarna för TOUT-nål6. Dessa två funktioner kan inte utföras samtidigt.
  • Pin7: CHIP_EN I en ingångsstift. När CHIP_EN-stiftet är HIGH fungerar chipet som det ska när det är LOW förbrukar chipet endast en liten mängd ström.
  • Stift 8: XPD_DCDC är ett ingångs-/utgångsstift som används för att väcka chipet från djupt viloläge. Vanligtvis är den ansluten till GPIO16.
  • Stift9: MTMS är en ingångs-/utgångsstift märkt som GPIO14 och används i SPI som klockstift (SPI_CLK).
  • Stift10: MTDI är en ingångs-/utgångsstift märkt som GPIO12 och används i SPI som Master-In-Slave-Out-stift (SPI_MISO).
  • Stift11: VDDPST är ett kraftstift. Det är en digital in-/utgångsströmförsörjning vars spänningar sträcker sig från 1,8V till 3,6V. Liknar pin17.
  • Pin12: MTCK är en ingångs-/utgångspinne märkt som GPIO13 och används i SPI som Master-Out Slave-In pin (SPI_MOSI) samt i UART som Clear To Send pin (UART_CTS).
  • Pin13: MTDO är en ingångs-/utgångspinne märkt som GPIO15 och används i SPI som Chip Select-pinne (SPI_CS) samt i UART som Request To Send-pinne (UART_RTS).
  • Pin14: GPIO2 är en ingångs-/utgångsstift som används som UART TX under flashprogrammering.
  • Pin15: GPIO0 är en ingångs-/utgångsstift som används som Chip Select-stift2 i SPI (SPI_CS2).
  • Pin16: GPIO4 är en ingångs-/utgångsstift som används rent för inmatnings- och utmatningssyften.
  • Pin17: VDDPST är en strömförsörjningstift. Det är en digital in-/utgångsströmförsörjning vars spänningar sträcker sig från 1,8V till 3,6V. Liknar pin11.
  • Pin18: SDIO_DATA_2 är en ingångs-/utgångspinne märkt som GPIO9 och används för att ansluta till datapinne 2 på SD-kortet.
  • Pin19: SDIO_DATA_3 är en ingångs-/utgångspinne märkt som GPIO10 och används för att ansluta till datapinne 3 på SD-kortet.
  • Pin20: SDIO_CMD är en ingångs-/utgångsstift märkt som GPIO11 och används för att ansluta till SD-kortets kommandostift
  • Pin21: SDIO_CLK är en ingångs-/utgångsstift märkt som GPIO6 och används för att ansluta till SD-kortets klockstift.
  • Pin22: SDIO_DATA_0 är en ingångs-/utgångsstift märkt som GPIO7 och används för att ansluta till SD-kortets datapinne 0.
  • Pin23: SDIO_DATA_1 är en ingångs-/utgångsstift märkt som GPIO8 och används för att ansluta till SD-kortets datapinne 1.
  • Pin24: GPIO5 är en ingångs-/utgångsstift som används enbart för in- och utgångssyften.
  • Pin25: U0RXD är en ingångs-/utgångsstift märkt som GPIO3 och används som UART RX under flashprogrammering.
  • Pin26: U0TXD är en ingångs-/utgångsstift märkt som GPIO1 och används som UART TX under flashprogrammering. Används även som SPI Chip Select pin 1 (SPI_CS1).
  • Pin27: XTAL_OUT är klassificerad som en ingångs-/utgångspin och ansluten till kristalloscillatorns utgång.
  • Pin28: XTAL_IN är klassificerad som en ingångs-/utgångspin och ansluten till kristalloscillatorns ingång.
  • Pin29: VDDD är en strömförsörjningsnål som ger analog ström från 2,5V till 3,6V.
  • Pin30: VDDA är en strömförsörjningsnål som ger analog ström från 2,5V till 3,6V. Liknande som stift29.
  • Stift31: RES12K är ett ingångsstift som är seriekopplat med 12 kΩ-motstånd och anslutet till jord.
  • Stift32: EXT_RSBT är ett ingångsstift som används för att vila chippet genom att tillhandahålla en extern återställningssignal som är aktiv vid en låg spänningsnivå.
  • Pin33: GND är en kraftstift som fungerar som jord för chipet.

Alla GPIO:er kan användas som ingångs- och utgångsstift, men de har också sin specifika funktion.

Schema

ESP8266-schemat innehåller följande komponenter:

  • Spänningsförsörjning
  • Strömbrytningssekvens och återställning
  • Flash
  • Kristalloscillator
  • RF
  • Externt motstånd
  • UART

Så här långt har vi behandlat Esp8266:s preambel, funktionellt blockdiagram, layout av pinnar, beskrivning och scheman.

I augusti 2014 lanserade Espressif Systems sin första råmodul som tillverkas av tredje part AI-Thinker och modulen kallas ESP-01-modul. Sedan dess har Ai-Thinker utvecklat en serie moduler baserade på ESP8266, denna serie kallad ESP-xx-moduler sträcker sig från 01 till 14.

Pinout av olika typer av ESP8266-moduler

I det här avsnittet av artikeln kommer vi att prata om pinout av olika versioner av ESP8266-moduler med början från ESP-01 till ESP-12.

Espressif Systems släppte sitt första officiella mjukvaruutvecklings-kit för att programmera chippet direkt utan att behöva interagera med en extern mikrokontroller. Sedan dess finns det många officiella SDK:er men Espressif har endast två SDK:er som är stabila, en som bygger på FreeRTOS och en som bygger på callbacks. Det finns också en mängd SDK med öppen källkod för ESP8266.

Arduino: är det mest använda SDK:et på grund av sin popularitet. Det är ett C++-baserat SDK. ESP6266 är lätt att programmera som Arduino-kort. Kärnfilerna finns tillgängliga på GitHub.

NodeMCU: är ett Lua-baserat programvaruutvecklingskit.

MicroPython: är användningen av pythonspråket för inbyggda enheter.

Espruino, Mongoose OS, uLisp, Sming, Platform IO, ESP Easy, Smick, ESP Open RTOS är några andra SDK:er med öppen källkod.Behovet av dessa utvecklingskort är nödvändigt på grund av att ESP-xx-modulserien saknar inbyggd spänningsregulator, USB- till UART-brygga som CH340G och Silicon Lab’s CP2102 och mikro-USB-kontakt. Tidigare var vi tvungna att köpa spänningsregulatorn och USB- till UART-bryggan separat och sedan koppla ihop dem med ESP-xx-moduler för att flasha dem.

Här kommer vi att diskutera de flesta utvecklingskort som är baserade på ESP-12E-moduler.

ESP8266 12E-modulens pinout

Esp8266 12E-modulen har totalt 22 stift som inkluderar

.

Nr. Pins Pin Label Beskrivning
17 GPIO GPIO-pins från GPIO0 till GPIO16 inkluderar SPI-, I2C-, SDIO- och UART-gränssnittspins.
1 ADC 10 bitars analog till digital omvandlare.
1 VCC Spänning 3.3V
1 GND Massapinne
1 RST Rest Pin
1 Aktivera Chip Enable Pin

ESP8266 12E Wemos D1 Mini pinout

Wemos D1 Mini utvecklingskortet har totalt 16 stift där 12 stift är aktiva, använder ESP-12-modulen, inbyggd återställningsknapp, 3.3 spänningsregulator, Micro USB, USB till UART-brygga och några andra komponenter.

Nr. of

Pin

Label Beskrivning
1 3.3V 3.3 volts pin
1 5.0 Input 5V spänning pin
1 GND Ground pin
1 ADC 10 bitars analog till digital omvandlare
1 RST Reset Pin
9 D0 till D8, Input/output-stift som också används för SPI och I2C, Flash.
2 RX,TX UART-gränssnitt.

ESP8266 01 Module pinout

ESP8266 01 Module är annorlunda, men används vanligen lika mycket som ovanstående utvecklingskort. Detta kort är inte breadboardvänligt ofta används separat programmeringsmodul för programmering. Den har totalt 8 stift där 6 stift är aktiva.

Nr av

Stift

Märke Beskrivning
1 3,3V Försörjning 3.3 volt stift
1 GND Massa stift
1 RST Reset-pin
1 CH_PD/EN Chip Power and Enable-pin
4 GPIO 0 till 3 UART-gränssnitt och ingångs-/utgångsstift

ESP8266 12E NodeMCU-utvecklingskortets pinout

NodeMCU-utvecklingskortet har sammanlagt 30 stift där 14 stift är aktiva, använder ESP-12-modulen, inbyggd reset- och flash-knapp, 3.3 spänningsregulator, Micro USB, USB till UART Bridge och några andra komponenter.

Nr av

Pin

Märkning Beskrivning
3 3.3V 3.3 volts stift
1 Vin Input 5V spänningsstift
4 GND Ground stift
1 ADC 10 bitars analog till digital omvandlare
1 RST Reset Pin
1 EN Chip Enable Pin
1 CLK CLK Stift för SPI- och SDIO-gränssnitt
1 SD0 Datastift 0 för SDIO och MISO-stift för SPI-gränssnitt.
1 CMD Kommandopinne för SDIO-gränssnittet och chip select-pinne för SPI-gränssnittet.
1 SD1 Datastift 1 för SDIO-gränssnittet och MOSI-stift för SPI-gränssnittet.
1 SD2 Datastift 0 för SDIO-gränssnittet och används även som GPIO9.
1 SD3 Datastift 3 för SDIO-gränssnitt och används även som GPIO10.
2 RSV Reserverade stift.
11 D0 till D8, RX, TX Input/output-stift används även för UART, SPI, I2C, Flash och wake-stift.

ESP8266 Periferier

ESP8266 har följande periferier:

  • 17 allmänna ingångs- och utgångspinnar för allmänna ändamål
  • Seriellt perifert gränssnitt (SPI)
  • Interintegrerad krets (12C)
  • Inter-IC-ljudgränssnitt (12S) med direkt minnesåtkomst
  • Universellt gränssnitt för asynkron mottagare och sändare.
  • 10-bitars analog till digital omvandlare

Analog ingång

ESP8266 har endast en 10-bitars analog till digital omvandlare som kallas ADC0 och betecknas som A0. Men detta är också en av de största nackdelarna eftersom användaren oftast måste ansluta två sensorer, så vi måste köpa separata ADC-moduler, IC och multiplexeringskretsar för att koppla ihop två eller flera sensorer, men detta är ett ämne för en annan artikel.

En analog ingångsspänning för ESP-01-modulen sträcker sig från 0 till 1V. Utvecklingskort baserade på ESP-12E-modulen har en analog ingångsspänning som sträcker sig från 0 till 3,3 V. Så vi måste tänka på när vi skriver en skiss för att använda A0-stiftet.

PWM-stift

ESP8266 tillåter PWM i alla ingångs-/utgångsstift från GPIO0 till GPIO16. PWM-signalerna har 10-bitars upplösning.

SPI-stift

Ett seriellt programmeringsgränssnitt (SPI) har följande stift i ESP8266

I2C-stift

ESP8266 tillhandahåller endast ett mjukvaru- I2C-gränssnitt, vilket innebär att vi kan använda två valfria stift för I2C men följande stift används oftast.

GPIO5 för Serial Clock Line (SCL)

GPIO4 för Serial Data Line (SDA)

Interrupt Pins

Vi kan använda vilken GPIO-stift som helst för avbrott utom GPIO16.

Wake Up

För att väcka ESP8266 från djupt viloläge använder du GPIO16 genom att ansluta den till RST-stiftet. Detta är ett ämne för en annan artikel.

On board LED

De flesta utvecklingskort har en eller flera inbyggda lysdioder. Den lysdiod som är byggd på ESP8266-modulen är ansluten till GPIO2 och den lysdiod som är byggd på utvecklingskortet är ansluten till GPIO16.

Återställningsknapp och flashknapp

Den som trycker på återställningsknappen eller drar RST-stiftet lågt återställer ESP8266-chipet. Genom att trycka på Flash-knappen eller dra GPIO0 lågt sätts ESP8266-chipet i bootloader-läge.

Vilken stift på ESP8266 som ska användas

Håll alltid i minnet att GPIO-etiketten inte stämmer överens med etiketten på silkscreen. GPIO0 motsvarar till exempel D3 och D0 motsvarar GPIO16. GPIOs med ett grönt kryss är bäst att använda.

Label GPIO Input Output Description
A0 ADC0 Analog ingång Nej För analog ingång från 0 till 3.3v och ingen utgång.
RX GPIO3 Ja Endast RX-stift Hög vid start.
TX GPIO1 Tx-stift endast Ja Hög vid start.
D0 GPIO16 Ingen avbrott Ingen I2C, PWM Används för att väcka chipet från djupsömn, hög vid start.
D1 GPIO5 Ja Ja Ofta används som SCL
D2 GPIO4 Ja Ja Ofta används som SDA
D3 GPIO0 Har dragits upp Ja Anslutit till Flash-knappen
D4 GPIO2 Togs upp Ja ansluten till inbyggd-inbyggd lysdiod, Hög vid uppstart.
D5 GPIO14 Ja Ja SCLK-stift för SPI-gränssnittet
D6 GPIO12 Ja Ja MISO-stift för SPI-gränssnitt
D7 GPIO13 Ja Ja MOSI-stift för SPI-gränssnitt
D8 GPIO15 Pulled to ground Yes CS-stift för SPI-gränssnitt

ESP8266-stift High och Low-spänningssignal vid uppstart

Under uppstart av ESP8266 ger följande stift 3.3v-signal på angivna stift så att anslutande reläer, transistorer eller andra perifera enheter kan misskötas. Följande stift ger 3,3v-signal vid uppstart:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Alla andra GPIO-stift ger lågspänning vid uppstart utom GPIO4 och GPIO5. Så GPIO4 och GPIO5 är de bästa stiften för att ansluta reläer, transistorer och andra perifera enheter till stabila resultat.

Stiftens konfiguration under uppstart

För att starta upp ESP8266 framgångsrikt måste vi förbjuda de angivna stiften att få HÖG eller LÅG.

  • GPIO16: pin är hög vid BOOT
  • GPIO3: pin är hög vid BOOT
  • GPIO10: pin är hög vid BOOT
  • GPIO9: pin är hög vid BOOT
  • GPIO2: GPIO1: stift är hög vid BOOT, bootfel om den dras LOW
  • GPIO1: stift är hög vid BOOT, bootfel om den dras LOW
  • GPIO0: bootfel om den dras LOW
  • GPIO15: stift är hög vid BOOT, bootfel om den dras LOW
  • GPIO15: stift är hög vid BOOT, bootfel om den dras LOW:

Tillämpningar för ESP8266

  • Hemautomatisering
  • Smarta kontakter och strömbrytare
  • Hemutrustning (som AC, Printer)
  • Trådlös industriell styrning
  • Sensorenheter
  • Varningsbara prylar
  • IP-kameror
  • Säkerhets-ID-taggar
  • Wi-Fi platsmedvetna enheter
  • Wi-Fi positionssystem

Du kanske också vill ta en titt på andra ESP8266-handledningar: