Vodnik za začetnike po ESP8266 in tvitanju z uporabo ESP8266: 17 korakov (s slikami)
Vodnik za začetnike po ESP8266 in tvitanju z uporabo ESP8266: 17 korakov (s slikami)
Anonim
Priročnik za začetnike po ESP8266 in tvitovanju z uporabo ESP8266
Priročnik za začetnike po ESP8266 in tvitovanju z uporabo ESP8266

Za Arduino sem se naučil pred dvema letoma, zato sem se začel igrati s preprostimi stvarmi, kot so LED diode, gumbi, motorji itd. Potem sem pomislil, da ne bi bilo kul, če bi se povezal s stvarmi, kot so prikaz dnevnega vremena, cene delnic, urniki vlakov na LCD zaslon. Ugotovil sem, da je to mogoče storiti s pošiljanjem in prejemanjem podatkov po internetu. Rešitev je bila torej povezovanje z internetom. Začelo se je iskanje, kako povezati Arduino z internetom ter pošiljati in prejemati podatke. Spoznala sem module wifi na internetu in ugotovila, da so zelo dragi. Nato sem izvedela za ESP8266.

Pred približno enim letom sem veliko bral na internetu o modulu ESP8266 in ga kupil, vendar sem začel delati z njimi šele prejšnji mesec. Takrat še ni bilo na voljo obsežnih informacij. Vendar je zdaj na voljo veliko dokumentacije in video posnetkov. na internetu v zvezi z vdelano programsko opremo, ukazi AT, projekti itd. Zato sem se odločil, da začnem.

To navodilo sem napisal kot priročnik za začetnike, saj sem se soočal s številnimi težavami pri povezovanju in začetku dela z ESP8266. Zato sem se odločil, da bom napisal to navodilo, da ga bodo lahko drugi ljudje, ki naletijo na težave s svojimi moduli, hitreje rešili.

V tem Instructable bom poskušal prikazati

  • Kako priključiti ESP8266 in komunicirati z njim prek Arduino Uno.
  • Prav tako bom poskušal pokazati, kako se lahko prek njega pošlje tvit prek programa Thingspeak.

Kaj lahko naredi ESP8266? Omejeno je z vašo domišljijo. Na internetu sem videl projekte in vaje, ki prikazujejo, kako doseči temperaturo mesta, cene delnic, pošiljanje in sprejemanje e -pošte, telefonske klice in še veliko več. Pokazal bom v Ta navodila, kako poslati tweet.

Korak: Stvari, ki jih boste potrebovali

Stvari, ki jih boste potrebovali
Stvari, ki jih boste potrebovali

Tukaj so stvari, ki jih boste potrebovali. Večino teh lahko kupite v kateri koli trgovini z električno energijo ali na spletu (povezave sem navedel kot referenco).

  • 1xESP8266 (ESP -01) -ebay
  • 1xBreadboard adapter (naučite se, kako ga narediti tukaj ali uporabite nekaj mostičnih žic)
  • 1xLM2596 -ebay
  • 1xLogic pretvornik nivoja -ebay
  • 1xArduino Uno
  • USB kabel za Arduino Uno
  • 1xBreadboard -ebay
  • Žice -ebay
  • Arduino IDE
  • Račun pri Thingspeak

Skupni stroški bodo okoli 600 Rs (približno 9 USD). Izločil sem stroške Arduino Uno, saj je odvisno od tega, ali želite izvirnika ali klona. Najcenejši kloni so na voljo okoli 500 Rs (približno 4 USD).

Korak: Nekaj informacij o ESP8266

ESP8266 je bil predstavljen leta 2014 pred letom dni, zato je povsem nov. Čipe izdeluje Espressif.

Prednost

Največja prednost ESP8266 je morda njegova cena. Je precej poceni in nekaj jih lahko kupite naenkrat.. Nove različice ESP8266 se pojavljajo precej pogosto, najnovejša pa je ESP 12. Vendar se bom v tem navodilu osredotočil le na zelo priljubljen ESP 01. Poleg tega je ob nakupu ESP8266 vnaprej naložen s privzeto vdelano programsko opremo AT. dobro je, da začnete takoj, ko ga kupite.. Tudi, kot boste videli iz tega navodila, jih je zelo enostavno povezati.

