Mikrokontrollers Lab

Sisällysluettelo

Tämä opetusohjelma on noin pinout viite ESP8266 ja erityyppisiä ESP8266 levyt kuten Nodemcu, ESP01 , ESP12. Ensin annan yleiskatsauksen ESP8266 IC: stä ja sen pinoutista ja sen jälkeen annan pinout-referenssin suosituimmista ESP8266-levyistä.

Esp8266 on mikrosiru QFN-paketissa, jolla on sekä TCP / IP-sarjan että mikrokontrollerin ominaisuudet. Esp8266 tarjoaa pitkälle integroidun WiFi-ratkaisun, joka vastaa esineiden internetin teollisuuden tarpeisiin, kuten alhaisiin kustannuksiin, tehokkaaseen virrankäyttöön, luotettavaan suorituskykyyn ja pieneen kokoonpanoon. Sen valmistaa Espressif Systems Shanghaissa, Kiinassa.

Täydelliset WiFi-verkko-ominaisuudet omaava laite voi toimia isäntämikrokontrollerin orjana tai itsenäisenä sovelluksena. Kun sanomme orja isäntä-mikrokontrollerille, se tarkoittaa, että sitä voidaan käyttää WiFi-sovittimena mihin tahansa mikrokontrolleriin, joka käyttää SPI- tai UART-liitäntöjä. Kun sitä käytetään itsenäisenä sovelluksena, se voi suorittaa mikrokontrollerin ja WiFi-verkon ominaisuudet.

Esp8266 perustuu Tensilican L106 Diamond -sarjaan, joka on 32-bittinen prosessori ja jossa on on-chip SRAM. Sisältää myös tehomoduulit, RF-balunin, RF-vastaanottimen ja lähettimen, analogisen vastaanottimen ja lähettimen, digitaalisen peruskaistan, vahvistimen, suodattimet ja joitain muita minimaalisia komponentteja.

ESP8266:n tekniset tiedot

Esp8266:n tekniset tiedot jakautuvat kolmeen osaan: Laitteisto, ohjelmisto ja Wi-Fi. Laitteistomäärittelyssä sen pakkauskoko on QFN 32 pinniä, jonka ulottuvuus on 5 mm x 5 mm. Käyttöjännitteet vaihtelevat 2,5V ja 3,6V välillä. Siru kuluttaa keskimäärin 80mA virtaa. Sen CPU on Tensilica L106, joka on 32-bittinen prosessori, jossa on piirin SRAM. Oheislaiteliitäntä sisältää UART:n, SDIO:n, SPI:n, I2C:n, I2S:n, IR-kaukosäätimen, GIPO:n, ADC:n, PWM:n, LED-valon ja painikkeen.

Sen laiteohjelmisto voidaan päivittää OTA:n ja UART:n avulla. Se käyttää IPv4-, TCP-, UDP- ja HTTP-verkkoprotokollia. Käyttäjä voi konfiguroida käyttämällä AT-komentosarjaa, pilvipalvelinta ja käyttämällä mobiilisovellusta.

ESP8266-sirun nastajärjestys ja kuvaukset

