Príručka pre začiatočníkov k ESP8266 a tweetovaniu pomocou ESP8266: 17 krokov (s obrázkami)
Príručka pre začiatočníkov k ESP8266 a tweetovaniu pomocou ESP8266: 17 krokov (s obrázkami)
Anonim
Príručka pre začiatočníkov k ESP8266 a tweetovaniu pomocou ESP8266
Príručka pre začiatočníkov k ESP8266 a tweetovaniu pomocou ESP8266

O Arduine som sa dozvedel pred 2 rokmi. Začal som sa teda hrať s jednoduchými vecami, ako sú LED diódy, tlačidlá, motory atď. Potom som si povedal, že by nebolo skvelé sa pripojiť k činnostiam, ako je zobrazovanie počasia, cien akcií, načasovania vlakov. LCD displej. Zistil som, že sa to dá dosiahnuť odosielaním a prijímaním údajov cez internet. Riešením bolo pripojenie k sieti Intet. Začalo sa moje hľadanie spôsobu pripojenia Arduina k internetu a odosielania a prijímania údajov. Dozvedel som sa o wifi moduloch na internete a zistil som, že sú veľmi nákladné. Potom som sa dozvedel o ESP8266.

Veľa som čítal na internete o module ESP8266 asi pred rokom a kúpil som si ho, ale minulý mesiac som s nimi spolupracoval. V tom čase neboli k dispozícii žiadne rozsiahle informácie. Teraz je však k dispozícii množstvo dokumentácie a videí. na internete ohľadom firmvéru, AT príkazov, projektov atď. Preto som sa rozhodol začať.

Napísal som tento návod ako príručku pre začiatočníkov, pretože som čelil mnohým problémom s zapojením a začatím práce s ESP8266. Preto som sa rozhodol napísať tento návod, aby ich ostatní ľudia, ktorí majú problémy s modulmi, mohli rýchlejšie vyriešiť.

V tomto návode sa pokúsim ukázať

  • Ako pripojiť ESP8266 a komunikovať s ním prostredníctvom Arduino Uno.
  • Tiež sa pokúsim ukázať, ako je možné prostredníctvom neho odoslať tweet pomocou programu Thingspeak.

Čo dokáže ESP8266? Je to obmedzené vašou predstavivosťou. Videl som projekty a návody na internete, ktoré ukazujú, ako načítať teplotu mesta, ceny akcií, odosielanie a prijímanie e -mailov, telefonovanie a mnoho ďalších. Ukážem v tento návod, ako odoslať tweet.

Krok 1: Veci, ktoré budete potrebovať

Veci, ktoré budete potrebovať
Veci, ktoré budete potrebovať

Tu sú veci, ktoré budete potrebovať. Väčšinu z nich je možné kúpiť v každom elektrotechnickom obchode alebo online (odkazy som poskytol ako referenciu).

  • 1xEbay ESP8266 (ESP -01)
  • 1x adaptér na tabuľu (prečítajte si, ako ho vyrobiť, alebo použite prepojovacie vodiče)
  • 1xLM2596 -voľný priestor
  • 1xPrevodník úrovní logiky -ebay
  • 1x Arduino č
  • USB kábel pre Arduino Uno
  • 1xBreadboard -ebay
  • Drôty -záliv
  • Arduino IDE
  • Účet u Thingspeak

Celkové náklady budú okolo 600 Rs (asi 9 dolárov). Vylúčil som náklady na Arduino Uno, pretože to závisí od toho, či chcete originál alebo klon. Najlacnejšie klony sú k dispozícii za približne 500 Rs (asi 4 doláre).

Krok 2: Niektoré informácie o ESP8266

ESP8266 bol uvedený na trh v roku 2014 len pred rokom, takže je úplne nový. Čipy vyrába spoločnosť Espressif.

Výhoda

Najväčšou výhodou ESP8266 sú možno jeho náklady. Je to dosť lacné a môžete si ich kúpiť niekoľko naraz. Predtým, ako som sa o tom dozvedel, ma ani nenapadlo kúpiť si modul wifi. Boli príliš drahé. Nové verzie ESP8266 sa vydávajú pomerne často a najnovšia je ESP 12. V tomto návode sa však zameriam len na ESP 01, ktorý je veľmi populárny. Navyše, keď si kúpite ESP8266, je dodávaný s predvoleným firmvérom AT. Takže je dobré začať hneď, ako si kúpite jeden. Tiež, ako uvidíte z tohto návodu, je celkom jednoduché ich prepojiť.

Nevýhoda

Každé zariadenie má svoje výhody a nevýhody a ESP sa nelíši. ESP môže byť niekedy veľmi komplikované a frustrujúce pracovať s ním. Keďže je to celkom nové, bude ťažké získať o tom informácie. Našťastie komunita na adrese esp8266.com existuje, čo je veľká pomoc. Navyše to tiež niekedy začne robiť neočakávané veci, ako je vyhodenie množstva odpadu cez sériové pripojenie atď.

Všimnite si toho, že na internete je k dispozícii veľa dokumentácie a jej časť je v rozpore. Tento návod sa nelíši. Pri hraní s mojím ESP8266 som zistil, že sa dosť líši od toho, čo bolo uvedené na internete (vaše môže tiež), ale fungovalo to dobre.

Krok 3: Pinout ESP8266

Pinout z ESP8266
Pinout z ESP8266

ESP8266 má 8 pinov, ako je znázornené.

Gnd a Vcc by mali byť zapojené ako obvykle k zemi a napájaniu. ESP8266 funguje na 3,3 V.

Kolík RESET sa používa na manuálne resetovanie ESP. Normálne by malo byť pripojené 3,3 V. Ak chcete resetovať ESP, pripojte tento pin na chvíľu k zemi a potom späť na 3,3 V.

CH_PD je vypnutie čipu, ktoré by malo byť normálne pripojené k 3,3 V.

GPIO0 a GPIO2 sú vstupné výstupné kolíky na všeobecné použitie. Mali by byť normálne pripojené k 3,3 V. Pri blikaní firmvéru však pripojte GPIO0 k GND.

Kolíky Rx a Tx sú vysielacie a prijímacie piny ESP8266. Pracujú na logike 3,3 V, t.j. 3,3 V je logické VYSOKÉ pre ESP8266.

Podrobné pripojenia sú uvedené v ďalších krokoch.

Krok 4: Čo by sa malo použiť na komunikáciu s ESP8266?

Čo by sa malo použiť na komunikáciu s ESP8266?
Čo by sa malo použiť na komunikáciu s ESP8266?
Čo by sa malo použiť na komunikáciu s ESP8266?
Čo by sa malo použiť na komunikáciu s ESP8266?
Čo by sa malo použiť na komunikáciu s ESP8266?
Čo by sa malo použiť na komunikáciu s ESP8266?

Existuje mnoho zariadení, ktoré je možné použiť na komunikáciu s ESP8266, ako napríklad programátory FTDI, sériový prevodník USB na TTL, Arduino atď. Arduino Uno som však použil jednoducho preto, že je najľahšie a má ho takmer každý. Tiež ak máte máte Arduino, máte aj Arduino IDE a jeho sériový monitor je možné použiť na komunikáciu s ESP8266. Takže žiadne míňanie peňazí za programátory FTDI atď.

Ak však chcete, alebo ak ho už máte, môžete použiť programátor FTDI alebo sériový prevodník USB na TTL (viac o tom, ako ich pripojiť neskôr). Existuje tiež veľa softvéru, ako napríklad RealTerm alebo tmel. Môžete použiť tieto rovnakým spôsobom ako sériový monitor Arduino IDE.

Krok 5: Montáž ESP8266 na nepájivú dosku

Montáž ESP8266 na nepájivú dosku
Montáž ESP8266 na nepájivú dosku
Montáž ESP8266 na nepájivú dosku
Montáž ESP8266 na nepájivú dosku

Všimnite si, že kolíky ESP8266 nie sú vhodné pre breadboard. To je možné prekonať 2 spôsobmi.

Použite prepojovacie vodiče medzi ženami a mužmi, ktoré môžu spôsobiť neporiadok alebo

Postupujte podľa pokynov v tomto návode alebo

Použite dosku adaptéra, vyrobte si ju sami (na Instructables je ich veľa), ktorá je úhľadná.

Krok 6: Napájanie

Zdroj
Zdroj

ESP8266 funguje na napájaní 3,3 V. Nepripájajte ho k 5V pinu na Arduine. Pravdepodobne bude horieť.

Niektoré návody navrhli vytvoriť obvod deliča napätia s použitím 1k, 2k odporov s 5V ako vstupom a získať 3,3V cez 2k odpor a dodať ho do Arduina. Zistil som však, že keď som to urobil, ESP sa ani nezapol.

Podarilo sa mi ho zapnúť pomocou 3,3 V na Arduine, ale zistil som, že ESP sa po nejakom čase zahrial.

Môžete použiť regulátor napätia 3,3 V.

Alebo môžete použiť prevodník LM2596 dc-dc step down. Tieto sú dosť lacné. A ja som ich použil. Na vstup dajte 5V z Arduina. Upravte potenciometer na module, kým sa výstup nestane 3,3VI a zistíte, že ESP je možné napájať. z jedného z nich hodiny. Vykonajte pripojenia podľa obrázku.

Krok 7: Konverzia logickej úrovne

Konverzia logickej úrovne
Konverzia logickej úrovne

Uvádza sa, že ESP má logiku 3,3 V, zatiaľ čo Arduino má logiku 5 V.

To znamená, že v ESP 3.3V je logický VYSOKÝ, zatiaľ čo v Arduine 5V je logický VYSOKÝ. To môže spôsobiť problémy pri ich spájaní.

Na internete som zistil, že konverziu logickej úrovne je potrebné použiť pri prepojení ESP Rx a Tx s Arduino.

Niektoré návody uvádzali, že pri prepojení pinov ESP Rx je potrebná konverzia na logickej úrovni.

Zistil som však, že obyčajné pripojenie pinov ESP Rx a Tx k Arduinu nespôsobuje žiadne problémy

Pripojil som Rx a Tx pomocou prevodníka logickej úrovne, ako aj samotného Rx, ale nedostal som žiadnu odpoveď.

Zistil som však, že pripojenie pinu ESP Tx prostredníctvom prevodníka logickej úrovne pri priamom pripojení Tx nespôsobuje žiadne problémy

Konvertor logickej úrovne teda môže, ale nemusí byť použitý.

Použite metódu, ktorá vám vyhovuje, a to prostredníctvom pokusov a omylov.

Krok 8: Pripojenia

Pripojenia
Pripojenia

Pripojenia ESP8266 sú:

ESP8266

Gnd ------------------- Gnd

GPIO2 --------------- 3,3V

GPIO0 --------------- 3,3V

Rx -------------------- Rx z Arduina

Tx --------------------- Tx Arduino (priamy alebo prostredníctvom prevodníka logickej úrovne)

CH_PD -------------- 3,3V

RESET -------------- 3.3V

Vcc -------------------- 3,3V

(Všimnite si toho, že v niektorých verziách by mal byť ESP Rx pripojený k Arduino Tx a ESP Tx by mal byť pripojený k Arduino Rx).

Ak používate programátor FTDI alebo sériový prevodník USB na TTL, pripojte ich Tx a Rx k Rx a Tx na ESP8266.

Krok 9: Začíname

Po vytvorení prepojení nahrajte

neplatné nastavenie ()

{}

prázdna slučka ()

{}

tj prázdny náčrt Arduina..

Otvorte sériový monitor a nastavte ho na „NL aj CR“.

Experimentujte s prenosovou rýchlosťou. Obvykle by to malo byť 9600, ale niekedy aj 115200.

Krok 10: Príkazy AT

Príkazy AT
Príkazy AT

Jednoducho povedané, AT príkazy sú príkazy, ktoré je možné odoslať do ESP8266, aby mu umožnil vykonávať niektoré funkcie, ako napríklad reštart, pripojenie k wifi atď. ESP v odpovedi odošle určité potvrdenie vo forme textu. Nasleduje vysvetlenie niektorých Príkazy AT a to, ako na ne ESP reaguje. Všimnite si toho, že odoslaním mám na mysli zadanie príkazu a stlačenie klávesu Enter (návrat).

Odoslať AT prostredníctvom sériového monitora

Tento príkaz sa používa ako testovací príkaz.

Ako reaguje ESP: OK by malo byť vrátené.

Odoslať AT+RST prostredníctvom sériového monitora

Tento príkaz sa používa na reštartovanie modulu.

Ako reaguje ESP: ESP vracia množstvo odpadu. Hľadaj však Ready or ready.

Odoslať AT+GMR prostredníctvom sériového monitora

Tento príkaz sa používa na určenie verzie firmvéru modulu.

Ako reaguje ESP: Verzia firmvéru by mala byť vrátená.

Firmvér je softvér, ktorý je nainštalovaný na zariadení zvyčajne v jeho pamäti ROM (iba na čítanie), tj nie je určené na to, aby sa často alebo vôbec menilo. Poskytuje ovládanie a manipuláciu s dátami zariadenia. ESP8266 má číslo rôznych firmvérov, z ktorých všetky je možné ľahko flashovať (nainštalovať).

Krok 11: Všeobecná syntax príkazov AT

Obecná syntax príkazov AT na vykonávanie rôznych funkcií je daná:

AT+parameter =?

Keď je príkaz tohto typu odoslaný prostredníctvom sériového monitora, ESP vráti všetky hodnoty, ktoré môže parameter mať.

AT+parameter = val

Keď je príkaz tohto typu odoslaný prostredníctvom sériového monitora, ESP nastaví hodnotu parametra na hodnotu val.

AT+parameter?

Keď je príkaz tohto typu odoslaný cez sériový monitor, ESP vráti aktuálnu hodnotu parametra.

Niektoré AT príkazy môžu trvať iba jeden z vyššie uvedených typov, zatiaľ čo niektoré môžu trvať všetky 3.

Príkladom príkazu, ktorý je možný vo všetkých vyššie uvedených 3 typoch, je CWMODE, ktorý sa používa na nastavenie režimu wifi.

Odoslať AT+CWMODE =? cez sériový monitor

Ako ESP reaguje: Všetky hodnoty, ktoré môže ESP CWMODE získať (1-3), sa vrátia konkrétne +CWMODE (1-3). Kde

1 = statický

2 = AP

3 = Statický aj AP

Odošlite AT+CWMODE = 1 cez sériový monitor

Ako reaguje ESP: OK by malo byť vrátené, ak dôjde k zmene CWMODE z predchádzajúcej hodnoty a je nastavená na statickú hodnotu, inak by sa nemala vrátiť žiadna zmena, ak nedošlo k zmene hodnoty CWMODE.

DÔLEŽITÉ: Pokiaľ nie je CWMODE nastavený na 1, príkazy v neskorších krokoch nebudú fungovať.

Odoslať AT+CWMODE? cez sériový monitor

Ako reaguje ESP: Aktuálna hodnota CWMODE by mala byť vrátená, obzvlášť ak ste postupovali podľa vyššie uvedeného kroku +CWMODE: 1 by sa malo vrátiť.

Krok 12: Pripojenie k sieti Wi -Fi

Pošlite AT+CWLAP cez sériový monitor

Tento príkaz sa používa na vypísanie všetkých sietí v tejto oblasti.

Ako ESP reaguje: Mal by sa vrátiť zoznam všetkých dostupných prístupových bodov alebo sietí Wi -Fi.

Odoslať AT+CWJAP = "SSID", "heslo"

(vrátane dvojitých úvodzoviek).

Tento príkaz sa používa na pripojenie k sieti Wi -Fi.

Ako reaguje ESP: Ak bol modul pripojený k sieti, malo by sa vrátiť OK.

Odoslať AT+CWJAP? cez sériový monitor

Tento príkaz sa používa na určenie siete, ku ktorej je ESP aktuálne pripojené.

Ako ESP reaguje: Sieť, ku ktorej je ESP pripojené, bude vrátená. Konkrétne +CWJAP: „SSID“

Pošlite AT+CWQAP cez sériový monitor

Tento príkaz sa používa na odpojenie od siete, ku ktorej je aktuálne pripojený ESP.

Ako ESP reaguje: ESP ukončí sieť, ku ktorej je pripojený, a vráti sa OK.

Pošlite AT+CIFSR prostredníctvom sériového monitora

Tento príkaz sa používa na určenie IP adresy ESP.

Ako ESP reaguje: IP adresa ESP sa vráti.

Krok 13: Thingspeak

Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak

Ak ste si ešte nevytvorili účet na Thingspeak, vytvorte si ho teraz.

Po vytvorení účtu na Thingspeak prejdite na Aplikácie> ThingTweet.

Prepojte s ním svoj twitterový účet.

Všimnite si generovaného kľúča API.

Potom, čo bola aplikácia ThingTweet použitá na prepojenie účtu Twitter s vašim účtom ThingSpeak, môžete odoslať tweet pomocou rozhrania TweetContol API.

API (rozhranie aplikačného programu) je kód, ktorý umožňuje vzájomnú komunikáciu dvoch softvérových programov.

Niektoré ďalšie API, ktoré sú k dispozícii pre vývojárov, sú Google Maps API, Open Weather API atď.

Až po nastavení ESP, kontrole a pripojení k wifi (v zásade všetky kroky uvedené v predchádzajúcich 2 krokoch) vykonajte nižšie uvedené kroky

Krok 14: Niekoľko ďalších príkazov AT

Odoslať AT+CIPMODE = 0, cez sériový monitor

Ako ESP reaguje: OK sa vráti.

Príkaz CIPMODE sa používa na nastavenie režimu prenosu.

0 = normálny režim

1 = prechodový režim UART-WiFi

Odošlite AT+CIPMUX = 1 cez sériový monitor

Ako ESP reaguje: OK sa vráti.

Príkaz CIPMUX sa používa na nastavenie jedného alebo viacerých pripojení.

0 = jediné pripojenie

1 = viacnásobné pripojenie

Krok 15: Nastavenie pripojenia TCP

Nastavenie pripojenia TCP
Nastavenie pripojenia TCP
Nastavenie pripojenia TCP
Nastavenie pripojenia TCP

Všimnite si toho, že od prvého príkazu, hneď ako odošlete prvý, bude pripojenie nadviazané iba na obmedzenú dobu. Príkazy teda odosielajte čo najrýchlejšie.

Odoslať AT+CIPSTART = 0, „TCP“, „api.thingspeak.com“, 80 prostredníctvom sériového monitora

Ako ESP reaguje: Prepojené sa vráti, ak bolo pripojenie nadviazané.

Tento príkaz sa používa na vytvorenie pripojenia TCP.

Syntax je AT+CIPSTART = ID odkazu, typ, vzdialená IP, vzdialený port

kde

link ID = ID sieťového pripojenia (0 ~ 4), používané na viacnásobné pripojenie.

zadajte = reťazec, „TCP“alebo „UDP“.

vzdialená IP = reťazec, vzdialená IP adresa (adresa webovej stránky).

vzdialený port = reťazec, číslo vzdialeného portu (zvyčajne je vybrané 80).

Odoslať AT+CIPSEND = 0, 110 cez sériový monitor

Ako reaguje ESP:> (väčšie ako) sa vráti, ak je príkaz úspešný.

Tento príkaz sa používa na odosielanie údajov.

Syntax je AT+CIPSEND = ID odkazu, dĺžka

kde

link ID = ID pripojenia (0 ~ 4) pre viacnásobné pripojenie. Pretože CIPMUX bol nastavený na 1, je 1.

dĺžka = dĺžka údajov, MAX 2048 bajtov. Pre dĺžku spravidla zvoľte veľké číslo.

Krok 16: Odoslanie tweetu

Odosielanie tweetu
Odosielanie tweetu

Teraz k odoslaniu tweetu

Odoslať GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet prostredníctvom sériového monitora.

Vymeňte svoje API za kľúč API a svoj tweet za akýkoľvek požadovaný tweet.

Hneď ako odošlete vyššie uvedený príkaz, začnite stláčať kláves Enter (návrat) v približne 1 sekundových intervaloch. Po určitom čase sa vráti SEND OK, +IPD, 0, 1: 1 a OK, čo znamená, že tweet bol uverejnený.

Otvorte svoj twitter a skontrolujte, či bol tweet odoslaný alebo nie.

Upozorňujeme, že ten istý tweet nemožno odosielať opakovane.

Vyššie uvedený reťazec, ktorý bol odoslaný (GET….), Je požiadavkou HTTP GET.

Požiadavka GET sa používa na načítanie údajov z daného servera (api.thingspeak.com).

Krok 17: Čo robiť po tomto

(Pozrite si video aspoň v 360 p)

Prejdite do tohto úložiska a stiahnite si kód a schémy. Kliknite na tlačidlo „Klonovať alebo stiahnuť“(zelená farba na pravej strane) a kliknutím na položku „Stiahnuť ZIP“stiahnite súbor zip. Teraz rozbaľte obsah do počítača a získajte kód a schémy (v priečinku so schémami). Do tohto úložiska som tiež nahral cheatsheet, ktorý sumarizuje všetky AT príkazy.

Na internete je k dispozícii veľa skvelých zdrojov, ktoré sa týkajú ESP8266. Niektoré z nich som spomenul tu:

  • Videá Kevina Darraha.
  • ALLaboutEE videá.
  • esp8266.com

Môžete tiež viac experimentovať s príkazmi AT. Na internete je k dispozícii mnoho rozhraní API, ktoré dokážu vykonávať všetky druhy činností, napríklad zisťovať počasie, ceny akcií atď.

Úplná dokumentácia príkazu AT

V súčasnej dobe tiež pracujem na programe, ktorý automaticky tweetuje analógové hodnoty senzora a zverejním ho, keď bude správne fungovať.

Ak sa vám páčil môj pokyn, hlasujte zaň v súťaži Arduino all the things.