Pomanjkljivost

Vsaka naprava ima svoje prednosti in slabosti in ESP se ne razlikuje. Včasih se lahko izkaže, da je ESP zelo težavno in frustrirajuće pri delu. Ker je precej nova, boste težko pridobili informacije o njej. Na srečo skupnost na esp8266.com obstaja, kar je v veliko pomoč. Poleg tega včasih tudi počne nepričakovane stvari, kot je metanje tovora smeti po serijski povezavi itd.

Upoštevajte, da je na internetu na voljo veliko dokumentacije in da je njen del v nasprotju. Ta Instructable se ne razlikuje. Med igranjem z mojim ESP8266 sem ugotovil, da je precej odstopal od tega, kar je bilo omenjeno na internetu (vaš tudi), vendar je delovalo dobro.

3. korak: Pinout ESP8266

Pinout ESP8266
Pinout ESP8266

ESP8266 ima 8 zatičev, kot je prikazano.

Gnd in Vcc morata biti običajno priključena na ozemljitev in napajanje. ESP8266 deluje na 3.3V.

PIN za ponastavitev se uporablja za ročno ponastavitev ESP -ja. Običajno mora biti priključen na 3.3 V. Če želite ponastaviti ESP, ga za trenutek priključite na maso in nato nazaj na 3,3 V.

CH_PD je izklop napajanja čipa, ki ga je običajno treba priključiti na 3.3V.

GPIO0 in GPIO2 sta vhodna izhoda za splošno uporabo. Ti bi morali biti običajno priključeni na 3,3 V. Vendar pri utripanju vdelane programske opreme priključite GPIO0 na gnd.

Zatiči Rx in Tx so oddajni in sprejemni zatiči ESP8266. Delujejo na logiki 3.3V, kar pomeni, da je 3.3V logika HIGH za ESP8266.

Podrobne povezave so na voljo v kasnejših korakih.

4. korak: Kaj je treba uporabiti za komunikacijo z ESP8266?

Kaj je treba uporabiti za komunikacijo z ESP8266?
Kaj je treba uporabiti za komunikacijo z ESP8266?
Kaj je treba uporabiti za komunikacijo z ESP8266?
Kaj je treba uporabiti za komunikacijo z ESP8266?
Kaj je treba uporabiti za komunikacijo z ESP8266?
Kaj je treba uporabiti za komunikacijo z ESP8266?

Obstaja veliko naprav, ki jih je mogoče uporabiti za komunikacijo z ESP8266, na primer programerji FTDI, serijski pretvornik USB v TTL, Arduino itd. Vendar sem uporabil Arduino Uno preprosto zato, ker je najlažji in ga imajo skoraj vsi. če imate Arduino, imate tudi Arduino IDE in njegov serijski monitor se lahko uporablja za komunikacijo z ESP8266. Torej ne porabite denarja za programerje FTDI itd.

Če pa želite ali če ga že imate, lahko uporabite programer FTDI ali serijski pretvornik USB v TTL (več o tem, kako jih priključite pozneje). Obstaja tudi veliko programske opreme, na primer RealTerm ali kit. te na enak način kot serijski monitor Arduino IDE.

5. korak: Namestitev ESP8266 na ploščo

Namestitev ESP8266 na ploščo
Namestitev ESP8266 na ploščo
Namestitev ESP8266 na ploščo
Namestitev ESP8266 na ploščo

Upoštevajte, da nožice ESP8266 niso prijazne do plošč. To je mogoče premagati na dva načina.

Uporabite moške žice za moške, ki lahko povzročijo zmedo ali

Naredite, kot je prikazano v tem navodilu oz

Uporabite adapterno ploščo, naredite jo sami (na Instructables jih je veliko), kar je lepo.

6. korak: Napajanje

Napajanje
Napajanje

ESP8266 deluje na napajanju 3,3 V. Ne priključujte ga na 5V pin na Arduinu, verjetno bo zagorel.

Nekatere vaje so predlagale izdelavo vezja delilnika napetosti z uporabo 1k, 2k uporov s 5V kot vhodom in pridobivanjem 3.3V preko 2k upora in napajanjem na Arduino, vendar sem ugotovil, da se ESP sploh ni vklopil, ko sem to storil.

Lahko sem ga vklopil z 3.3V na Arduinu, vendar sem ugotovil, da se je ESP čez nekaj časa segrel.

Uporabite lahko regulator napetosti 3,3 V.

Lahko pa uporabite LM2596 dc-dc pretvornik za znižanje. Ti so precej poceni. Jaz sem jih uporabil. Dajte 5V iz Arduina na vhod. Prilagodite potenciometer na modulu, dokler izhod ne postane 3.3VI in ugotovite, da je mogoče napajati ESP iz enega od teh ure in ure. Povežite, kot je prikazano na sliki.

7. korak: Pretvorba logične ravni

Pretvorba logične ravni
Pretvorba logične ravni

Omenjeno je, da ima ESP logiko 3.3V, Arduino pa 5V logiko.

To pomeni, da je v ESP 3.3V logična VISOKA, v Arduinu pa 5V logična VISOKA. To lahko povzroči nekatere težave, ko jih povežete skupaj.

Na internetu sem ugotovil, da je treba med povezovanjem ESP Rx in Tx z Arduinom uporabiti pretvorbo logične ravni.

Nekatere vaje so omenile, da je potrebna pretvorba logične ravni, medtem ko povežete pin ESP Rx.

Vendar sem ugotovil, da samo običajno povezovanje zatičev ESP Rx in Tx z Arduinom ni povzročilo težav

Rx in Tx sem povezal prek pretvornika logične ravni in samo Rx, vendar nisem dobil nobenega odziva.

Vendar sem ugotovil, da povezava pin ESP Tx prek pretvornika logične ravni med neposredno povezavo Tx tudi ni povzročila težav

Tako se lahko logični pretvornik uporabi ali pa tudi ne.

Uporabite katero koli metodo, ki vam deluje s poskusi in napakami.

8. korak: Povezave

Povezave
Povezave

Povezave ESP8266 so:

ESP8266

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

GPIO2 --------------- 3.3V

GPIO0 --------------- 3.3V

Rx -------------------- Rx Arduina

Tx --------------------- Tx Arduina (neposreden ali prek logičnega pretvornika ravni)

CH_PD -------------- 3.3V

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

Vcc -------------------- 3.3V

(Upoštevajte, da je treba v nekaterih različicah ESP Rx povezati z Arduino Tx, ESP Tx pa z Arduino Rx).

Če uporabljate programer FTDI ali serijski pretvornik USB v TTL, povežite njihova Tx in Rx z Rx oziroma Tx ESP8266.

9. korak: Začnite

Ko vzpostavite povezavo, naložite

void setup ()

{}

void loop ()

{}

prazna skica za Arduino..

Odprite serijski monitor in ga nastavite na "Tako NL & CR".

Eksperimentirajte s hitrostjo prenosa. Običajno mora biti 9600, včasih pa 115200.

10. korak: Ukazi AT

Ukazi AT
Ukazi AT

Preprosto povedano, da so ukazi AT ukazi, ki jih je mogoče poslati na ESP8266, da bi mu omogočili izvajanje nekaterih funkcij, kot so ponovni zagon, povezava z wifi itd. ESP bo v odgovor poslal nekaj potrditve v obliki besedila. Spodaj sem razložil nekaj Ukazi AT in kako se nanje odzove ESP. Upoštevajte, da s pošiljanjem mislim vnesti ukaz in pritisniti enter (return).

AT pošljite prek serijskega monitorja

Ta ukaz se uporablja kot testni ukaz.

Kako se odzove ESP: vrniti je treba OK.

Pošljite AT+RST prek serijskega monitorja

Ta ukaz se uporablja za ponovni zagon modula.

Kako se odzove ESP: ESP vrne veliko smeti, vendar poiščite Pripravljeno ali pripravljeno.

Pošljite AT+GMR prek serijskega monitorja

Ta ukaz se uporablja za določitev različice vdelane programske opreme modula.

Kako se odziva ESP: Vrniti morate različico vdelane programske opreme.

Vdelana programska oprema je del programske opreme, ki je običajno nameščena v napravi na pomnilniku ROM (samo za branje pomnilnika), tj. različnih vdelanih programov, ki jih je zelo enostavno utripati (namestiti).

11. korak: Splošna sintaksa ukazov AT

Podana je splošna skladnja ukazov AT za izvajanje različnih funkcij:

AT+parameter =?

Ko se tovrstni ukaz pošlje skozi serijski monitor, ESP vrne vse vrednosti, ki jih lahko sprejme parameter.

AT+parameter = val

Ko se tovrstni ukaz pošlje skozi serijski monitor, ESP nastavi vrednost parametra na val.

AT+parameter?

Ko se tovrstni ukaz pošlje prek serijskega monitorja, ESP vrne trenutno vrednost parametra.

Nekateri ukazi AT lahko sprejmejo le eno od zgornjih vrst, nekateri pa vse 3.

Primer ukaza, ki je možen v vseh zgornjih treh vrstah, je CWMODE, ki se uporablja za nastavitev načina wifi.

Pošlji AT+CWMODE =? skozi serijski monitor

Kako se odziva ESP: Vse vrednosti, ki jih lahko sprejme ESP CWMODE (1-3), se vrnejo posebej +CWMODE (1-3).

1 = Statično

2 = AP

3 = Statično in AP

Pošljite AT+CWMODE = 1 prek serijskega monitorja

Kako se odzove ESP: V redu je treba vrniti, če se CWMODE spremeni od prejšnje vrednosti in je nastavljena na statično, drugače se ne sme vrniti, če se vrednost CWMODE ne spremeni.

POMEMBNO: Če CWMODE ni nastavljeno na 1, ukazi v poznejših korakih ne bodo delovali.

Želite poslati AT+CWMODE? skozi serijski monitor

Kako se odziva ESP: Treba je vrniti sedanjo vrednost CWMODE, zlasti če ste sledili zgornjemu koraku +CWMODE: 1 je treba vrniti.

Korak: Povežite se z Wifi

Pošljite AT+CWLAP prek serijskega monitorja

Ta ukaz se uporablja za popis vseh omrežij na tem območju.

Kako se odziva ESP: Vrniti je treba seznam vseh razpoložljivih dostopnih točk ali omrežij WiFi.

Pošlji AT+CWJAP = "SSID", "geslo"

(vključno z dvojnimi narekovaji).

Ta ukaz se uporablja za pridružitev omrežju wifi.

Kako se odzove ESP: Če je bil modul povezan z omrežjem, je treba vrniti OK.

Želite poslati AT+CWJAP? skozi serijski monitor

Ta ukaz se uporablja za določitev omrežja, na katerega je trenutno povezan ESP.

Kako se odziva ESP: Vrnjeno bo omrežje, na katero je povezan ESP. Natančneje +CWJAP: "SSID"

Pošljite AT+CWQAP prek serijskega monitorja

Ta ukaz se uporablja za prekinitev povezave z omrežjem, na katerega je trenutno povezan ESP.

Kako se odziva ESP: ESP zapusti omrežje, na katero je povezan, in vrne se OK.

Pošljite AT+CIFSR prek serijskega monitorja

Ta ukaz se uporablja za določanje naslova IP ESP.

Kako se odzove ESP: vrne se naslov IP ESP.

13. korak: Izgovorite stvari

Stvari govoriti
Stvari govoriti
Stvari govoriti
Stvari govoriti
Stvari govoriti
Stvari govoriti
Stvari govoriti
Stvari govoriti

Če še niste ustvarili računa za Thingspeak, ga ustvarite zdaj.

Ko ustvarite račun za Thingspeak, pojdite na Aplikacije> ThingTweet.

Z njim povežite svoj račun na Twitterju.

Upoštevajte ustvarjeni ključ API.

Tukaj, potem ko je bila aplikacija ThingTweet uporabljena za povezavo računa Twitter z vašim računom ThingSpeak, lahko pošljete tvit s pomočjo API -ja TweetContol.

API (vmesnik aplikacijskega programa) je koda, ki omogoča medsebojno komunikacijo dveh programskih programov.

Nekateri drugi API -ji, ki so na voljo razvijalcem, so Google Maps API, Open weather API itd.

Šele potem, ko je ESP nastavljen, preverjen in povezan z wifi (v bistvu vsi koraki v prejšnjih dveh korakih), pojdite skozi spodnje korake

Korak 14: Še nekaj ukazov AT

Pošljite AT+CIPMODE = 0 prek serijskega monitorja

Kako se odzove ESP: vrne se OK.

Ukaz CIPMODE se uporablja za nastavitev načina prenosa.

0 = običajen način

1 = prehodni način UART-WiFi

Pošljite AT+CIPMUX = 1 prek serijskega monitorja

Kako se odzove ESP: vrne se OK.

Ukaz CIPMUX se uporablja za nastavitev posameznih ali več povezav.

0 = enojna povezava

1 = več povezav

Korak 15: Nastavitev povezave TCP

Nastavitev povezave TCP
Nastavitev povezave TCP
Nastavitev povezave TCP
Nastavitev povezave TCP

Upoštevajte, da se bo od prvega ukaza, takoj ko pošljete prvega, povezava vzpostavljena le za omejen čas. Zato ukaze pošljite čim hitreje.

Pošlji AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 prek serijskega monitorja

Kako se odzove ESP: Povezano se vrne, če je bila povezava vzpostavljena.

Ta ukaz se uporablja za vzpostavitev povezave TCP.

Sintaksa je AT+CIPSTART = ID povezave, vrsta, oddaljeni IP, oddaljena vrata

kje

link ID = ID omrežne povezave (0 ~ 4), ki se uporablja za več povezav.

type = string, "TCP" ali "UDP".

oddaljeni IP = niz, oddaljeni IP naslov (naslov spletnega mesta).

oddaljena vrata = niz, številka oddaljenih vrat (običajno je izbrana 80).

Pošljite AT+CIPSEND = 0, 110 prek serijskega monitorja

Kako se odzove ESP:> (več kot) se vrne, če je ukaz uspešen.

Ta ukaz se uporablja za pošiljanje podatkov.

Sintaksa je AT+CIPSEND = ID povezave, dolžina

kje

link ID = ID povezave (0 ~ 4), za več povezav. Ker je bil CIPMUX nastavljen na 1, je 1.

length = dolžina podatkov, MAX 2048 bajtov. Na splošno za dolžino izberite veliko število.

Korak 16: Pošiljanje tvita

Pošiljanje tvita
Pošiljanje tvita

Zdaj za pošiljanje tvita

Pošljite GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet prek serijskega monitorja.

Zamenjajte svoj API s ključem API in svoj tweet s katerim koli tvitom, ki ga želite.

Takoj, ko pošljete zgornji ukaz, začnite pritisniti tipko enter (return) v približno 1 -sekundnih intervalih. Čez nekaj časa se vrne SEND OK, +IPD, 0, 1: 1 in OK, kar pomeni, da je bil tvit objavljen.

Odprite svoj twitter in preverite, ali je bil tvit objavljen ali ne.

Upoštevajte tudi, da istega tvita ni mogoče večkrat poslati.

Zgornji niz, ki je bil poslan (GET….), Je zahteva GET

Zahteva GET se uporablja za pridobivanje podatkov z danega strežnika (api.thingspeak.com).

17. korak: Kaj storiti po tem

(Oglejte si video v najmanj 360p)

Pojdite v to skladišče, da prenesete kodo in sheme. Kliknite gumb "Kloniraj ali naloži" (zelene barve na desni strani) in izberite "Prenesi ZIP", da prenesete datoteko zip. Zdaj izvlecite vsebino v računalnik, da dobite kodo in sheme (v mapi s shemami). V to shrambo sem naložil tudi preglednico, ki povzema vse ukaze AT.

Na internetu je na voljo veliko odličnih virov, ki obravnavajo ESP8266. Nekatere sem omenil tukaj:

  • Video posnetki Kevina Darraha.
  • VSE o videoposnetkihEE.
  • esp8266.com

Lahko tudi bolj eksperimentirate z ukazi AT. Na internetu je na voljo veliko API -jev, ki lahko naredijo vse, na primer vreme, cene delnic itd.

Celotna dokumentacija o ukazih AT

Prav tako trenutno delam na programu, ki samodejno tvita analogne vrednosti senzorja in ga bom objavil, ko bo pravilno deloval.

Če vam je bil všeč moj poučevalni glas, ga natečaj za vse stvari v Arduinu.