Nastojen asettelu 32-nastaisessa QFN-paketissa.

  • Nasta1: VDDA on virtapinni analogista virtaa varten, jonka teho vaihtelee välillä 2,5V – 3,6V.
  • Nasta2: LNA on tulo-/lähtötappi, jota käytetään erityisesti RF-antenniliitäntää varten. Siru tuottaa impedanssin 39+j6 Ω.
  • Pin3: VDD3P3 on virtapinni vahvistimen tehoalueille 2,5V – 3,6V.
  • Pin4: VDD3P3 on virtapinni, joka tarjoaa vahvistimen tehon vaihtelee 2,5V – 3,6V välillä samanlaisena kuin pin3.
  • Pin5: VDD_RTC on luokiteltu virtapinniksi ja toimittaa 1,1 V, mutta tämä tappi ei ole kytketty.
  • Pin6: TOUT on tulopinni, joka toimii ADC-pinninä, jolla testataan Pin3: n ja Pin4: n syöttöjännitteitä ja TOUT-pin6: n tulojännitteitä. Näitä kahta toimintoa ei voi suorittaa samanaikaisesti.
  • Pin7: CHIP_EN I tulopinni. Kun CHIP_EN pin on HIGH siru toimii kunnolla, kun LOW siru kuluttaa vain pienen määrän virtaa.
  • Pin8: XPD_DCDC on tulo-/lähtöpin, jota käytetään sirun herättämiseen syvästä lepotilasta. Yleensä se on kytketty GPIO16:een.
  • Pin9: MTMS on tulo-/lähtötappi, joka on merkitty GPIO14:ksi, ja sitä käytetään SPI:ssä kellotapina (SPI_CLK).
  • Pin10: MTDI on tulo-/lähtötappi, joka on merkitty GPIO12:ksi, ja sitä käytetään SPI:ssä Master-In-Slave-Out-tappina (SPI_MISO).
  • Pin11: VDDPST on virtatappi. Se on digitaalinen tulo/lähtö-virtalähde, jonka jännitteet vaihtelevat 1,8V ja 3,6V välillä. Samanlainen kuin pin17.
  • Pin12: MTCK on tulo-/lähtöliitäntä, joka on merkitty nimellä GPIO13, ja sitä käytetään SPI:ssä Master-Out Slave-In -liitäntänä (SPI_MOSI) sekä UART:ssa Clear To Send -liitäntänä (UART_CTS).
  • Pin13: MTDO on tulo-/lähtöliitin, joka on merkitty nimellä GPIO15, ja sitä käytetään SPI:ssä sirunvalintapinninä (SPI_CS) sekä UART:ssa lähetyspyyntöpinninä (UART_RTS).
  • Pin14: GPIO2 on tulo-/lähtötappi, jota käytetään UART TX:nä flash-ohjelmoinnin aikana.
  • Pin15: GPIO0 on tulo-/lähtötappi, jota käytetään SPI:ssä Chip Select -tappina2 (SPI_CS2).
  • Pin16: GPIO4 on tulo-/lähtötappi, jota käytetään puhtaasti syöttö- ja ulostulotarkoituksiin.
  • Pin17: VDDPST on virtatappi. Se on digitaalinen tulo/lähtö-virtalähde, jonka jännitteet vaihtelevat 1,8V:n ja 3,6V:n välillä. Samanlainen kuin pin11.
  • Pin18: SDIO_DATA_2 on tulo-/lähtöliitäntä, joka on merkitty GPIO9:ksi ja jota käytetään SD-kortin datapin 2:n kanssa.
  • Pin19: SDIO_DATA_3 on tulo-/lähtöliitäntä, joka on merkitty GPIO10:ksi ja jota käytetään SD-kortin datapin 3:n kanssa.
  • Pin20: SDIO_CMD on tulo-/lähtötappi, joka on merkitty GPIO11:ksi ja jota käytetään SD-kortin komentotapin kanssa
  • Pin21: SDIO_CLK on tulo-/lähtötappi, joka on merkitty GPIO6:ksi ja jota käytetään SD-kortin kellotapin kanssa.
  • Pin22: SDIO_DATA_0 on tulo-/lähtötappi, joka on merkitty GPIO7:ksi ja jota käytetään yhteyden muodostamiseen SD-kortin datatapin 0 kanssa.
  • Pin23: SDIO_DATA_1 on tulo-/lähtötappi, joka on merkitty GPIO8:ksi ja jota käytetään yhteyden muodostamiseen SD-kortin datatapin 1 kanssa.
  • Pin24: GPIO5 on tulo-/lähtötappi, jota käytetään puhtaasti tulo- ja lähtötarkoituksiin.
  • Pin25: U0RXD on tulo-/lähtötappi, joka on merkitty GPIO3:ksi ja jota käytetään UART RX:nä flash-ohjelmoinnin aikana.
  • Pin26: U0TXD on tulo-/lähtötappi, joka on merkitty GPIO1:ksi ja jota käytetään UART TX:nä flash-ohjelmoinnin aikana. Käytetään myös SPI Chip Select -nastana 1 (SPI_CS1).
  • Pin27: XTAL_OUT on luokiteltu tulo-/lähtönastaksi ja liitetty kideoskillaattorin lähtöön.
  • Pin28: XTAL_IN on luokiteltu tulo-/lähtönastaksi ja liitetty kideoskillaattorin tuloon.
  • Pin29: VDDD on virtatappi, joka tarjoaa analogista tehoa 2,5V-3,6V.
  • Pin30: VDDA on virtatappi, joka tarjoaa analogista tehoa 2,5V-3,6V. Samanlainen kuin pin29.
  • Pin31: RES12K on sisääntulotappi, joka on kytketty sarjaan 12 kΩ vastuksilla ja kytketty maahan.
  • Pin32: EXT_RSBT on sisääntulotappi, jota käytetään sirun lepuuttamiseen tarjoamalla ulkoinen nollaussignaali, joka on aktiivinen alhaisella jännitetasolla.
  • Pin33: GND on virtatappi, joka toimii sirun maadoituksena.

Kaikkia GPIO:ita voidaan käyttää tulo- ja lähtötappeina, mutta niillä on myös oma erityinen tehtävänsä.

Kaavio

ESP8266-kaavio sisältää seuraavat komponentit:

  • Virtalähde
  • Käynnistyssekvenssi ja nollaus
  • Flash
  • Kristallioskillaattori
  • RF
  • ulkoinen vastus
  • UART

Tähän mennessä käsiteltiin Esp8266:n esiinnostoa, toiminnallista lohkokaaviokuvaa, nastojen sijoittelua, kuvailua ja kaavioita.

Elokuussa 2014 Espressif Systems käynnisti ensimmäisen raakamoduulinsa, jonka valmistaa kolmas osa AI-Thinker ja moduuli, jota kutsutaan ESP-01-moduuliksi. Siitä lähtien Ai-Thinker on kehittänyt sarjan moduuleja, jotka perustuvat ESP8266:n ympärille, tämä sarja, johon viitataan nimellä ESP-xx-moduulit, ulottuu 01:stä 14:ään.

Erilaisten ESP8266-moduulien pinout

Tässä artikkelin osassa puhumme ESP8266-moduulin eri versioiden pinoutista alkaen ESP-01:stä ESP-12:een.

Espressif Systems julkisti ensimmäiset viralliset ohjelmistokehityssarjat, joiden avulla siru voidaan ohjelmoida suoraan, ilman, että sitä tarvitsee käyttää ulkoisen mikrokontrolleriohjelman kanssa. Sittemmin on olemassa monia virallisia SDK:ita, mutta Espressif ylläpitää vain kahta SDK:ta vakaana toinen perustuu FreeRTOS:iin ja toinen callbackeihin. ESP8266:lle on myös erilaisia avoimen lähdekoodin SDK:ita.

Arduino: on yleisimmin käytetty SDK sen suosion vuoksi. Se on C++-pohjainen SDK. ESP6266 on helppo ohjelmoida kuin Arduino-levyt. Ydintiedostot ovat saatavilla GitHubissa.

NodeMCU: on Lua-pohjainen ohjelmistokehityspaketti.

MicroPython: on python-kielen käyttöä sulautetuissa laitteissa.

Espruino, Mongoose OS, uLisp, Sming, Platform IO, ESP Easy, Smick, ESP Open RTOS ovat joitain muita avoimen lähdekoodin SDK:ta.Näiden kehityslevyjen tarve johtuu siitä, että ESP-xx-moduulisarjasta puuttuu jännitteensäädin, USB- ja UART-silta, kuten CH340G ja Silicon Labin CP2102, sekä mikro-USB-liitin. Ennen meidän oli ostettava jännitteensäädin ja USB- ja UART-silta erikseen ja kytkettävä ne sitten ESP-xx-moduulien kanssa flashattavaksi.

Tässä keskustelemme lähinnä ESP-12E-moduulin ympärille perustuvasta kehityskortista.

ESP8266 12E -moduulin pinout

Esp8266 12E -moduulissa on yhteensä 22 pinniä, jotka sisältävät

.

Nro. Pins Pin Label Description
17 GPIO GPIO-pinnit vaihtelevat GPIO0:sta GPIO16:een ja sisältävät SPI-, I2C-, SDIO- ja UART-liitäntäpinnit.
1 ADC 10-bittinen analogi-digitaalimuunnin.
1 VCC Toimitusjännite 3.3V
1 GND Ground pin
1 RST Rest Pin
1 Enable Chip Enable Pin

ESP8266 12E Wemos D1 Mini pinout

Wemos D1 Mini -kehityslevyllä on yhteensä 16 pinniä, joista 12 pinniä on aktiivisia, käyttää ESP-12-moduulia, sisäinen reset-painike, 3.3 jännitteensäädin, Micro USB, USB- UART-silta ja joitakin muita komponentteja.

.

No. of

Pin

Label Description
1 3.3V 3.3 volttia pin
1 5.0 Tulon 5V jännite tappi
1 GND Maa tappi
1 ADC 10-bittinen analogi-digitaalimuunnin
1 RST Nollausnasta
9 D0 – D8, Sisään-/ulostulopinnejä käytetään myös SPI:lle ja I2C:lle, Flashille.
2 RX,TX UART-liitäntä.

