Připojení esp 01 k Arduino uno. Možnost připojení Wi-Fi modulu esp8266 k arduinu

Čip ESP8266 je jedním z nejoblíbenějších nástrojů pro organizaci bezdrátové komunikace v projektech inteligentních domácností. Pomocí bezdrátového ovladače můžete organizovat komunikaci přes WiFi rozhraní, poskytující projektům Arduino přístup k internetu a možnost vzdáleného ovládání a sběru dat. Na základě ESP8266 byly vytvořeny takové populární desky jako WeMos a NodeMcu a také velké množství domácích projektů. V tomto článku zjistíme, co je ESP82266, jaké jsou jeho odrůdy a jak pracovat s ESP8266 v Arduino IDE.

ESP8266 je mikrokontrolér s WiFi rozhraním, který má schopnost spouštět programy z flash paměti. Zařízení bylo vydáno v roce 2014 čínskou společností Espressif a téměř okamžitě se stalo populárním.

Regulátor je levný, má malý počet vnějších prvků a má následující technické parametry:

  • Podporuje Wi-Fi protokoly 802.11 b/g/n s WEP, WPA, WPA2;
  • Má 14 vstupních a výstupních portů, SPI, I2C, UART, 10bitový ADC;
  • Podporuje externí paměť až 16 MB;
  • Potřebné napájení je od 2,2 do 3,6 V, proudový odběr až 300 mA v závislosti na zvoleném režimu.

Důležitou vlastností je absence uživatelské energeticky nezávislé paměti na čipu. Program je spouštěn z externí SPI ROM pomocí dynamického načítání potřebných programových prvků. Přístup k interním periferiím lze získat nikoli z dokumentace, ale z API sady knihoven. Výrobce uvádí přibližnou velikost paměti RAM – 50 kB.

Vlastnosti desky ESP8266:

  • Pohodlné připojení k počítači - přes USB kabel, napájený z něj;
  • Dostupnost vestavěného měniče napětí 3,3V;
  • Dostupnost 4 MB flash paměti;
  • Vestavěná tlačítka pro restartování a blikání;
  • Všechny porty jsou vyvedeny na desku pomocí dvou hřebenů s roztečí 2,5 mm.

Aplikace modulu ESP8266

  • Automatizace;
  • Různé systémy pro chytrou domácnost: Bezdrátové ovládání, bezdrátové zásuvky, regulace teploty, doplněk k poplašným systémům;
  • Mobilní elektronika;
  • ID značky;
  • Dětské hračky;
  • Mesh sítě.

esp8266 pinout

Existuje velké množství variant modulu ESP8266. Obrázek ukazuje některé z nich. Nejoblíbenější možností je ESP 01.

Provedení programu musí být určeno stavem portů GPIO0, GPIO2 a GPIO15 při ukončení napájení. Rozlišují se dva důležité režimy - při spuštění kódu z UART (GPIO0 = 0, GPIO2 = 1 a GPIO15 = 0) pro flashování flash karty a při spuštění z externí ROM (GPIO0 = 1, GPIO2 = 1 a GPIO15 = 0) ve standardním režimu.

Pinout pro ESP01 je zobrazen na obrázku.

Popis kontaktu:

  • 1 – zem, 8 – výkon. Podle dokumentace je napětí dodáváno do 3,6 V - to je důležité vzít v úvahu při práci s Arduinem, které je obvykle dodáváno s 5 V.
  • 6 – RST, potřebné k restartování mikrokontroléru, když je na něj aplikována nízká logická úroveň.
  • 4 – CP_PD, také slouží k uvedení zařízení do režimu úspory energie.
  • 7 a 0 – RXD0 a TXD0, jedná se o hardwarový UART potřebný pro flashování modulu.
  • 2 – TXD0, na tento pin je připojena LED, která se rozsvítí při nízké logické úrovni na GPIO1 a při přenosu dat přes UART.
  • 5 – GPIO0, vstupní a výstupní port, také umožňuje uvést zařízení do programovacího režimu (když je port připojen na nízkou logickou úroveň a je přivedeno napětí).
  • 3 – GPIO2, vstupní a výstupní port.

Pinout ESP-12

Hlavní rozdíly mezi Arduino a ESP8266

  • ESP8266 má větší množství flash paměti, zatímco ESP8266 nemá energeticky nezávislou paměť;
  • Procesor ESP8266 je rychlejší než Arduino;
  • ESP8266 má Wi-Fi;
  • ESP8266 spotřebovává více proudu než Arduino;

Programování ESP8266 v Arduino IDE

Vývojová sada esp8266 obsahuje:

  • Kompilátor z kolekce GNU Compiler Collection.
  • Knihovny, WiFi, zásobníky protokolů TCP/IP.
  • Prostředek pro načítání informací do řídicího programu.
  • Provozní IDE.

Zpočátku jsou moduly ESP8266 dodávány s firmwarem od výrobce. S jeho pomocí můžete modul ovládat z externího mikrokontroléru a pracovat s Wi-Fi jako modem. Existuje také mnoho dalších hotových firmwarů. Některé z nich umožňují konfigurovat činnost modulu pomocí WEB rozhraní.

Lze naprogramovat z Arduino IDE. S jeho pomocí můžete snadno psát náčrty a nahrávat je do ESP8266, flashovat ESP8266 a nepotřebujete samotnou desku Arduino. Arduino IDE podporuje všechny druhy modulů ESP8266.

V současné době lze pro ESP8266 implementovat následující funkce:

  • Základní funkce jazyka Wiring. Porty GPIO můžete ovládat stejným způsobem jako piny na desce Arduino: pinMode, digitalRead, digitalWrite, analogWrite. Příkaz analogRead(A0) umožňuje číst hodnoty ADC. Pomocí příkazu analogWrite (pin, value) můžete připojit PWM k požadovanému výstupu GPIO. Když je hodnota=0, PWM je zakázáno, maximální hodnota dosáhne konstanty rovné 1023. Pomocí funkcí attachmentInterrupt a removeInterrupt můžete přerušit na jakémkoli portu GPIO kromě 16.
  • Načasování a zpoždění. Pomocí příkazů millis a micros můžete vrátit ms a μs, které uplynuly od začátku. Zpoždění umožňuje pozastavit provádění programu na požadovanou dobu. Funkce zpoždění (…) vám také umožňuje zachovat normální provoz Wi-Fi, pokud skica obsahuje velké prvky, jejichž provedení trvá déle než 50 ms. Yield() je analogem funkce delay(0).
  • Serial a Serial1 (UART0 a UART1). Sériová práce na ESP8266 je podobná práci na Arduinu. Zápis a čtení dat blokuje provádění kódu, pokud je 128bajtová vyrovnávací paměť FIFO a 256bajtová softwarová vyrovnávací paměť plná. Objekt Serial využívá hardwarový UART0, můžete mu nastavit piny GPIO15 (TX) a GPIO13 (RX) místo GPIO1(TX) a GPIO3(RX). Chcete-li to provést, po Serial.begin(); musíte zavolat Serial.swap();. Podobně Serial1 používá UART1, který funguje pro přenos. Požadovaný pin k tomu je GPIO2.
  • Makro PROGMEM. Jeho provoz je podobný jako u Arduina. Umožňuje přesunout data pouze pro čtení a řetězcové konstanty do paměti flash. Zároveň ESP8266 neukládá stejné konstanty, což vede k dalšímu plýtvání flash pamětí.
  • I2C. Před prací se sběrnicí I2C se sběrnice vyberou pomocí funkce Wire.pins(int sda, int scl).
  • SPI, OneWire – plně podporováno.

Použití esp8266 ke komunikaci s Arduinem přes WiFi

Před připojením k Arduinu je důležité pamatovat na to, že napájecí napětí ESP8266 nemůže být vyšší než 3,6, zatímco na Arduinu je napětí 5 V. Je potřeba propojit 2 mikrokontroléry pomocí odporových děličů. Před připojením modulu se musíte seznámit s pinoutem vybraného ESP8266. Schéma zapojení pro ESP8266-01 je znázorněno na obrázku.

3,3 V z Arduina na Vcc&CH_PD na modulu ESP8266, Uzemnění z Arduina na zem z ESP8266, 0 – TX, 1 – RX.

Pro udržení stabilního provozu vyžaduje ESP8266 zdroj konstantního napětí 3,3 V a maximální proud 250 mA. Pokud napájení pochází z převodníku USB-TTL, může dojít k poruchám a poruchám.

Práce s knihovnou Wi-Fi pro ESP8266 je podobná jako s knihovnou pro běžný štít. Existuje několik funkcí:

  • mode(m) – pro výběr jednoho ze tří režimů: klient, přístupový bod nebo oba režimy současně.
  • softAP(ssid) – potřebné k vytvoření otevřeného přístupového bodu.
  • softAP(ssid, heslo) – vytvoří přístupový bod s heslem, které musí mít minimálně 8 znaků.
  • WiFi.macAddress(mac) a WiFi.softAPmacAddress(mac) – definuje MAC adresu.
  • WiFi.localIP() a WiFi.softAPIP() – určení IP adresy.
  • printDiag(Serial); – umožní vám zjistit diagnostická data.
  • WiFiUDP – podpora odesílání a přijímání multicastových paketů v klientském režimu.

Práce se provádí podle následujícího algoritmu:

  • Připojení USB-TTL k USB a k ESP.
  • Spuštění Arduino IDE.
  • V nabídce nástrojů vyberte požadovaný port, desku, frekvenci a velikost paměti flash.
  • Soubor - Příklady - ESP8266WiFi - WiFiWebServer.
  • Do náčrtu si zapište SSID a heslo sítě Wi-Fi.
  • Začněte kompilovat a nahrávat kód.
  • Počkejte na dokončení procesu firmwaru a odpojte GPIO0 od země.
  • Nastavte rychlost na 115200.
  • Dojde k připojení a zaznamená se IP adresa.
  • Otevřete prohlížeč a do adresního řádku zadejte číslo IP/gpio/1
  • Podívejte se na monitor portu, pokud je LED připojena k výstupu GPIO2, měla by se rozsvítit.

NodeMCU založený na esp8266

NodeMCU je platforma založená na modulu esp8266. Slouží k ovládání okruhu na dálku pomocí internetu přes Wi-Fi. Deska je malá, kompaktní, levná a na přední straně má USB konektor. Nedaleko jsou tlačítka pro ladění a restartování mikrokontroléru. Osazen je také čip ESP8266. Napájecí napětí je od 5 do 12 V, vhodné je dodávat více než 10 V.

Velkou výhodou desky je její nízká spotřeba. Často se používají v obvodech s vlastním napájením. Na desce je pouze 11 portů pro všeobecné použití, z nichž některé mají speciální funkce:

  • D1 a D2 – pro rozhraní I2C/TWI;
  • D5-D8 - pro rozhraní SPI;
  • D9, D10 – pro UART;
  • D1-D10 – může pracovat jako PWM.

Platforma má moderní API pro hardwarový vstup a výstup. To umožňuje snížit počet kroků při práci se zařízením a při jeho nastavování. S pomocí firmwaru NodeMCU můžete využít plný provozní potenciál pro rychlý vývoj zařízení.

WeMos založený na esp8266

WeMos je další typ platformy založené na mikrokontroléru esp8266. V souladu s tím existuje modul Wi-Fi, je podporováno Arduino IDE a je zde konektor pro externí anténu. Deska má 11 digitálních vstupů/výstupů, které (kromě D0) podporují přerušení/pwm/I2C/jednodrát. Maximální napájecí napětí dosahuje 3,3 V. Na platformě je také USB konektor. Analogový vstup 1 s maximálním napětím 3,2V.

Pro práci s modulem je potřeba nainstalovat ovladač CH340 a nakonfigurovat Arduino IDE pro ESP8266. Chcete-li to provést, musíte přidat adresu http://arduino.esp8266.com/stable/package_esp8266com_index.json v nabídce nastavení v řádku „další odkaz pro správce desky“.

Poté musíte najít balíček esp8266 by ESP8266 a nainstalovat jej. Poté je třeba z nabídky nástrojů vybrat mikrokontrolér Wemos D1 R2 a zapsat si požadovaný náčrt.

Závěry k ESP8266

S deskami založenými na čipu ESP8266 můžete do svých projektů přidat funkce Big Internet, takže jsou mnohem inteligentnější. Dálkové ovládání, sběr a analýza dat na serveru, zpracování hlasu a obrazu – to vše je dostupné, když náš projekt připojíme přes WiFi k internetu. V následujících článcích se blíže podíváme na to, jak můžete programovat zařízení založená na esp8266, a také věnovat pozornost tak populárním deskám, jako jsou WeMos a NodeMcu.

Rozhodl jsem se studovat Arduino. Postavte si „chytrý“ dům. Někde začít musíte.
Na základě WI-FI modulu ESP8266 můžete získat bezdrátový senzor teploty, vlhkosti, tlaku, světla... Stačí aktualizovat firmware modulu a připojit senzory. Nejsou potřeba žádné další mikrokontroléry.
Zhruba před dvěma lety se na čínském trhu objevily levné WI-FI moduly ESP8266 od čínského vývojáře. Nejedná se pouze o WI-FI modul, ale o plnohodnotný 32bitový mikrokontrolér s vlastní sadou GPIO včetně SPI, UART, I2C.

Specifikace:
Procesor: jednojádrový Tensilica L106 s frekvencí až 160 MHz.
Podporované standardy WI-FI: 802.11 b/g/n.
Podporované typy šifrování: WEP, WPA, WPA2.
Podporované provozní režimy: Klient (STA), Přístupový bod (AP), Klient+Přístupový bod (STA+AP).
Napájecí napětí 1,7..3,6 V.
Spotřeba proudu: až 215 mA v závislosti na provozním režimu.
Počet GPIO: 16 (ve skutečnosti až 11). Dostupné na modulech: ESP-01 - 4, ESP-03 - 7+1, včetně UART. Existují další možnosti modulu.
Rozhraní: 1 ADC, I2C. UART, SPI, PWM.
Externí Flash paměť lze nastavit od 512KB do 4MB.
Datová RAM 80 kB, instrukční RAM - 64 kB.
Podívejme se, v jaké podobě to poslali.


Objednal jsem tři moduly najednou. Jeden na chytrou domácnost stačit nebude.

Tyto moduly jsou neobvyklé. Mají možnost připojení externí antény.


Na stránce obchodu nejsou žádné technické informace.
Zaměřujeme se proto na to, co se na desce nachází a co jsme vykopali.
Obvod modulu se skládá z minimálního počtu částí: samotného čipu ESP8266,


flash paměť 25Q41BT (4M-bit Serial Flash, 512 kB, 256 bajtů na programovatelnou stránku)

a quartz na 26 MHz.

Na seriózní projekty není dostatek paměti. Metoda zvětšení je jednoduchá. Paměť MS stačí připájet na prostornější. Nedávno byla na Muska recenze:

Pro jednoduché projekty je ten, který stojí, docela dost.
Pro návrh našich úkolů bylo rozhodnuto použít model prkénka. Jenže nastal problém.


Výstupy pro programování modulu byly zjevně „nadbytečné“. Musel jsem to trochu předělat.

Levé obrázky jsou původní, pravé jsou po úpravách. Nikoho k tomu nenutím. Je to jen moje rozhodnutí, je to pro mě pohodlnější.
Nyní nic nestojí v cestě a programování je pohodlné.


Jak jsem psal dříve, tyto moduly mohou pracovat jak s interní (na pečetní) anténě, tak s externí. Zpočátku je modul „nakonfigurován“ pro práci s externí anténou. Chcete-li překonfigurovat, budete muset přepájet odporovou propojku.


Rozhodl jsem se ověřit, jak moc se liší zisk vnitřní a vnější antény. Právě za tímto účelem jsem na jednom modulu přepájel propojku.
Objevila se ale další potíž: dva ze tří modulů dorazily prázdné (neblikané).
Zároveň jsem trénoval.
Převodníkový kabel (USB To RS232 TTL UART) z jedné z mých recenzí na Volt-Ampér-Wattmetr s funkcí čítače PZEM-004 mi přišel vhod.


Běžný konvertorový kabel.

Mám levnější variantu. Ale tohle je pohodlnější (pro mě).
Nainstaluji modul na prkénko a vložím do něj ukázkový náčrt pro ESP8266 pomocí Arduino IDE. Existují nuance. Podívejme se na schéma zapojení.

Modul byl napájen z externího zdroje. V mém případě byl napájecí zdroj součástí balení.
Při načítání skici je GPIO 00 nastaveno na Gnd. Chcete-li spustit skicu (po blikání), připojte GPIO 00 k +3,3V.
Připojeno vše funguje. Zbývá jen zkontrolovat, která anténa má vyšší zisk.
Nainstaloval jsem tři moduly na prkénko.
- ESP-201 s vnitřní anténou.
- ESP-201 s „ocasem“ pro externí anténu (součástí balení).
- A toto je standardní modul založený na ESP8266, zakoupený z tohoto odkazu před rokem:

Pro napájení jsem použil PowerBank. Pro čistotu experimentu jsme museli téměř do terénu. Nicméně jeden neautorizovaný router byl stále zachycen :) Název na grafu byl odstraněn. Nebude to překážet.
Sílu signálu vyhodnotím pomocí programu Acrylic Wi-Fi. Existuje mnoho programů, včetně programů pro chytré telefony. Ale tento dokáže sledovat všechny změny v dynamice.
V těsné blízkosti modulů.


Wifi_int_ant - ESP-201 s interní anténou.
Wifi_ext_ant - ESP-201 s „ocáskem“ pro externí anténu.
WeatStat – ESP8266,
Vzdálil se o 10 metrů.


Posunul se o dalších 10 metrů.


Více.


A ještě jedna věc.


Chyby měření jsou přirozeně přítomné. Ale celkový obraz je jasný.
Je čas vyhlásit vítěze.
1. místo: ESP-201 s vnitřní anténou.
2. místo: standardní modul založený na ESP8266.
3. místo: ESP-201 s „ocáskem“ pro externí anténu.
Připájeno na plechovku kondenzovaného mléka.


Obrázek se opravdu změnil.


To nebyla ženská věc... :)
Se vzdálenou anténou je signál mnohem silnější. I když je anténa obyčejná plechovka.
To je v podstatě vše. Ke správnému závěru by mělo stačit to, co jsem napsal. Pokud je něco nejasné, zeptejte se. Možná mi chyběly nějaké body.
Doufám, že to alespoň někomu pomohlo.
Hodně štěstí!
Pokračování…

Produkt byl poskytnut k napsání recenze obchodem. Recenze byla zveřejněna v souladu s článkem 18 Pravidel webu.

Mám v plánu koupit +33 Přidat k oblíbeným Recenze se mi líbila +29 +58

V procesu studia a navrhování stále složitějších projektů přichází čas, kdy vzniká potřeba a touha naučit se pracovat s tak běžným typem komunikace, jako je WiFi. Vzhledem k tomu, že tento typ komunikace vám umožní pohodlně vytvořit jedinou síť pro vaše zařízení chytré domácnosti a ovládat je například z mobilního telefonu, tabletu nebo počítače, jinými slovy vytvořit skutečný chytrý dům, který bude stát získáte desítkykrát méně, než kupujete hotová řešení v obchodě. Použití WiFi se samozřejmě neomezuje jen na toto a příkladů použití tohoto typu komunikace je tolik, že nemá smysl je vypisovat, a pokud jste se dostali na tuto stránku, znamená to, že již potřebujete WiFi z nějakého důvodu používat, jen je potřeba přijít na to, jak s ní správně pracovat .

Přijdeme na to na základě nejlevnějšího a nejoblíbenějšího WiFi modulu ESP8266-01. WiFi modul ESP8266-01 můžete zakoupit na našem webu.

Jednou z hlavních výhod takového modulu je přítomnost paměti a vlastního mikrokontroléru na desce, což mu umožňuje pracovat samostatně načtením skici přímo do modulu samotného.

Modifikací WiFi modulu ESP8266 je ve skutečnosti poměrně hodně a nebudeme je zde vypisovat, jakmile se s jednou naučíte pracovat, můžete snadno začít pracovat s dalšími; Okamžitě bych rád poznamenal, že práce s WiFi se může zdát jako poměrně obtížný úkol, a pokud máte v zavazadle málo dokončených projektů, je lepší se prozatím vzdát WiFi komunikace a využít ve svých projektech rádiovou komunikaci, se kterou je mnohem snazší pochopit. Pro práci s WiFi moduly jsou vytvořeny celé komunity a tematická fóra, což opět dokazuje, jak je pro většinu lidí těžké okamžitě porozumět tomuto typu komunikace a po opětovném přečtení všech informací to většina lidí prostě vzdá. S největší pravděpodobností se mi všechny důležité informace nevejdou jen do tohoto článku a nemá smysl to dělat, jinak to bude mít za následek další průšvih. Pokusím se jít cestou přísného sledu nejdůležitějších bodů, abyste mohli začít chápat princip fungování tohoto typu komunikace a pak jednoduše rozvíjet své vlastní dovednosti v tomto směru.

Začněme a nejprve se podívejme na piny WiFi modulu ESP8266-01.

VCC- napájení modulu od 3V do 3,6V

GND- Země.

RST- Resetujte výstup zodpovědný za restartování modulu.

CH_PD- "vypnutí čipu", když je k němu přivedeno napájení, je aktivován provoz modulu.

TX- přenos dat (rozhraní UART)

RX- příjem dat (rozhraní UART)

GPIO0

GPIO2- I/O port pro všeobecné použití

Piny GPIO0 a GPIO2 jsou úplně stejné digitální piny, se kterými pracujeme na deskách Arduino pro propojení s různými senzory, a používají se v případě implementace nezávislého provozu na interním WiFi mikrokontroléru modulu ESP8266-01.

Pro spolehlivé napájení modulu ESP8266-01 použijte externí stabilizovaný zdroj 3,3V a raději se nepokoušejte odebírat energii z vaší desky Arduino, protože modul spotřebovává proud až 215mA a to může skončit špatně pro vaši ladicí desku. Kde sehnat stabilizovaný 3,3V zdroj, doufám, pro vás není problém, jinak je zjevně příliš brzy na to, abyste se tímto modulem zabývali. Například rád používám tento 3,3V a 5,0V napájecí modul YWRobot k rychlému sestavení obvodů na prkénkách, což vám umožní rychle získat stabilizované napětí 3,3V nebo 5V na odpovídajících napájecích cestách prkénka.

Připojení plus (+) z našeho 3,3V napájení na pin VCC modul ESP8266-01 a mínus (-) přiveďte napájení na výstup GND. V tomto stavu se na modulu rozsvítí červená LED, která nám signalizuje, že napájení je správně připojeno. Aby se modul aktivoval, je nutné připojit i plus (+) napájecí zdroj s výstupem CH_PD modul ESP8266-01 a je vhodné to provést přímo přes odpor 10 kOhm. Nyní, když zapneme napájení, červená LED na modulu by se měla rozsvítit a modrá LED by měla párkrát rychle zablikat. Pokud se vám to stane, pak je vše v pořádku, vše jste správně zapojili a váš modul funguje. V opačném případě znovu zkontrolujte připojení nebo vyměňte modul, protože s největší pravděpodobností nefunguje.

Jdeme dál. Pro práci s WiFi modulem ESP8266 potřebujeme adaptér USB-UART. Existují různé adaptéry, například: FT232RL, CP2102, PL2303. Budeme ale předpokládat, že takové adaptéry nemáte a jako adaptér USB-UART použijeme desku Arduino. Použiji k tomu Arduino NANO desku, ale můžete použít jakoukoli jinou, kterou máte k dispozici. Zapojení na jakékoli desce je stejné. Zapojení provedeme podle následujícího schématu.

Podívejme se, co jsme zde udělali. Okamžitě si všimněte, že jsme propojili piny na desce Arduino pomocí propojky RST A GND. Tato manipulace deaktivuje mikrokontrolér a umožňuje nám vytvořit skutečný adaptér USB-UART z naší desky Arduino.

Vzhledem k tomu, že WiFi modul ESP8266-01 napájíme ze samostatného externího zdroje, nezapomeňte, že v našich projektech musíme vždy připojit zem všech zdrojů. Proto připojíme výstup GND Desky Arduino se zemí (-) náš externí 3,3V napájecí zdroj určený k napájení modulu ESP8266-01.

Závěr TX připojte desku Arduino ke kolíku TX Modul ESP8266-01. Tato linka bude přenášet data z WiFi modulu na desku Arduino. Každý, kdo je obeznámen s rozhraním UART, se může divit: "Ale jak to může být všude, kde se učilo, že TX se musí připojit k RX a RX přijímá." A budete mít pravdu. Je to tak, TX je vždy připojen k RX, ale v případě, kdy vyrábíme UART adaptér z Arduina, je nutné zařízení připojit přímo. Považujte to za výjimku z pravidla.

Čára RX Vaši desku Arduino také připojíme přímo k lince RX Modul ESP8266-01. Tato linka bude přenášet informace z desky Arduino na desku modulu WiFi. Toto spojení však provádíme přes takzvaný dělič napětí, který se skládá ze dvou rezistorů s nominálními hodnotami 1 kOhm a 2 kOhm. Napětí na této lince potřebujeme snížit pomocí dvou rezistorů (dělič napětí), jelikož deska Arduino přenáší logický signál o napětí 5V a WiFi modul pracuje s napětím 3,3V. Pro převod logického signálu bychom mohli použít speciální kartu převodníku logické úrovně, což by bylo samozřejmě správnější, ale opět předpokládejme, že žádný nemáte a museli jsme jít jednodušší cestou a provést to pomocí dělič napětí.

Nyní jsme zapojili vše potřebné pro další práci, ale stále máme další 3 nepoužité piny ( GPIO0, GPIO2 A RST) na WiFi modul ESP8266-01. Pro stabilní provoz WiFi modulu musíme tyto zbývající nevyužité piny vytáhnout do kladné polohy (+) napájecí vedení modulu přes odpory 10 kOhm.

To nás ušetří různých interferencí (rušení) a zajistí stabilní provoz modulu. Je lepší to udělat hned. Jinak se nedivte, že je váš modul neustále přetížený, produkuje nesrozumitelné informace nebo nechce vůbec fungovat. Používání pull-up rezistorů na nepoužitých pinech mikrokontroléru by mělo být pravidlem, pokud chcete stabilní provoz ve svých projektech.

A opět zkontrolujeme funkčnost WiFi modulu ESP8266-01. Zapněte napájení a uvidíte, že se červená LED dioda rozsvítí a modrá LED několikrát zabliká. Pokud vše dopadne takhle, tak super, jedeme dál. V opačném případě kontrolujeme správnost spojů a také kvalitu všech kontaktů. Může to být jen triviální situace, kdy jste vše desetkrát dvakrát zkontrolovali a ujistili se, že je vše správně zapojeno, ale po zapnutí modulu vidíte, že modrá LED se nechová adekvátně, neustále svítí, neustále bliká, nebo nereaguje vůbec na nic. Může to být způsobeno špatným kontaktem na některé lince. Například při sestavování obvodu na prkénku jeden z rezistorů nesedí pevně na svém místě a to způsobuje rušení. Zkontrolujte kvalitu připojení. Modul je velmi citlivý. Nezanedbávejte to. To je častý důvod nestabilního provozu.

Obecně jsme s připojením hotovi. Nyní musíme připravit program Arduino IDE pro práci s WiFi modulem ESP8266-01. K tomu je potřeba stáhnout a nainstalovat do Arduino IDE potřebný archiv s knihovnami, příklady a ESP deskami, které nám následně umožní nahrávat skici přímo do mikrokontroléru modulu ESP8266-01, měnit firmware atp. Pro účely tohoto článku tato nastavení s největší pravděpodobností potřebovat nebudeme, ale zdá se mi, že poté, co jsme přišli na to, jak modul připojit, bude postup správný, pokud si okamžitě stáhneme vše potřebné pro práci s Arduino IDE . Vše je zde v principu jednoduché.

Spusťte program Arduino IDE a přejděte do nabídky "Soubor" - "Nastavení"

V okně, které se objeví, do horního pole napíšeme „esp8266“. Ve výsledku tak budeme mít v okně pouze požadovaný firmware. Po kliknutí na firmware se zobrazí tlačítko "Instalace". Klikněte na tlačítko "Instalace" a počkejte, až se vše nainstaluje. Archiv je poměrně velký, asi 150 megabajtů, takže si budete muset počkat.

Po dokončení instalace. Restartujeme Arduino IDE a uvidíme, jak se nové desky ESP objevily v nabídce „Nástroje“ - „Desky“. To je vše. Dokončili jsme nastavení Arduino IDE. Tato nastavení zatím nepotřebujeme, ale v budoucí práci se bez nich neobejdeme.

Vše máme propojené a připravené, nyní můžeme začít rozumět ovládání. Ve skutečnosti nyní budeme pokračovat v kontrole a konfiguraci modulu pomocí AT příkazů a bez toho se neobejdeme. WiFi moduly jsou implementovány tak, že veškerá komunikace s nimi probíhá pomocí tzv. AT příkazů, které jsou pevně zapojené do firmwaru modulu. Nebudeme zde vypisovat všechny AT příkazy, je jich poměrně hodně a pokud si chcete vše pečlivě prostudovat, snadno je najdete na internetu. A nyní použijeme pro začátek jen to nejnutnější.

A tak připojíme naši desku Arduino přes USB kabel k počítači. A externí zdroj energie, který napájí WiFi modul ESP8266-01 Zatím není třeba zapínat. Spustíme program Arduino IDE, z nabídky „Tools“ vybereme naši desku Arduino, v mém případě je to Arduino NANO a vy si vyberete tu svou. Nezapomeňte také vybrat port, ke kterému je naše Arduino připojeno. Doufám, že tomu všemu rozumíte a víte, jak na to.

Sledování otevřeného portu "Nástroje" - "Monitor portů". Výběr rychlosti portu 74880 (při této rychlosti se modul spustí) a v seznamu vlevo vyberte „NL & CR“.

Nyní připojíme externí zdroj napájení, který napájí náš WiFi modul. Poté byste na monitoru portu měli vidět přibližně následující informace.

Zde vidíme některé informace o našem WiFi modulu (rychlost, velikost paměti na desce atd.). Přijaté informace se mohou lišit v závislosti na verzi firmwaru modulu WiFi. Nezaměřujme se na to. Důležité je něco jiného. Níže vidíme sadu nesmyslných znaků, to znamená, že námi nastavená rychlost portu (74880 baudů) je vhodná pouze pro počáteční načtení modulu, abychom tyto informace normálně viděli, ale tato rychlost není vhodná pro běžnou komunikaci s modul WiFi.

Pro výběr správné rychlosti portu jednoduše změníme rychlost portu a odešleme na port symboly (pole nahoře a tlačítko Odeslat) NA dokud nedostaneme odpověď OK. Pokud se pokusíte odeslat znaky právě teď NA do portu rychlostí 74880, dostanete jako odpověď další jeden nebo dva nesmyslné znaky.

Zkuste okamžitě nastavit rychlost na 115200 baudů a odeslat AT příkaz. Nejčastěji jsou moduly flashovány touto rychlostí.

Toto je obrázek, který byste měli vidět na monitoru vašeho portu. Pokud v odpovědi stále dostáváte nesrozumitelnou sadu znaků, snižte rychlost a odešlete znovu NA příkazy, dokud se odpověď nevrátí OK. Pokud jste vyzkoušeli všechny rychlosti a nedostali jste správnou odpověď, tak máte smůlu a modul je flashován firmwarem nestandardní rychlostí. Pak už zbývá jen přeflashovat modul normálním firmwarem, ale to je téma na samostatný článek.

Doufám, že je vše v pořádku a zvolili jste správnou rychlost. Mimochodem, pokud se pokusíte vypnout a znovu zapnout WiFi modul poté, co jste zvolili správnou rychlost, pak namísto stejné počáteční informace, která byla správně zobrazena při rychlosti 74880 baudů, budete naopak uvidíte neuspořádanou sadu znaků, ale na konci uvidíte slovo „připraven“ “. Ale máme možnost zobrazit tyto počáteční informace v normální podobě správnou rychlostí, abychom to udělali, musíme programově restartovat modul pomocí příkazu AT AT+RST.

Chcete-li zjistit verzi firmwaru vašeho WiFi modulu ESP8266-01, musíte odeslat příkaz do monitoru portů AT+GMR a jako odpověď obdržíte přibližně následující informace:

WiFi modul ESP8266-01 může pracovat v režimu přístupového bodu i klienta. Chcete-li modulu umožnit pracovat ve všech režimech najednou, odešlete příkaz do monitoru portu AT+CWMODE=3 a jako odpověď byste měli obdržet OK.

Tým AT+CWLAP vám umožní zobrazit všechny přístupové body WiFi, které váš modul aktuálně vidí. Můj modul například aktuálně vidí v oblasti pokrytí pouze tři přístupové body WiFi. Odpověď by měla znít nějak takto:

Například známe heslo pro třetí přístupový bod a pro připojení k němu provedeme příkaz AT+CWJAP="jméno","heslo", v mém případě tento příkaz vypadá AT+CWJAP="dsl_unlim_512_home","11111111", na který dostáváme úspěšnou odpověď:

Parametry příkazu se zapisují do flash paměti WiFi modulu ESP8266-01 a pokud modul vypneme a znovu zapneme, automaticky se připojí k tomuto přístupovému bodu. Podívejte se, náhodou nepovolte mezeru v příkazu, jinak dostanete odpověď CHYBA. Upozorňujeme, že v nejnovějších verzích firmwaru se doporučuje použít příkaz AT+CWJAP_CUR, to znamená, že příkaz bude vypadat takto AT+CWJAP_CUR="jméno","heslo". Pokud náhle zapomeneme, ke kterému přístupovému bodu je náš modul připojen, musíme odeslat příkaz AT+CWJAP? nebo AT+CWJAP_CUR? a jako odpověď obdržíme přístupový bod, ke kterému je WiFi modul aktuálně připojen.

S připojením a počátečním nastavením WiFi modul ESP8266-01 přišli jsme na to. Modul funguje a je připraven k realizaci vašich dalších projektů. Rozebrat všechny možné příklady práce s tímto modulem v rámci jednoho článku prostě není možné a budeme se tomu věnovat v následujících článcích. A pro ty, kteří se v programování moc nevyznají, ale chtějí opravdu rychle začít spravovat své projekty pomocí WiFi, doporučuji seznámit s projektantem projektu RemoteXY WiFi. Tato stránka vám pomůže snadno vytvořit ovládací rozhraní pro váš mobilní telefon nebo tablet a pomocí něj ovládat vaše zařízení, ke kterému připojíte WiFi modul.

Níže uvedené pokyny a schémata nejsou „správné“ z hlediska návrhu obvodu a neměly by se používat ve skutečných koncových zařízeních. Toto jsou zjednodušené pokyny pro rychlý start, abyste mohli svůj modul ESP8266 spustit s minimální sadou komponent. Navíc všechny tyto zjednodušené obvody skutečně fungují a byly autorem osobně testovány na různých modulech ESP8266. Jak testovat ESP8266

K testování ESP8266, které jste si právě zakoupili, budete potřebovat 3,3V stabilizovaný zdroj napětí.

Pozor! Přípustný rozsah napájecího napětí pro modul ESP8266 je od 3,0 do 3,6 voltů. Přivedení zvýšeného napájecího napětí do modulu zaručeně způsobí selhání ESP8266.

Chcete-li otestovat ESP8266 ESP-01, stačí připojit tři piny: VCC a CH_PD (povolení čipu) k napájecímu zdroji 3,3 V a GND k zemi. Pokud nemáte ESP-01, ale jiný modul a na něm je vyvedeno GPIO15, tak budete muset dodatečně připojit GPIO15 k zemi.

Pokud je úspěšně spuštěn tovární firmware na modulu ESP8266, rozsvítí se červená LED (kontrolka napájení u některých verzí modulu, například ESP-12, může chybět) a modrá LED několikrát zabliká (jedná se o indikátor přenosu dat z modulu do terminálu přes linku TX-RX, může mít jinou barvu) a ve vaší bezdrátové síti by se měl objevit nový přístupový bod s názvem „ESP“ XXXX“, který můžete vidět z jakéhokoli zařízení WiFi. Název přístupového bodu závisí na výrobci firmwaru a může se lišit, například AI-THINKER AXXXXC. Pokud se přístupový bod objeví, můžete pokračovat v experimentech dále, pokud ne, znovu zkontrolujte napájení, CH_PD, GND, a pokud je vše správně připojeno, pak máte s největší pravděpodobností vadný modul, ale existuje naděje, že firmware v modulu má nestandardní nastavení a , snad vám pomůže flashování. Jak rychle připojit ESP8266

Minimální sada pro připojení a flashování modulu ESP8266 obsahuje:

    Pájecí prkénko

    Sada vodičů samec-samice pro prkénko nebo kabel DUPONT M-F

    USB-TTL převodník (hledejte takový s přepínačem pro 5 a 3,3 V, nebo 3,3 V verzi) na bázi FTDI, PL2303 nebo podobného čipu. Ideální možností by bylo, když jsou DTR a RTS vyvedeny na USB-TTL adaptéru - to vám umožní rychle načíst firmware z Arduino IDE, UDK, Sming bez ručního přepínání GPIO0 na zem.

Pokud máte 5voltový USB-TTL převodník, pak budete potřebovat navíc stabilizátor výkonu na čipu 1117 nebo podobném (proud minimálně 300 mA, nejlépe s kondenzátorovým obvodem ve formě hotového modulu, ale stačí mikroobvod) a zdroj energie (Pro 1117 je pětivoltové nabíjení ze smartphonu perfektní). Obecně platí, že je lepší nenapájet ESP8266 z USB-TTL převodníku nebo Arduina, ale použít samostatný zdroj - to vás ušetří mnoha problémů.

V rozšířené sadě pro stálou a pohodlnou práci s modulem ESP8266 budete navíc potřebovat napájecí konektory, DIP přepínače, odpory a LED. Používám také levný USB monitor (Charger Doctor - přejděte v seznamu dolů, vyhledejte jej v bílém pouzdře), který umožňuje vidět spotřebovaný proud (s čínskou přesností) a mírně chrání sběrnici USB před zkratem v napájení (pokud dojde ke zkratu, displej monitoru začne blikat)

    Existuje mnoho modulů ESP8266 a první věc, kterou potřebujete, je identifikovat váš modul a určit jeho pinout. Na našem webu je nádherná tabulka s fotografiemi modulů a jejich rozmístěním. Po zbytek této rychlé příručky pro začátečníky budeme předpokládat, že pracujeme s modulem ESP8266 ESP-01 V090. Pokud máte jiný modul (například ESP-07 nebo ESP-12) a je na něm umístěn pin GPIO15 (MTDO, HSPICS), je nutné tento pin vytáhnout k zemi jak pro normální start modulu, tak pro režim firmwaru.

    Dvakrát zkontrolujte, zda je napájecí napětí modulu 3,3 V.

    Pozor! Přípustný rozsah napájecího napětí pro modul ESP8266 je od 3,0 do 3,6 voltů. Přivedení zvýšeného napájecího napětí do modulu zaručeně způsobí selhání ESP8266. Napájecí napětí může být výrazně nižší než 3 volty uvedené v dokumentaci

    Pokud jste šťastným majitelem 3,3 V USB-TTL převodníku, pak připojte modul jako na obrázku níže (levá strana). Pokud máte pouze pětivoltové USB-TTL, použijte jako návod pravou stranu obrázku.

Na první pohled se obvod vpravo může zdát „lepší“ díky použití samostatného zdroje, ale není to tak úplně pravda – při použití 5voltového USB-TTL převodníku je vhodné přidat odporový dělič pro přizpůsobení pětivoltovým a třívoltovým logickým úrovním nebo modulu převodu úrovní.

Pozor! Na pravém obrázku připojíte UTXD (TX) a URXD (RX) modulu ESP8266 k pětivoltové TTL logice na vlastní nebezpečí a riziko! V dokumentaci k SoC ESP8266 je uvedeno, že modul je tolerantní pouze k 3,3 V logice. Ve většině případů připojení ESP8266 k pětivoltové logice NEPOŠKODÍ ESP8266, ale váš modul může mít smůlu. Pro eliminaci rizika selhání modulu ESP8266 se doporučuje použít 3,3V USB-TTL převodník nebo TTL 5v-3,3v převodník nebo odporový dělič (na obrázku není znázorněn). Více o koordinaci logické úrovně si můžete přečíst zde. Riskantní geekové jako já připojují ESP8266 na pětivoltovou TTL logiku přímo a netrápí se.

Pozor! Pravý obrázek ukazuje zapojení stabilizátoru výkonu 1117 bez dodatečné kabeláže. Funguje to, ale přesto doporučujeme použít schéma zapojení 1117 s lemováním kondenzátoru - zkontrolujte schéma zapojení s datovým listem vašeho stabilizátoru nebo použijte hotový modul založený na 1117.

Červená - napájení 3,3V

Černá - GND

Žlutá - strana ESP8266 - RX, strana USB-TTL - TX

Zelená - strana ESP8266 - TX, strana USB-TTL - RX

Oranžová - CH_PD (CHIP ENABLE) - musí být vždy připojen k napájení

Modrá - GPIO0 - připojeno přes přepínač k zemi pro aktivaci režimu blikání modulu. Pro normální start modulu lze GPIO0 nechat nikde nepřipojené.

Růžová na schématu vpravo - nestabilizované napájení 5-8 voltů

4. Pro spuštění modulu přerušte obvod GPIO0 - GND a můžete připojit napájení (a přesně v tomto pořadí: nejprve se ujistíme, že GPIO0 „visí ve vzduchu“, poté napájíme VCC a CH_PD)

Pozor! Ve výše uvedených, skutečně fungujících, příkladech zapojení ESP8266 používají připojení pinů ESP8266 „napřímo“ k zemi a napájení, nebo „visí ve vzduchu“, jelikož nemáme nikde zapojený RESET, což je absolutně nesprávné a je vhodné pouze pro prvních pár experimentů, i když na velké většině modulů funguje docela dobře. Pouze pin VCC je připojen „přímo“ k napájení zbývající piny: CH_PD, RESET, GPIO0, GPIO2 musí být vytaženy (pulup) k napájení (VCC) přes odpor od 4,7 do 50 kOhm. „Přímo“ připojíme pouze GND na záporný (společný vodič) napájecího zdroje a GPIO0 (pulldown) také vytáhneme přes odpor až 10k na GND, abychom modul uvedli do režimu stahování firmwaru. Pokud plánujete pokračovat v experimentování s ESP8266, proveďte správné zapojení, stejně jako u jiných mikrokontrolérů. Podrobný popis pullup a pulldown je nad rámec tohoto článku, ale popis správného zapojení I/O portů si můžete snadno vygooglit. „Správné“ připojení vám umožní vyhnout se mnoha „zázrakům“ a problémům a bude nevyhnutelně nutné, pokud narazíte na potíže se spuštěním nebo blikáním modulu ESP8266. Jak správně připojit ESP8266

Pokud plánujete používat ESP8266 déle než jeden večer, budete potřebovat možnost připojení, která nabízí větší stabilitu. Níže jsou dvě schémata připojení: s podporou automatického načítání firmwaru z Arduino IDE, UDK, Sming a bez něj.

Schéma zapojení pro ESP8266 (bez automatického načítání firmwaru jej flashneme tak, že nejprve nainstalujeme propojku BURN a restartujeme modul)

Schéma zapojení s podporou automatického načítání firmwaru z Arduino IDE, UDK, Sming. Nástroj Flash Download Tool a XTCOM_UTIL možná budou muset zakázat RTS/DTR. Pokud je pro vás nepohodlné zakázat RTS a DTR, můžete do obvodu přidat propojky

Tato schémata nezobrazují zapojení ADC a volných GPIO - jejich zapojení bude záviset na tom, co chcete implementovat, ale pokud chcete stabilitu, pak nezapomeňte přitáhnout všechny GPIO k napájení (pullup) a ADC k zemi (pulldown ) přes pull-up odpory .

Rezistory při 10k lze vyměnit za jiné od 4,7k do 50k s výjimkou GPIO15 - jeho hodnota musí být do 10k. Hodnota kondenzátoru, který vyhlazuje vysokofrekvenční pulzace, může být různá.

Pokud používáte režim hlubokého spánku, budete muset propojit RESET a GPIO16 přes rezistor hlubokého spánku 470 Ohmů: pro ukončení režimu hlubokého spánku se modul sám restartuje použitím nízké úrovně na GPIO16. Bez tohoto spojení bude hluboký spánek pro váš modul věčný.

Na první pohled se zdá, že tyto diagramy naznačují, že GPIO0, GPIO2, GPIO15, GPIO1 (TX), GPIO3 (RX) jsou vytížené a nemůžete je použít pro své účely, ale není tomu tak. Vysoká úroveň na GPIO0 a GPIO2, nízká úroveň na GPIO15 jsou vyžadovány pouze ke spuštění modulu a následně je můžete používat podle svého uvážení, jen nezapomeňte zajistit požadované úrovně před restartem modulu.

TX, RX můžete použít jako GPIO1 a GPIO3, nezapomeňte, že když se modul spustí, jakýkoli firmware stáhne TX a odešle ladicí informace do UART0 rychlostí 74480, ale po úspěšném načtení je můžete použít nejen jako UART0 pro vyměňovat data s jiným zařízením, ale také jako běžné GPIO.

U modulů s menším počtem drátových pinů, jako je ESP-01, není nutné připojování nedotažených pinů, tzn. na ESP-01 jsou zapojeny pouze následující: VCC, GND, GPIO0, GPIO2, CH_PD a RESET - to je vše, co dotáhnete. Není potřeba pájet přímo na čip ESP8266EX a vytahovat holé piny pouze v případě, že to opravdu potřebujete.

Tato schémata zapojení se zrodila po mnoha experimentech prováděných členy našeho fóra a shromážděná kousek po kousku z roztroušené a zpočátku nepřístupné dokumentace naší komunitou, jen jsem se pokusil tyto znalosti spojit na jednom místě. Na našem fóru najdete mnoho tipů na připojení. Zde můžete klást otázky nebo najít pomoc při řešení problémů. Pokud v tomto článku vidíte chybu nebo nepřesnost nebo chcete něco přidat, dejte mi prosím vědět ve speciálním tématu na našem fóru.

Pozor! Ani tato schémata nelze nazvat „ideálními“. Pro dokonalost se meze nekladou: k UART1 je vhodné připojit druhý USB-TTL (u ESP8266 můžete vzít pouze GND a UTXD1, tedy GPIO2) pro připojení ladícího terminálu (budete potřebovat druhý USB-TTL převodník) - pak můžete flashovat modul ESP8266 přes UART0 bez deaktivace ladícího terminálu na UART1. Bylo by dobré na piny obou UARTů zapojit malé odpory, dát diodu do vedení RTS, přidat kondenzátor na napájecí vedení pro tlumení nízkofrekvenčních pulsů atd. Je to velmi pohodlné, například v této debugovací desce: LED jsou připojeny ke všem GPIO, fotorezistor je připojen k ADC, ale je škoda, že tam není tlačítko RESET a na GPIO0 je pouze jeden jumper.

Bylo by správné vám říci, že ideální a zároveň univerzální schéma zapojení pro ESP8266 neexistuje. Jde o to, že hodně záleží na firmwaru, který tam nahrajete. Výše uvedená schémata jsou určena pro začátečníky, kteří teprve začínají ovládat ESP8266 pro experimentování. U skutečných projektů možná budete muset schéma trochu změnit. Chcete-li například flashovat firmware TCP2UART, musíte připojit RTS k GPIO15 a CTS k GPIO13. Doporučuji také věnovat zvláštní pozornost výživě v reálných projektech.

Připojení ESP8266 přes Arduino

Pokud nemáte po ruce 3,3V USB-TTL převodník, ale máte Arduino s vestavěným USB-TTL převodníkem, můžete použít toto schéma zapojení

Na co si dát pozor:

    Arduino Reset je připojen k GND (modrý vodič), aby se mikrokontrolér na Arduinu nespustil, v této podobě používáme Arduino jako transparentní převodník USB-TTL

    RX a TX nejsou spojeny křížově, ale přímo - RX - RX (zelená), TX - TX (žlutá)

    Vše ostatní je zapojeno stejným způsobem jako v předchozích příkladech

Pozor! Tento obvod také vyžaduje přizpůsobení úrovním TTL 5 voltů na Arduinu a 3,3 voltů na ESP8266, ale stejně funguje dobře.

Pozor! Arduino může mít nainstalovaný stabilizátor napájení, který nevydrží proud požadovaný ESP8266, takže před připojením zkontrolujte datový list stabilizátoru, který jste nainstalovali. Nepřipojujte současně s ESP8266 další komponenty spotřebovávající energii kvůli riziku poškození regulátoru výkonu zabudovaného v Arduinu.

Existuje další schéma pro připojení Arduina a ESP8266 pomocí SoftSerial. Protože pro knihovnu SoftSerial je rychlost portu 115200 příliš vysoká a nezaručuje stabilní provoz, nedoporučujeme používat tento způsob připojení, ačkoli jsou lidé, kterým vše funguje stabilně (i když pouze rychlostí 9600). Náčrt takového schématu zapojení (díky nec3540A) Připojení ESP8266 přes RaspberryPi

Ano, můžete „zabíjet vrabce“, pokud nemáte po ruce žádný převodník USB-TTL. Připojení přes malinu je podobné Arduinu, ale ne tak pohodlné, protože... Dále budete potřebovat 3,3V stabilizátor napájení. K ESP8266 připojíme RX, TX, GND maliny, vezmeme VCC a GND ze stabilizovaného 3,3 voltového zdroje. Vezměte prosím na vědomí, že musíte připojit GND všech zařízení: malina, stabilizátor a ESP8266. Osobně jsem u ESP8266 nezkoušel brát 3,3 voltu z maliny, takže vám tuto možnost nenabídnu. Pokud stabilizátor vestavěný do vaší verze maliny pojme až 300 miliampérů dodatečné zátěže, pak je připojení ESP8266 docela možné. Pokud chcete riskovat sami, pokračujte.

Nastavení ESP8266

Modul ESP8266 jsme tedy připojili k USB portu (přes USB-TTL nebo Arduino), nyní se musíte ujistit, že jsou ovladače pro vaše USB-TTL nebo Arduino správně nainstalovány a v systému se objeví nový virtuální sériový port. Budete potřebovat program - terminál sériového portu. Můžete použít libovolný, ale musí splňovat následující požadavek: každý příkaz odeslaný z počítače na sériový port musí končit znaky CR+LF.

Velmi oblíbený je program CoolTerm (existují verze pro Win/MAC/Linux).

Váš skromný sluha je autorem open-source programu ESPlorer, který získal mezinárodní uznání. ESPlorer vám umožní nezadávat AT příkazy ručně a snadno pracovat s lua skripty pod NodeMCU (o tom jindy) a můžete jej používat i jako běžný terminál. Diskuze o ESPlorer na našem fóru a na esp826.com

Připojení k sériovému portu bude vyžadovat trochu magie: díky rozmanitosti firmwaru pro ESP8266 lze připojení provádět různými rychlostmi. Požadovanou rychlost lze zjistit jednoduchým vyhledáváním ve třech možnostech: 9600, 57600 a 115200. Jak hledat? Připojte se k virtuálnímu sériovému portu v terminálovém programu nastavením následujících parametrů: 9600 8N1, poté restartujte modul vypnutím CH PD (chip enable) ze zdroje (USB-TTL zůstává připojeno k USB) a znovu jej zapněte (tzn. jen zkresli CH PD, proč nezkreslujeme napájení - přečtěte si zde, můžete také zkratovat RESET na zem a restartovat modul) a sledovat data v terminálu. Nejprve by se měly rozsvítit LED diody na ESP8266, jak je popsáno na začátku článku v části Testování ESP8266. Za druhé, v terminálu byste měli vidět „smetí“ různých znaků končících řádkem „připraveno“. Pokud nevidíme „připraveno“, znovu se připojíme k terminálu jinou rychlostí a znovu modul restartujeme.

Při jedné z možností rychlosti „připraveno“ stále uvidíte – blahopřejeme, váš modul je připraven k použití. Pokud ne, pak vítejte na našem fóru - pokusíme se pomoci, ale nejprve si přečtěte toto téma.

Trochu více o „odpadu“. Faktem je, že když se firmware spustí, UART modulu ESP8266 se přepne na přenosovou rychlost 74 880 (ti Číňané jsou tak legrační), vydá ladicí informace do UART, pak přepne rychlost portu na 115200 (nebo 9600 nebo 57600, v závislosti na verzi firmwaru) , takže se nám tyto informace o ladění jeví jako smetí, protože připojujeme se k modulu jinou rychlostí. K ESP8266 se můžete připojit rychlostí 74 880 (ESPlorer tuto rychlost podporuje) a uvidíte tyto informace o ladění, bude to něco takového:

Wdt reset load 0x40100000, len 25052, room 16 tail 12 chksum 0x0b ho 0 tail 12 room 4 load 0x3ffe8000, len 3312, room 12 tail 4 chksum 0x53 load 0x53 room fx73ffe tail x0d c součet 0x0d

ALE! neuvidíte „připraveno“ a nebudete moci modul ovládat, dokud se znovu nepřipojíte k rychlosti, se kterou běží firmware.

Co dělat dál

Pokud máte nový modul, pak je pravděpodobně flashován jedním ze starých vlastních AT firmwarů. S největší pravděpodobností se jedná o nějaký druh AI-THINKER AT v0.16 SDK v0.9.2. Verzi firmwaru můžete zkontrolovat pomocí příkazu „AT+GMR“, tzn. přímo v programu terminálu zadejte AT+GMR bez uvozovek a stiskněte Enter. Modul by měl odpovědět „OK“ a zobrazit verzi firmwaru (např. „0016000092“ - výstupní formát verze se v různých verzích firmwaru AT liší). Ovládání modulu ESP8266 pomocí AT příkazů si zaslouží samostatný článek, ale můžete na to snadno přijít sami pomocí jedné z našich referenčních knih o AT příkazech:

V době psaní tohoto článku je aktuální verze firmwaru pro ESP8266:

Verze AT příkazů v0.21, verze SDK v0.9.5 Aktualizace firmwaru ESP8266

Modul ESP8266 je pozoruhodný tím, že nevyžaduje speciální programátor - firmware se aktualizuje na stejném hardwaru, na kterém modul ESP8266 připojíte k počítači, tzn. i přes USB-TTL převodník (nebo Arduino či RPi). Chcete-li aktualizovat firmware na modulu ESP8266, postupujte takto:

    Stáhněte si novou verzi firmwaru z našeho webu ze sekce firmware ESP8266 (zde je odkaz na nejnovější verzi firmwaru AT 0.21 SDK 0.9.5 v době psaní tohoto článku)

    Stáhněte si jeden z nástrojů pro flashování ESP8266 v závislosti na vašem operačním systému ze sekce ESP8266 Utilities na našem webu

    pro systémy Win je vhodný XTCOM UTIL (je pohodlné pracovat, pokud se firmware skládá z jednoho souboru), multiplatformní esptool (je nutný python, je potřeba zadat parametry na příkazovém řádku), FLASH DOWNLOAD TOOL (mnoho nastavení, je to vhodné flashovat firmware sestávající z několika souborů, umožňuje „shromáždit firmware do jednoho souboru z několika). Najdete i další programy na flashování ESP8266 – vyzkoušejte různé a použijte ten, který se vám nejvíce líbí.

    Odpojte svůj terminálový program od sériového portu

    Zakázat CH PD ze zdroje, připojte GPIO0 modulu na GND, připojte zpět CH PD modul.

    Spusťte program firmwaru modulu a nahrajte nový firmware do modulu ESP8266.

Načítání firmwaru do modulu se obvykle provádí rychlostí 115200, ale režim firmwaru modulu podporuje automatickou detekci rychlosti a firmware lze načíst rychlostí 9600 a vyšší. Maximální rychlost závisí na mnoha faktorech (váš USB-TTL převodník, délka drátu atd.) a lze ji určit experimentálně na základě konfigurace vašeho konkrétního zařízení.

Všechny nejnovější verze firmwaru se načítají z adresy nula (0x00000).

Diskuse k tomuto článku na našem fóru

Diskuse o problémech při připojování ESP8266 na našem fóru

Článek Aktualizace firmwaru ESP8266 podrobně popisuje nahrání firmwaru do modulu pomocí programu XTCOM_UTIL.

Od zvládnutí nových mikrokontrolérů Arduino uplynulo velmi málo času, když jsem narazil na informace o modulu ESP8266 a rozhodl jsem se vrhnout do nového světa pro sebe: nového mikrokontroléru a bezdrátové sítě Wifi. Dobrou zprávou je, že takové moduly můžete naprogramovat pomocí programu Arduino IDE, který již ovládáte. Každý krok se ale musí kontrolovat.

ESP8266 EX-12E:


 má 11 vstupů/výstupů (GPIO), což rozšiřuje jeho možnosti
 pouze tato verze má vstup ADC
 možnost osazení SMD Příprava k provozu

Pro provoz modulu potřebujete:

 použít logickou jedničku na EN vstup (CH_PD)
 pro vstup do režimu firmwaru musíte před zapnutím modulu zkratovat GPIO0 k zemi
 předložit 3,3V na VCC

Pro první kroky se mi zdálo trochu riskantní začít s tímto modulem pracovat a objednal jsem si stavebnici NodeMCU DevKit ESP8266 E-12 a vývojová deska Štít motoru ESP 8266 E-12 Neměl jsem v úmyslu ovládat motory, ale zaujala mě možnost přímého připojení modulu na USB a sladění napájení všech obvodů.


Instalováno ARDUINO 1,6,6. Pak jsem to zadal do nastavení programu http://arduino.esp8266.com/stable/package_esp8266com_index.json a dovnitř Nástroje byly vystaveny tabule vč NodeMCU 1.0 (modul ESP-12E) Stáhl jsem si příklad WiFiClient a při kompilaci se mi zobrazuje hromada chybových zpráv. Šel jsem na fórum ESP8266.ru, kde mi bylo doporučeno použít předchozí verzi programu Arduino - 1.6.5. Pro jistotu jsem přeinstaloval systém (obnovil ze zálohy) a nainstaloval Arduino 1.6.5. Stejným postupem jsem zahrnul i potřebné knihovny. Kontroluji, vše je v pořádku - žádné chyby!

Dost textů, teď konkrétně a s obrázky, které jsem udělal.

1. Zadejte cestu ke knihovnám (můžete je oddělit čárkami. Na obrázku je pouze jedna cesta)


2. Z nabídky vyberte Správce desek


3. Pole s novou knihovnou se objeví úplně dole v seznamu, který se otevře ESP8266. (Musel jsem to otevřít dvakrát, protože vedoucí ještě nevyzvedl knihovny). Aby se tlačítko zobrazilo, musíte toto pole vybrat myší. Instalovat


4. Přejděte znovu do nabídky Nástroje a vyberte desku NodeMCU 1.0 (modul ESP-12E)

Pokud je deska připojena k počítači, měli byste port okamžitě nainstalovat. Pokud počítač nerozpozná nové zařízení, což lze vidět ve správci zařízení počítače, měli byste nainstalovat potřebný ovladač. Můj modul je vyžadován USB ovladač CP2102.

Je čas vám říct, co mám v plánu. Doma na zdi visí velká mapa světa, na které jsou mnou navštívená místa osvětlena LED diodami různých barev. Modré LED tedy osvětlují přístavy a body v oceánu – práce v Ústavu oceánologie; žlutá - armáda a tak dále. LED diody mění svůj jas a někdy blikají. To vše řídí Arduino Nano. Nyní chci, aby vše bylo ovládáno modulem ESP8266 a bylo možné měnit režimy ze smartphonu přes wifi. Úkol není těžký, když víte, jak na to, ale kdy je to poprvé?!

První věc, kterou jsem potřeboval zkontrolovat, bylo, které kolíky na ESP8266 mohu použít k výstupu signálů PWM pro ovládání jasu barevných LED kanálů. Na mapě světa jsou celkem čtyři barevné kanály. V každém kanálu je asi 20 LED. Po marném hledání na internetu jsem použil metodu hrubé síly, změnil jsem aktivitu GPIO pinů v programu a identifikoval 4 piny. Později jsem našel tabulku, mapu nohou, modulu ESP8266, který vyhovoval mé možnosti.

IO index pin ESP8266 IO index pin ESP8266
0 GPIO16 7 GPIO13
1 GPIO5 8 GPIO15
2 GPIO4 9 GPIO3
3 GPIO0 10 GPIO1
4 GPIO2 11 GPIO9
5 GPIO14 12 GPIO10
6 GPIO12

První část programu tedy funguje. Vybral jsem první čtyři piny 0-3, tedy v programu jsou to GPIO16, GPIO5, GPIO4, GPIO0, respektive na modulu DevKit ESP8266 E-12 jsou to piny D0-D3.

Jak používat wifi?

Při hledání řešení jsem šel na web blynk.cc, ze kterého jsem si stáhl a nainstaloval program pro smartphone (BLYNK FOR ANDROID) a knihovnu pro Android IDE. Program pro smartphone se bez problémů nainstaluje automaticky přímo z webu blynk.cc.
Také jsem si bez problémů stáhl knihovnu Blynk_v0.3.1.zip (275 KB) a nainstaloval. Chcete-li to provést, spusťte program Arduino, vyberte z nabídky PŘIDAT Knihovnu .ZIP...


Knihovny byly nainstalovány přímo z archivu, což je pohodlné.

Po inovacích je zpravidla lepší program restartovat.

Vybraný vzorek Blynk>BoardsAndShields>ESP8266_Standalone a na základě toho jsem napsal svůj náčrt:

Ke smartphonu jsem připojil 4 velké posuvníky s nastavením rozsahu na 0-1023 a jedno tlačítko, které přepíná režimy podsvícení mapy světa.

Modul DevKit ESP8266 se nachází v pravém dolním rohu karty.

Schéma je celkem jednoduché. Jediné, co jsem potřeboval udělat, bylo zařídit úrovně výkonu a řídicího signálu. LED diody napájí hlavní 12V zdroj. Na DevKit jsem napájel 5 voltů přes převodník


Obrázek ukazuje jednu skupinu LED. Takové skupiny jsou celkem čtyři a liší se barvou. Každá skupina se může skládat z různého počtu paralelně zapojených LED linek, ale každá linka nemá více než 5 LED, to je určeno napájecím napětím 12V. Pokud je potřeba menší počet LED, pak je do obvodu zařazen buď tlumící odpor, nebo se požadovaný jas dosáhne pomocí kanálového potenciometru.




Nahoru