ENGINNERS ESP8266 NodeMCU Development Board
Internet věcí (IoT) je trendovou oblastí ve světě technologií. Změnilo to způsob, jakým pracujeme. Fyzické objekty a digitální svět jsou nyní propojeny více než kdy jindy. S ohledem na to společnost Espressif Systems (Shanghai-based Semiconductor Company) vydala rozkošný mikrokontrolér s podporou WiFi – ESP8266, za neuvěřitelnou cenu! Za méně než 3 dolary dokáže monitorovat a ovládat věci odkudkoli na světě – ideální pro téměř jakýkoli projekt IoT.
Vývojová deska osazuje modul ESP-12E obsahující čip ESP8266 s mikroprocesorem Tensilica Xtensa® 32-bit LX106 RISC, který pracuje na 80 až 160 MHz nastavitelné hodinové frekvenci a podporuje RTOS.
Čip ESP-12E
- Tensilica Xtensa® 32bitový LX106
- Frekvence hodin 80 až 160 MHz
- 128 kB interní RAM
- 4MB externí flash
- Wi-Fi transceiver 802.11b/g/n
K dispozici je také 128 KB RAM a 4 MB Flash paměti (pro ukládání programů a dat), které stačí na to, aby zvládly velké řetězce, které tvoří web stránky, data JSON/XML a vše, co dnes na zařízení IoT hodíme. ESP8266 integruje 802.11b/g/n HT40 Wi-Fi transceiver, takže se může nejen připojit k WiFi síti a interagovat s internetem, ale může také vytvořit vlastní síť, která umožňuje dalším zařízením připojit se přímo k to. Díky tomu je ESP8266 NodeMCU ještě všestrannější.
Požadavek na napájení
Jako provozní svtagRozsah ESP8266 je 3V až 3.6V, deska je dodávána s LDO obj.tage regulátor k udržení objtage stabilní na 3.3V. Spolehlivě dokáže dodat až 600 mA, což by mělo být více než dostatečné, když ESP8266 odebírá při RF přenosech až 80 mA. Výstup regulátoru je také vyražen na jednu ze stran desky a označen jako 3V3. Tento pin lze použít k napájení externích komponent.
Požadavek na napájení
- Provozní svtage: 2.5 V až 3.6 V
- Palubní regulátor 3.3V 600mA
- 80mA Provozní proud
- 20 μA v režimu spánku
Napájení ESP8266 NodeMCU je dodáváno přes integrovaný MicroB USB konektor. Případně pokud máte regulovaných 5V voltagU zdroje lze pin VIN použít k přímému napájení ESP8266 a jeho periferií.
Varování: ESP8266 vyžaduje pro komunikaci 3.3V napájecí zdroj a 3.3V logické úrovně. Piny GPIO nejsou tolerantní k 5V! Pokud chcete desku propojit s 5V (nebo vyššími) součástkami, budete muset provést nějaké posunutí úrovně.
Periferní zařízení a I/O
ESP8266 NodeMCU má celkem 17 GPIO pinů vylomených do pinových hlaviček na obou stranách vývojové desky. Tyto piny lze přiřadit všem druhům periferních funkcí, včetně:
- Kanál ADC – 10bitový kanál ADC.
- Rozhraní UART – Rozhraní UART se používá pro sériové načítání kódu.
- PWM výstupy – PWM piny pro stmívání LED nebo ovládání motorů.
- Rozhraní SPI, I2C & I2S – Rozhraní SPI a I2C pro připojení nejrůznějších senzorů a periferií.
- Rozhraní I2S – Rozhraní I2S, pokud chcete do svého projektu přidat zvuk.
Multiplexní I/O
- 1 ADC kanály
- 2 rozhraní UART
- 4 PWM výstupů
- Rozhraní SPI, I2C a I2S
Díky funkci multiplexování pinů ESP8266 (více periferií multiplexovaných na jednom pinu GPIO). To znamená, že jeden pin GPIO může fungovat jako PWM/UART/SPI.
Palubní spínače a LED indikátor
ESP8266 NodeMCU má dvě tlačítka. Jedno označené jako RST umístěné v levém horním rohu je tlačítko Reset, sloužící samozřejmě k resetování čipu ESP8266. Druhé tlačítko FLASH v levém dolním rohu je tlačítko stahování používané při aktualizaci firmwaru.
Spínače a indikátory
- RST – Resetujte čip ESP8266
- FLASH – Stahování nových programů
- Modrá LED – uživatelsky programovatelné
Deska má také LED indikátor, který je uživatelsky programovatelný a je připojen na pin D0 desky.
Sériová komunikace
Deska obsahuje CP2102 USB-to-UART Bridge Controller od Silicon Labs, který převádí USB signál na sériový a umožňuje vašemu počítači programovat a komunikovat s čipem ESP8266.
Sériová komunikace
- CP2102 USB-to-UART převodník
- Komunikační rychlost 4.5 Mbps
- Podpora Flow Control
Pokud máte v počítači nainstalovanou starší verzi ovladače CP2102, doporučujeme provést upgrade nyní.
Odkaz pro aktualizaci ovladače CP2102 – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
ESP8266 NodeMCU Pinout
ESP8266 NodeMCU má celkem 30 pinů, které jej propojují s vnějším světem. Zapojení jsou následující:
Pro jednoduchost vytvoříme skupiny pinů s podobnými funkcemi.
Napájecí kolíky Existují čtyři napájecí kolíky viz. jeden VIN kolík a tři 3.3V kolíky. Pin VIN lze použít k přímému napájení ESP8266 a jeho periferií, pokud máte regulované 5V vol.tage zdroj. Piny 3.3V jsou výstupem palubního voltage regulátor. Tyto piny lze použít k napájení externích komponent.
GND je zemnicí kolík vývojové desky ESP8266 NodeMCU. I2C kolíky se používají k připojení všech druhů I2C senzorů a periferií ve vašem projektu. Podporovány jsou jak I2C Master, tak I2C Slave. Funkčnost rozhraní I2C může být realizována programově a taktovací frekvence je maximálně 100 kHz. Je třeba poznamenat, že taktovací frekvence I2C by měla být vyšší než nejpomalejší hodinová frekvence podřízeného zařízení.
Piny GPIO ESP8266 NodeMCU má 17 GPIO pinů, které lze programově přiřadit různým funkcím, jako je I2C, I2S, UART, PWM, IR dálkové ovládání, LED světlo a tlačítko. Každý digitální aktivovaný GPIO může být nakonfigurován na interní pull-up nebo pull-down, nebo nastavit na vysokou impedanci. Když je nakonfigurován jako vstup, může být také nastaven na spouštění na hraně nebo na úrovni spouštění pro generování přerušení CPU.
Kanál ADC NodeMCU je zabudován s 10bitovým přesným SAR ADC. Tyto dvě funkce lze implementovat pomocí ADC viz. Testovací zdroj svtage pinu VDD3P3 a testovací vstup voltage pinu TOUT. Nelze je však realizovat současně.
Piny UART ESP8266 NodeMCU má 2 rozhraní UART, tj. UART0 a UART1, která zajišťují asynchronní komunikaci (RS232 a RS485) a mohou komunikovat rychlostí až 4.5 Mbps. Pro komunikaci lze použít UART0 (piny TXD0, RXD0, RST0 & CTS0). Podporuje kontrolu tekutin. UART1 (TXD1 pin) však obsahuje pouze signál pro přenos dat, takže se obvykle používá pro tisk protokolu.
Piny SPI ESP8266 obsahuje dvě SPI (SPI a HSPI) v režimu slave a master. Tyto SPI také podporují následující obecné funkce SPI:
- 4 režimy časování přenosu formátu SPI
- Až 80 MHz a dělené takty 80 MHz
- Až 64 bajtů FIFO
Piny SDIO ESP8266 je vybaven rozhraním Secure Digital Input/Output Interface (SDIO), které se používá k přímému propojení karet SD. Podporovány jsou 4bitové 25 MHz SDIO v1.1 a 4bitové 50 MHz SDIO v2.0.
PWM kolíky Deska má 4 kanály Pulse Width Modulation (PWM). Výstup PWM lze implementovat programově a použít pro řízení digitálních motorů a LED. Frekvenční rozsah PWM je nastavitelný od 1000 μs do 10000 μs, tj. mezi 100 Hz a 1 kHz.
Kontrolní kolíky se používají k ovládání ESP8266. Tyto piny zahrnují Chip Enable pin (EN), Reset pin (RST) a WAKE pin.
- EN pin – Čip ESP8266 je povolen, když je EN pin vytažen VYSOKO. Při vytažení LOW čip pracuje na minimální výkon.
- RST pin – RST pin slouží k resetování čipu ESP8266.
- WAKE pin – Wake pin se používá k probuzení čipu z hlubokého spánku.
Vývojové platformy ESP8266
Nyní pojďme k tomu zajímavému! Existuje celá řada vývojových platforem, které mohou být vybaveny pro programování ESP8266. Můžete použít Espruino – JavaScript SDK a firmware úzce emulující Node.js, nebo použít Mongoose OS – operační systém pro zařízení IoT (doporučená platforma společností Espressif Systems a Google Cloud IoT) nebo použít sadu pro vývoj softwaru (SDK) poskytovanou společností Espressif. nebo na jedné z platforem uvedených na WikiPedii. Naštěstí úžasná komunita ESP8266 posunula výběr IDE o krok dále vytvořením doplňku Arduino. Pokud právě začínáte programovat ESP8266, toto je prostředí, se kterým doporučujeme začít a které si zdokumentujeme v tomto tutoriálu.
Tento doplněk ESP8266 pro Arduino je založen na úžasné práci Ivana Grokhotkova a zbytku komunity ESP8266. Další informace najdete v úložišti ESP8266 Arduino GitHub.
Instalace jádra ESP8266 na OS Windows
Pokračujme v instalaci jádra ESP8266 Arduino. První věcí je mít na vašem PC nainstalované nejnovější Arduino IDE (Arduino 1.6.4 nebo vyšší). Pokud jej nemáte, doporučujeme upgradovat nyní.
Odkaz na Arduino IDE – https://www.arduino.cc/en/software
Abychom mohli začít, budeme muset aktualizovat správce představenstva pomocí vlastního URL. Otevřete Arduino IDE a přejděte na File > Předvolby. Poté zkopírujte níže URL do doplňkového manažera představenstva URLs textovým polem umístěným ve spodní části okna: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Stiskněte OK. Poté přejděte do Správce desek tak, že přejdete na Nástroje > Desky > Správce desek. Kromě standardních desek Arduino by mělo být několik nových položek. Filtrujte vyhledávání zadáním esp8266. Klikněte na tuto položku a vyberte Instalovat.
Definice desek a nástroje pro ESP8266 zahrnují zcela novou sadu gcc, g++ a další přiměřeně velké, zkompilované binární soubory, takže stažení a instalace může trvat několik minut (archivovaná file je ~110 MB). Po dokončení instalace se vedle položky objeví malý text INSTALLED. Nyní můžete zavřít Správce desky
Arduino Example: Mrkni
Abychom se ujistili, že jádro ESP8266 Arduino a NodeMCU jsou správně nastaveny, nahrajeme nejjednodušší skicu ze všech – The Blink! K tomuto testu použijeme on-board LED. Jak již bylo zmíněno dříve v tomto tutoriálu, pin D0 na desce je připojen k integrované modré LED a je uživatelsky programovatelný. Perfektní! Než se dostaneme k nahrávání náčrtu a hraní s LED, musíme se ujistit, že je deska správně vybrána v Arduino IDE. Otevřete Arduino IDE a v nabídce Arduino IDE > Tools > Board vyberte možnost NodeMCU 0.9 (ESP-12 Module).
Nyní připojte ESP8266 NodeMCU k počítači pomocí kabelu micro-B USB. Jakmile je deska zapojena, měl by jí být přiřazen jedinečný COM port. Na počítačích se systémem Windows to bude něco jako COM# a na počítačích Mac/Linux to bude ve tvaru /dev/tty.usbserial-XXXXXX. Vyberte tento sériový port v nabídce Arduino IDE > Nástroje > Port. Vyberte také rychlost nahrávání: 115200
Varování: Více pozornosti je třeba věnovat výběru desky, výběru COM portu a výběru rychlosti nahrávání. Při nahrávání nových náčrtů se může zobrazit chyba espcomm_upload_mem, pokud tak neučiníte.
Až budete hotovi, zkuste exampnáčrt níže.
void setup()
{pinMode(D0, OUTPUT);}void loop()
{digitalWrite(D0, HIGH);
zpoždění(500);
digitalWrite(D0, LOW);
zpoždění(500);
Jakmile je kód nahrán, LED začne blikat. Možná budete muset klepnout na tlačítko RST, aby vaše ESP8266 začalo spouštět skicu.
Dokumenty / zdroje
![]() |
ENGINNERS ESP8266 NodeMCU Development Board [pdfPokyny ESP8266 NodeMCU Development Board, ESP8266, NodeMCU Development Board |