ESP8266 01 -moduulin pinout

ESP8266 01 -moduuli on erilainen, mutta yleisesti käytetty kuten edellä mainitut kehityskortit. Tämä kortti ei ole leipälauta ystävällinen usein erillistä ohjelmointimoduulia käytetään ohjelmointiin. Siinä on yhteensä 8 pinniä joista 6 pinniä on aktiivisia.

No. of

Pin

Label Description
1 3.3V Supply 3.3 volttia pin
1 GND Ground pin
1 RST Reset Pin
1 CH_PD/EN Chip Power and Enable pin
4 GPIO 0-3 UART-liitäntä ja tulo/lähtö nastat

ESP8266 12E NodeMCU-kehityskortin nastajärjestys

NodeMCU-kehityskortilla on yhteensä 30 pinniä, joista 14 pinniä on aktiivisia, käyttää ESP-12-moduulia, sisäistä reset- ja flash-painiketta, 3.3 jännitteensäädin, Micro USB, USB to UART Bridge ja joitakin muita komponentteja.

No. of

Pin

Label Description
3 3.3V 3.3 voltin nastat
1 Vin Sisääntulon 5V jännite nasta
4 GND Maa. nastat
1 ADC 10-bittinen analogi-digitaalimuunnin
1 RST Reset Pin
1 EN Chip Enable pin
1 CLK CLK. SPI- ja SDIO-liitännän pin
1 SD0 Datapin 0 SDIO- ja MISO-pin SPI-liitännälle.
1 CMD Komentotappi SDIO-liitännälle ja siruvalintatappi SPI-liitännälle.
1 SD1 Datapinni 1 SDIO-liitännälle ja MOSI-pinni SPI-liitännälle.
1 SD2 Datapinni 0 SDIO-liitännälle ja käytetään myös GPIO9:nä.
1 SD3 Datapinni3 SDIO-liitäntää varten ja sitä käytetään myös GPIO10:nä.
2 RSV Varatut pinnit.
11 D0-D8, RX, TX Sisään-/ulostulopinnejä käytetään myös UART-, SPI-, I2C-, Flash- ja wake-pinneinä.

ESP8266:n oheislaitteet

ESP8266:ssa on seuraavat oheislaitteet:

  • 17 yleiskäyttöistä sisääntulo-ulostulopinniä
  • Seriaalinen oheisliitäntä (SPI)
  • Sisäisesti integroitu piiri (12C)
  • Sisäisesti integroidun piirin (12C)
  • Sisäisesti integroidun piirin (12S) ääniliitännät, joissa on suora muistin käyttöoikeus
  • Yleismaailmallinen asynkroninen vastaanotin-lähetinliitäntä.
  • 10-bittinen analogia-digitaalimuunnin

Analoginen tulo

ESP8266:ssa on vain yksi 10-bittinen analogia-digitaalimuunnin, johon viitataan nimellä ADC0 ja joka on merkitty nimellä A0. Mutta tämä on myös yksi sen suurimmista haitoista, koska useimmiten käyttäjän on yhdistettävä kaksi anturia, joten meidän on ostettava erilliset ADC-moduulit, IC ja multipleksointipiiri kahden tai useamman anturin liittämiseksi, mutta tämä on toisen artikkelin aihe.

ESP-01-moduulin analoginen tulojännite vaihtelee välillä 0-1V. ESP-12E-moduulin ympärille perustuvalla kehityskortilla analoginen tulojännite vaihtelee välillä 0-3,3V. Joten meidän on pidettävä mielessä sketsiä kirjoittaessamme A0-nastan käyttäminen.

PWM-nastat

ESP8266 sallii PWM:n kaikissa tulo-/lähtönastoissa GPIO0:sta GPIO16:een. PWM-signaalien resoluutio on 10-bittinen.

SPI-nastat

Sarjapohjaisella ohjelmointiliitännällä (SPI) on seuraavat nastat ESP8266:ssa

I2C-nastat

ESP8266 tarjoaa vain ohjelmallisen I2C-liitännän, mikä tarkoittaa sitä, että voimme käyttää mitä tahansa kahta nastaa I2C:hen, mutta seuraavat nastat ovat enimmäkseen käytössä.

GPIO5 Serial Clock Line (SCL)

GPIO4 Serial Data Line (SDA)

Interrupt Pins

Voimme käyttää mitä tahansa GPIO-pinniä keskeytyksiin paitsi GPIO16.

Wake Up

Herättääksemme ESP8266:n syvästä lepotilasta GPIO16:sta kytkemällä GPIO16:n liitäntään RST. Tämä on toisen artikkelin aihe.

Piirilevyllä oleva LED

Useimmissa kehityslevyissä on yksi tai useampi sisäänrakennettu LED. ESP8266-moduuliin rakennettu LED kytketään GPIO2:een ja kehityslevylle rakennettu LED kytketään GPIO16:een.

Nollaus- ja flash-painike

Nollauspainikkeen painaminen tai RST-pinin vetäminen alas nollaa ESP8266-sirun. Flash-painikkeen painaminen tai GPIO0:n vetäminen matalaksi asettaa ESP8266-piirin käynnistyslataustilaan.

Mitä ESP8266:n nastaa käytetään

Pitäkää aina mielessä, että GPIO-merkintä ei vastaa silkkipainon merkintää. Esimerkiksi GPIO0 vastaa D3:a ja D0 vastaa GPIO16:ta. Vihreällä rastilla varustettuja GPIOja on parasta käyttää.

.

.

.

.

Label GPIO Input Output Description
A0 ADC0 Analogitulo Ei Analogista tuloa varten 0-3.3v ja ei ulostuloa.
RX GPIO3 Kyllä Vain RX-pinni Korkea käynnistyksen yhteydessä.
TX GPIO1 Tx pin only Yes High at Boot.
D0 GPIO16 Ei keskeytystä Ei I2C, PWM Käytetään sirun herättämiseen syvästä lepotilasta, High at Boot.
D1 GPIO5 Kyllä Kyllä Käytetään usein SCL:nä
D2 GPIO4 Kyllä Kyllä Käytetään usein SDA:na
D3 GPIO0 Kytketty ylös Kyllä Kytketty Flash-painikkeeseen
D4 GPIO2 Pulled up Yes Connected to built-sisäänrakennettuun LEDiin, High at Boot.
D5 GPIO14 Kyllä Kyllä SCLK-pinni SPI-rajapintaa varten
D6 GPIO12 Kyllä Kyllä MISO-nasta SPI-liitäntää varten
D7 GPIO13 Kyllä Kyllä MOSI-nasta SPI-liitäntää varten
D8 GPIO15 Pulled to ground Yes CS-pin SPI-liitäntää varten

ESP8266 pin High ja Low-jännitesignaali käynnistyksen yhteydessä

Käynnistettäessä ESP8266:ta seuraavat nastat antavat 3.3v-signaalia tietyissä nastoissa, joten releiden, transistorien tai muiden oheislaitteiden liittäminen voi käyttäytyä väärin. Seuraavat nastat antavat 3.3v signaalin Bootin yhteydessä:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Kaikki muut GPIOn nastat antavat matalajännitteisen yksittäisen signaalin Bootin yhteydessä, lukuunottamatta GPIO4:ää ja GPIO5:tä. Joten GPIO4 ja GPIO5 ovat parhaita nastoja releiden, transistorien ja muiden oheislaitteiden kytkemiseen vakaaseen tulokseen.

Nastojen konfigurointi käynnistyksen aikana

Käynnistääksemme ESP8266:n menestyksekkäästi meidän on kiellettävä määriteltyjen nastojen saaminen korkealle tai matalalle.

  • GPIO16: nasta on korkea BOOT
  • GPIO3: nasta on korkea BOOT
  • GPIO10: nasta on korkea BOOT
  • GPIO9: nasta on korkea BOOT
  • GPIO2: tappi on korkea BOOTissa, käynnistysvika jos vedetään LOW
  • GPIO1: tappi on korkea BOOTissa, käynnistysvika jos vedetään LOW
  • GPIO0: käynnistysvika jos vedetään LOW
  • GPIO15: boot failure if pulled HIGH

ESP8266:n sovellukset

  • Kotiautomaatio
  • Älykkäät pistokkeet ja kytkimet
  • Kodinkoneet (kuten AC, Tulostin)
  • Langaton teollisuusohjaus
  • Asensorilaitteet
  • Pukeutuvat vempaimet
  • IP-kamerat
  • Turvatunnisteiden tunnisteet
  • Wi-Fi-paikkatietoiset laitteet
  • Wi-Fi-paikannusjärjestelmä

Voithan halutessasi kurkistaa myös muihin ESP8266:n opetusohjelmiin: