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
- Rozložení a popis vývodů čipu ESP8266
- Schéma
- Rozložení vývodů různých typů modulů ESP8266
- Rozložení vývodů modulu ESP8266 12E
- Rozložení pinů ESP8266 12E Wemos D1 Mini
- Rozložení vývodů modulu ESP8266 01
- Rozložení pinů vývojové desky ESP8266 12E NodeMCU
- Periferie ESP8266
- Analogový vstup
- PWM piny
- SPI Piny
- I2C piny
- Piny pro přerušení
- Probuzení
- Palubní LED
- Tlačítko Reset a Flash
- Který pin ESP8266 použít
- ESP8266 pin High a Low-napětí při zavádění systému
- Konfigurace pinů při Bootu
- Aplikace ESP8266
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: