ESP8266

Page

Stránky / Arduino / Arduino - Zoznam základných dosiek /

ESP8266 je levný čip s podporou Wi-Fi. Výrobcem čipu je společnost Espressif Systems. Čip se původně objevil na trhu jako AT příkazy ovládaný Wi-Fi modem. Měl sloužit jako levný modul pro jiné mikrokontroléry. Později se přišlo na to, že je to ve skutečnosti výkonný mikrokontrolér a je ho možné samostatně programovat. Dá se programovat v mnoha jazycích, ale na těchto stránkách se budeme věnovat pouze jeho integraci do prostředí Arduino IDE.

ESP8266 je System on a Chip (SoC). Obsahuje 32-bitový mikrokontrolér Tenslica L106 a Wi-Fi vysílač. Má 11 GPIO pinů a analogových vstupů. Ve skutečnosti má 17 pinů, ale 6 pinů je využito pro připojení flash paměti. Díky GPIO a analogovým pinům jej můžete programovat jako normální Arduino. Navíc máte k dispozici Wi-Fi komunikaci. Díky ní se můžete připojit do Internetu, můžete vytvářet vlastní servery, ke kterým se připojíte z počítače nebo mobilu.

Můžete si koupit velké množství modulů, nebo hotových vývojových desek. Moduly jsou označovány jako ESP-XX a vyrábí jejich firma AI Thinker. Vývojové desky mají obvykle označení NodeMCU nebo WeMos. Od sebe se odlišují množstvím vyvedených pinů, tvarem antény a velikostí flash paměti.

Programování

Já se těchto stránkách věnuji pouze programování přes Arduino IDE. Pokud jste již v rukou drželi Arduino, programování ESP8266 pro vás bude velmi podobné. Ale není to jediná možnost. Existují i jiné. Pokud chcete experimentovat a najít to nejvhodnější pro sebe, zde je seznam dalších možností.

Budete potřebovat

Abyste mohli programovat, potřebujete tyto věci.

  • ESP8266 desku
  • Počítač, na kterém můžete spustit Arduino IDE
  • USB-Serial konverter, který pracuje s napětím 3,3 V. Některé desky ho mají zabudovaný.
  • USB kabel
  • Zdroj napětí 3,3 V. Některé desky ho mají zabudovaný.
  • Wi-Fi síť

Výběr desky

Pokud s ESP8266 pouze začínáte, vyberte si kompletní desku, na které máte všechno. Všechny se dají zasunout do breadboardu a mají konektor pro připojení USB kabelu. Pouze když nabudete určité zkušenosti, můžete přejít na stavění vlastní desky přímo z modulů.

Co třeba o ESP8266 vědět?

Důležité informace.

  • ESP8266 pracuje s napětím 3,3 V. Nemůžete ho připojit přímo na 5 V.
  • ESP8266 nemá piny tolerantní vůči 5 V. V některých pramenech sice najdete informaci, že tolerantní jsou, ale nespoléhejte na to.
  • ESP8266 umí z pinu dodat proud pouze 12 mA. To je velký rozdíl vůči Arduinu, kde můžete bezpečně dodat 20-40 mA.
  • ESP8266 má pouze jeden analogově-digitální převodník, který má neobvyklý rozsah 0-1 V. Na některých deskách (např. NodeMCU) je tento vstup upraven pomocí rezistorů tak, aby umožnil 0-3,3 V.

Přidání podpory ESP8266 do Arduino IDE

Zdrojové texty se nacházejí na GitHub. Ale na stránce stačí přečíst si postup instalace. Desku lze instalovat přímo v IDE.

  • Použijete příkaz menu File/Preferences (Soubor/Vlastnosti).
  • Vložíte URL http://arduino.esp8266.com/stable/package_esp8266com_index.json do Additional Board Manager (Manažer přídavných desek)
  • V seznamu desek se objeví ESP8266.
  • Nainstalujete ji podle postupu. Instalace trvá pár minut.

Součástí instalace může být i instalace driverů pro převodníky. Pokud jste převodníky instalovali kvůli Arduinu, můžete je už mít nainstalovány. Pokud ne, podle názvu čipu na převodníku si musíte stáhnout a nainstalovat příslušný driver. Na některých operačních systémech může být instalace automatická a operační systém sám nainstaluje driver poté, co připojíte desku k USB.

Jaké ESP8266 desky jsou podporovány

Možností v seznamu je mnoho. Já mám momentálně pouze NodeMCU 0.9, čili v dalším textu budu psát o tomto typu desky.

NodeMCU

Tato deska se vyrábí v několika modifikacích.

Generace Verze Obvyklý název Linka
1. 0.9 v1 Banggood (deska žluté barvy, ale lze koupit i černé, převodník CH340)
2. 1.0 v2 Banggood (převodník CH340), Banggood (převodník CP2102)
2. 1.0 v3 (LoLin) Banggood (převodník CH340)

V tabulce jsou všechno velikosti, které se dají zastrčit do zkušebního pole. Deska v1 je trochu širší, takže není na ní úplně jednoduché zastrčit propojovací vodiče a tebe si pomoci drátěnými propojkami pod deskou.

Kromě toho se ještě vyrábějí desky s velikostí Arduino a mini desky.

  • Klony WeMos Mini NodeMCU - Banggood (převodník CH340)
  • WeMos D1 R2 - Banggood (převodník CH340)

Články

 Seznam článků, kde se píše o ESP8266.

ESP8266 HTTP Server

Jednoduché příklady pro HTTP server.

ESP8266 - HTTP server s jednou stránkou

V tomto článku si naprogramujeme HTTP server pomocí mikrokontroléru ESP8266. Bude to jednoduchý HTTP server, který poskytuje jednu stránku. V příkladu si ukážeme, jak takový server naprogramovat. Soustředíme se na to, aby byl zdrojový kód snadno čitelný. Budeme ignorovat většinu internetových příkladů, které používají nepřehledný kód, nebo ignorují možnosti moderních C++ kompilátorů.

ESP8266 - HTTP server a responzivní dizajn

V předchozím článku jsme si vytvořili HTTP server s jednou stránkou. Stránky se formátují pomocí HTML značek. Pomocí těchto značek si navrhnete základní strukturu stránky, která bude vypadat amatérský. Amatérský působí i stránky, které jsou obvykle navrhované v podobných tutoriálu. Pokud chcete, aby HTML stránka, kterou poskytuje vaše ESP8266, pěkně vypadala, musíte ji graficky upravit. Ale dnešní doba přinesla problém v množství zařízení, které mohou HTML stránku zobrazovat. Stránka se může zobrazit na počítači, ale také na mobilu, přičemž každé zařízení má jiné rozlišení obrazovky. Abyste dokázali zobrazit svou stránku na každém zařízení v čitelné podobě, musíte stránky graficky formátovat tak, aby to bylo možné.

ESP8266 - HTTP server s více stránkami

V tomto článku navážeme na články, ve kterých jsme se naučili vytvořit jednoduchou stránku a dát jí hezký responzívny design. Nyní se pokusíme vytvořit HTTP server, který obsahuje více stránek. Mezi jednotlivými stránkami se bude dát přepínat pomocí hypertextu. Stránky budeme stále ukládat ve zdrojovém kódu programu a kvůli větší přehlednosti si to vše rozdělíme na více souborů.

ESP8266 - HTTP server s více stránkami v SPIFFS

V předchozím příkladu jsme vytvořili HTTP server se třemi stránkami. Pokud si prohlédnete zdrojový kód serveru, najdete tam adresář html, ve kterém jsou zdrojové texty HTML stránek. V tomto adresáři jsem navrhoval design každé stránky. Po navržení designu jsem musel zdrojový kód každé stránky zkopírovat do zdrojového kódu v C++. Taková činnost je pracná a neefektivní. V tomto článku se naučíme, jak můžeme vynechat kopírování do zdrojového kódu v C++ a nahradit ho souborovým systémem SPIFFS.

ESP8266 - HTTP server, favicon a ošetření chyb

V předchozím článku jsme zjistili, že náš HTTP server neumí dobře zpracovat hypertextu, které směřují na neexistující stránku. Zjistili jsme, že prohlížeč si sám ke každé stránce vyžádá i soubor favicon.ico. Proto se dnes naučíme, jak se zpracovávají chyby a jak vytvoříme malou ikonu, kterou prohlížeč zobrazuje na záložce, na níž se zobrazuje obsah stránky.

ESP8266 - HTTP server a senzor teploty DS18B20

V předchozích článcích jsme se naučili vytvořit HTTP server pomocí mikrokontroléru ESP8266. Doposud jsme zobrazovali statické stránky. Postupně jsme se naučili zobrazit stránky, které byly ve zdrojovém kódu programu, nebo byly uloženy v souborovém systému SPIFFS. Dnes se posuneme o kus dál. Statickou stránku nahradíme dynamickou stránkou, která bude zobrazovat teplotu. Teplotu budeme měřit pomocí integrovaného obvodu DS18B20.

ESP8266 - HTTP server a AngularJS

Velké množství příkladů pro ESP8266 používá prohlížeč HTML pouze na zobrazení statických stránek, které vygeneroval mikrokontrolér. Takto ale fungoval Internet před deseti lety. Dnes má v sobě každý prohlížeč vysokovýkonné jádro, které pomocí javascriptu dokáže proměnit statické stránky na dynamické. Musíte si uvědomit, že v prohlížeči máte k dispozici vysoký výkon, který je nesrovnatelný s výkonem samotného ESP8266.

  • ESP8266 - HTTP server a jednostránková aplikace s DS18B20

 


10.01.2020


Menu