Laboratoř mikrokontrolérů

Obsah

Tento návod se zabývá referencemi vývodů ESP8266 a různými typy desek ESP8266, jako jsou Nodemcu, ESP01 , ESP12. Nejprve uvedu přehled integrovaného obvodu ESP8266 a jeho vývodů a poté uvedu odkaz na vývody nejoblíbenějších desek ESP8266.

Esp8266 je mikročip v pouzdře QFN, který má schopnosti sady TCP/IP i mikrokontroléru. Esp8266 přináší vysoce integrované řešení WiFi, které splňuje potřeby odvětví internetu věcí, jako jsou nízké náklady, efektivní spotřeba energie, důvěryhodný výkon a kompaktní design. Vyrábí jej společnost Espressif Systems v Šanghaji v Číně.

Má kompletní síťové funkce WiFi a může fungovat jako slave k hostitelskému mikrokontroléru nebo jako samostatná aplikace. Když říkáme slave k hostitelskému mikrokontroléru, znamená to, že jej lze použít jako WiFi adaptér k jakémukoli mikrokontroléru využívajícímu rozhraní SPI nebo UART. Při použití jako samostatná aplikace může plnit funkce mikrokontroléru a WiFi sítě.

Esp8266 je založen na řadě L106 Diamond společnosti Tensilica, která je 32bitovým procesorem a má paměť SRAM na čipu. Integruje také napájecí moduly, RF balun, RF přijímač a vysílač, analogový přijímač a vysílač, digitální základní pásmo, zesilovač, filtry a některé další minimální komponenty.

Specifikace ESP8266

Specifikace ESP8266 se dělí na tři části: Hardware, Software a Wi-Fi. V hardwarové specifikaci je velikost jeho balení QFN 32pinů o rozměrech 5 mm x 5 mm. Pracovní napětí se pohybuje od 2,5 V do 3,6 V. Čip spotřebovává v průměru 80 mA proudu. Jeho CPU je Tensilica L106, což je 32bitový procesor s pamětí SRAM na čipu. Periferní rozhraní obsahuje UART, SDIO, SPI, I2C, I2S, IR dálkové ovládání, GIPO’s, ADC, PWM, LED Light a tlačítko.

Jeho firmware lze aktualizovat pomocí OTA a UART. Jako síťové protokoly používá IPv4, TCP, UDP a HTTP. Uživatel může konfigurovat pomocí sady příkazů AT, cloudového serveru a pomocí mobilní aplikace.

Rozložení a popis vývodů čipu ESP8266

Rozložení vývodů 32pinového pouzdra QFN.

  • Pin1: VDDA je napájecí pin pro analogové napájení v rozsahu 2,5 V až 3,6 V.
  • Pin2: LNA je vstupní/výstupní pin speciálně používaný pro rozhraní RF antény. Čip vytváří impedanci 39+j6 Ω.
  • Pin3: VDD3P3 je napájecí pin pro napájení zesilovače v rozsahu od 2,5V do 3,6V.
  • Pin4: VDD3P3 je napájecí pin pro napájení zesilovače v rozsahu od 2,5 V do 3,6 V podobně jako pin3.
  • Pin5:
  • Pin6: TOUT je vstupní pin, který slouží jako ADC pin pro testování napájecích napětí Pin3 a Pin4 a vstupních napětí TOUT pin6. Tyto dvě funkce nelze provádět současně.
  • Pin7: CHIP_EN I vstupní pin. Když je pin CHIP_EN HIGH, čip pracuje správně, když je LOW, čip spotřebovává jen malé množství proudu.
  • Pin8: XPD_DCDC je vstupní/výstupní pin, který se používá k probuzení čipu z režimu hlubokého spánku. Běžně je spojen s GPIO16.
  • Pin9: MTMS je vstupní/výstupní pin označený jako GPIO14 a používá se v SPI jako hodinový pin (SPI_CLK).
  • Pin10: MTDI je vstupní/výstupní pin označený jako GPIO12 a používá se v SPI jako pin Master-In-Slave-Out (SPI_MISO).
  • Pin11: VDDPST je napájecí pin. Je to digitální vstupní/výstupní napájecí zdroj, jehož napětí se pohybuje od 1,8 V do 3,6 V. Podobně jako pin17.
  • Pin12: MTCK je vstupní/výstupní pin označený jako GPIO13 a používá se v SPI jako pin Master-Out Slave-In (SPI_MOSI) a také v UART jako pin Clear To Send (UART_CTS).
  • Pin13: MTDO je vstupní/výstupní pin označený jako GPIO15 a používá se v SPI jako pin Chip Select (SPI_CS) a také v UART jako pin Request To Send (UART_RTS).
  • Pin14: GPIO2 je vstupní/výstupní pin označený jako UART TX při programování flash.
  • Pin15: GPIO0 je vstupní/výstupní pin používaný jako Chip Select pin2 v SPI (SPI_CS2).
  • Pin16: GPIO4 je vstupní/výstupní pin používaný čistě pro vstupní a výstupní účely.
  • Pin17: VDDPST je napájecí pin. Jedná se o digitální vstupní/výstupní napájecí zdroj, jehož napětí se pohybuje od 1,8 V do 3,6 V. Podobně jako pin11.
  • Pin18: SDIO_DATA_2 je vstupní/výstupní pin označený jako GPIO9 a slouží k propojení s datovým pinem 2 karty SD.
  • Pin19: SDIO_DATA_3 je vstupní/výstupní pin označený jako GPIO10 a slouží k propojení s datovým pinem 3 karty SD.
  • Pin20: SDIO_CMD je vstupní/výstupní pin označený jako GPIO11 a slouží k propojení s příkazovým pinem SD karty
  • Pin21: SDIO_CLK je vstupní/výstupní pin označený jako GPIO6 a slouží k propojení s hodinovým pinem SD karty.
  • Pin22: SDIO_DATA_0 je vstupní/výstupní pin označený jako GPIO7 a slouží k propojení s datovým pinem 0 karty SD.
  • Pin23: SDIO_DATA_1 je vstupní/výstupní pin označený jako GPIO8 a slouží k propojení s datovým pinem 1 karty SD.
  • Pin24: GPIO5 je vstupní/výstupní pin, který se používá čistě pro vstupní a výstupní účely.
  • Pin25: U0RXD je vstupní/výstupní pin označený jako GPIO3 a používá se jako UART RX během programování flash.
  • Pin26: U0TXD je vstupní/výstupní pin označený jako GPIO1 a používá se jako UART TX během programování flash. Používá se také jako pin SPI Chip Select 1 (SPI_CS1).
  • Pin27: XTAL_OUT je klasifikován jako vstupní/výstupní pin a je připojen k výstupu krystalového oscilátoru.
  • Pin28: XTAL_IN je klasifikován jako vstupní/výstupní pin a je připojen ke vstupu krystalového oscilátoru.
  • Pin29: VDDD je napájecí pin poskytující analogové napájení v rozsahu od 2,5 V do 3,6 V.
  • Pin30: VDDA je napájecí pin poskytující analogové napájení v rozsahu od 2,5 V do 3,6 V. Podobně jako pin29.
  • Pin31: RES12K je vstupní pin, který je sériově propojen s rezistory 12 kΩ a připojen k zemi.
  • Pin32: EXT_RSBT je vstupní pin sloužící k restartování čipu poskytnutím externího resetovacího signálu, který je aktivní při nízké úrovni napětí.
  • Pin33: GND je napájecí pin slouží jako zem pro čip.

Všechny GPIO lze použít jako vstupní a výstupní pin, ale mají také svou specifickou funkci.

Schéma

Schémata ESP8266 obsahují následující komponenty:

  • Napájecí zdroj
  • Sekvence zapnutí a reset
  • Flash
  • Krystalický oscilátor
  • RF
  • Externí rezistor
  • UART

Pokud se zabýváme Esp8266 preambulí, funkčním blokovým schématem, rozložením pinů, popisem a schématy.

V srpnu 2014 uvedla společnost Espressif Systems na trh svůj první surový modul, který je vyráběn třetí stranou AI-Thinker a modul je označován jako modul ESP-01. Od té doby Ai-Thinker vyvinul řadu modulů založených na ESP8266, tato řada označovaná jako moduly ESP-xx se pohybuje od 01 do 14.

Rozložení vývodů různých typů modulů ESP8266

V této části článku si povíme o rozložení vývodů různých verzí modulu ESP8266 počínaje ESP-01 až po ESP-12.

Espressif Systems vydal svou první oficiální softwarovou vývojovou sadu pro programování čipu přímo bez propojení s externím mikrokontrolérem. Od té doby existuje mnoho oficiálních SDK, ale Espressif udržuje pouze dvě stabilní SDK, z nichž jedna je založena na FreeRTOS a druhá na zpětných voláních. Existuje také řada open source SDK pro ESP8266.

Arduino: je díky své popularitě nejčastěji používaným SDK. Jedná se o SDK založené na C++. ESP6266 se snadno programuje jako desky Arduino. Soubory jádra jsou k dispozici na GitHub.

NodeMCU: je sada pro vývoj softwaru založená na jazyce Lua.

MicroPython: je použití jazyka python pro vestavná zařízení.

Espruino, Mongoose OS, uLisp, Sming, Platform IO, ESP Easy, Smick, ESP Open RTOS jsou některé další open source SDK.Potřeba těchto vývojových desek je nutná kvůli tomu, že moduly řady ESP-xx postrádají vestavěný regulátor napětí, můstek USB na UART jako CH340G a CP2102 od Silicon Lab a konektor micro USB. Dříve jsme museli kupovat regulátor napětí a můstek USB na UART zvlášť a pak je propojit s moduly ESP-xx, abychom je mohli flashovat.

Na tomto místě se budeme zabývat především vývojovými deskami založenými na modulu ESP-12E.

Rozložení vývodů modulu ESP8266 12E

Modul ESP8266 12E má celkem 22 vývodů, mezi které patří

.

Č. Pinů Označení pinů Popis
17 GPIO Piny GPIO v rozsahu GPIO0 až GPIO16 zahrnují piny rozhraní SPI, I2C, SDIO, UART.
1 ADC 10bitový analogově-digitální převodník.
1 VCC napájecí napětí3.3V
1 GND Zemnící kolík
1 RST Odpojovací kolík
1 Zapnutí Chip Enable Pin

Rozložení pinů ESP8266 12E Wemos D1 Mini

Vývojová deska Wemos D1 Mini má celkem 16 pinů, z nichž 12 pinů je aktivních, používá modul ESP-12, vestavěné resetovací tlačítko, 3.3 napěťový regulátor, Micro USB, můstek USB na UART a některé další komponenty.

Ne. z

Pin

Značka Popis
1 3,3 V 3,3 V pin
1 5.0 Vstupní napětí 5 V pin
1 GND Zemnění pin
1 ADC 10bitový analogově digitální převodník
1 RST Resetovací pin
9 D0 až D8, Vstupní/výstupní piny používané také pro SPI a I2C, Flash.
2 RX,TX Rozhraní UART.

Rozložení vývodů modulu ESP8266 01

Modul ESP8266 01 je jiný, ale běžně se používá stejně jako výše uvedené vývojové desky. Tato deska není breadboard friendly často se pro programování používá samostatný programovací modul. Má celkem 8 pinů, ve kterých je aktivních 6 pinů.

.

Číslo

Pin

Značka Popis
1 3,3V Napájení 3.3 V pin
1 GND Zemnění pin
1 RST Pin resetování
1 CH_PD/EN Pin napájení a povolení čipu
4 GPIO 0 až 3 UART rozhraní a vstupní/výstupní piny

Rozložení pinů vývojové desky ESP8266 12E NodeMCU

Vývojová deska NodeMCU má celkem 30 pinů, z nichž 14 pinů je aktivních, používá modul ESP-12, vestavěný reset a tlačítko flash, 3.3 regulátor napětí, Micro USB, USB to UART Bridge a některé další komponenty.

Číslo

Pin

Značka Popis
3 3,3 V 3.3 V vývody
1 Vin Vstupní napěťový vývod 5 V
4 GND Zem. piny
1 ADC 10bitový analogově digitální převodník
1 RST Pin resetování
1 EN Pin povolení čipu
1 CLK CLK pin pro rozhraní SPI a SDIO
1 SD0 Data pin 0 pro SDIO a MISO pin pro rozhraní SPI.
1 CMD Příkazový pin pro rozhraní SDIO a pin Chip select pro rozhraní SPI.
1 SD1 Datový pin 1 pro rozhraní SDIO a pin MOSI pro rozhraní SPI.
1 SD2 Datový pin 0 pro rozhraní SDIO a používá se také jako GPIO9.
1 SD3 Datový pin3 pro rozhraní SDIO a také se používá jako GPIO10.
2 RSV Vyhrazené piny.
11 D0 až D8, RX, TX Vstupní/výstupní piny používané také pro UART, SPI, I2C, Flash a wake pin.

Periferie ESP8266

ESP8266 má následující periferie:

  • 17 vstupních výstupních pinů pro všeobecné účely
  • Seriální periferní rozhraní (SPI)
  • Interní integrované obvody (12C)
  • Zvukové rozhraní (12S) s přímým přístupem do paměti
  • Univerzální asynchronní rozhraní přijímače vysílače.
  • 10bitový analogově digitální převodník

Analogový vstup

ESP8266 má pouze jeden 10bitový analogově digitální převodník, který se označuje jako ADC0 a označuje se jako A0. To je ale také jedna z jeho největších nevýhod, protože uživatel většinou musí připojit dva senzory, takže musíme koupit samostatné moduly ADC, IC a multiplexní obvody pro připojení dvou nebo více senzorů, ale to je téma na jiný článek.

Vstupní analogové napětí modulu ESP-01 se pohybuje od 0 do 1V. Vývojová deska založená na modulu ESP-12E má vstupní analogové napětí v rozsahu 0 až 3,3 V. Proto musíme při psaní skeče pamatovat na použití pinu A0.

PWM piny

ESP8266 umožňuje PWM na všech vstupních/výstupních pinech od GPIO0 po GPIO16. PWM signály mají 10bitové rozlišení.

SPI Piny

Sériové programovací rozhraní (SPI) má v ESP8266 následující piny

I2C piny

ESP8266 poskytuje pouze softwarové I2C rozhraní, to znamená, že můžeme použít libovolné dva piny pro I2C, ale většinou se používají následující piny.

GPIO5 pro sériovou taktovací linku (SCL)

GPIO4 pro sériovou datovou linku (SDA)

Piny pro přerušení

Pro přerušení můžeme použít libovolný pin GPIO kromě GPIO16.

Probuzení

Pro probuzení ESP8266 z hlubokého spánku použijeme GPIO16 připojením na pin RST. To je téma na jiný článek.

Palubní LED

Většinou mají vývojové desky jednu nebo více vestavěných LED. LED zabudovaná v modulu ESP8266 je připojena ke GPIO2 a LED zabudovaná na vývojové desce je připojena ke GPIO16.

Tlačítko Reset a Flash

Stisknutím tlačítka Reset nebo vytažením pinu RST dolů se čip ESP8266 resetuje. Stisknutí tlačítka Flash nebo vytažení GPIO0 nízko nastaví čip ESP8266 do režimu bootloaderu.

Který pin ESP8266 použít

Vždy mějte na paměti, že označení GPIO neodpovídá označení na silkscreenu. Například GPIO0 odpovídá D3 a D0 odpovídá GPIO16. Nejvhodnější je použít GPIO se zeleným zaškrtnutím.

.

.

.

Label GPIO Input Output Description
A0 ADC0 Analogový vstup Ne Pro analogový vstup od 0 do 3.3V a žádný výstup.
RX GPIO3 Ano Pouze pin RX Vysoký při zavádění.
TX GPIO1 Tx pin only Yes Vysoká při zavádění.
D0 GPIO16 Není přerušení Není I2C, PWM Slouží k probuzení čipu z hlubokého spánku, High při Boot.
D1 GPIO5 Ano Ano Často se používá jako SCL
D2 GPIO4 Ano Ano Často se používá jako SDA
D3 GPIO0 Vytažen nahoru Ano Připojen k tlačítku Flash
D4 GPIO2 Vytaženo nahoru Ano Připojeno k vestavěnému-vestavěnou LED diodou, High at Boot.
D5 GPIO14 Ano Ano SCLK pin pro SPI rozhraní
D6 GPIO12 Ano Ano MISO pin pro rozhraní SPI
D7 GPIO13 Ano Ano MOSI pin pro rozhraní SPI
D8 GPIO15 Vytažen na zem Ano CS pin pro SPI rozhraní

ESP8266 pin High a Low-napětí při zavádění systému

Při zavádění systému ESP8266 poskytují následující piny 3.3V signál na určených pinech, takže připojení relé, tranzistoru nebo jiného periferního zařízení se může chovat špatně. Následující piny poskytují při zavádění signál 3,3 V:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Všechny ostatní piny GPIO poskytují při zavádění jednoduché nízké napětí kromě GPIO4 a GPIO5. GPIO4 a GPIO5 jsou tedy nejlepšími piny pro připojení relé, tranzistorů a dalších periferních zařízení pro stabilní výsledky.

Konfigurace pinů při Bootu

Pro úspěšné zavedení ESP8266 musíme zakázat, aby uvedené piny získaly HIGH nebo LOW.

  • GPIO16: pin je vysoký při BOOT
  • GPIO3: pin je vysoký při BOOT
  • GPIO10: pin je vysoký při BOOT
  • GPIO9: pin je vysoký při BOOT
  • GPIO2: GPIO1: pin je vysoký při BOOT, bootování selže, pokud je vytažen LOW
  • GPIO1: pin je vysoký při BOOT, bootování selže, pokud je vytažen LOW
  • GPIO0: bootování selže, pokud je vytažen LOW
  • GPIO15:

Aplikace ESP8266

  • Domácí automatizace
  • Chytré zástrčky a spínače
  • Domácí spotřebiče (jako např. AC, Tiskárna)
  • Bezdrátové průmyslové řízení
  • Senzorová zařízení
  • Nositelné gadgety
  • IP kamery
  • Bezpečnostní identifikační štítky
  • Zařízení sledující polohu pomocí Wi-Fi
  • Polohový systém Wi-Fi

Možná se chcete podívat i na další návody pro ESP8266: