Sadržaj:

Vodič za početnike o ESP8266 i tvitovanju pomoću ESP8266: 17 koraka (sa slikama)
Vodič za početnike o ESP8266 i tvitovanju pomoću ESP8266: 17 koraka (sa slikama)

Video: Vodič za početnike o ESP8266 i tvitovanju pomoću ESP8266: 17 koraka (sa slikama)

Video: Vodič za početnike o ESP8266 i tvitovanju pomoću ESP8266: 17 koraka (sa slikama)
Video: как превратить ЭЛТ телевизор в осциллограф 2024, Prosinac
Anonim
Vodič za početnike u vezi ESP8266 i tvitovanja pomoću ESP8266
Vodič za početnike u vezi ESP8266 i tvitovanja pomoću ESP8266

Naučio sam o Arduinu prije 2 godine. Pa sam se počeo igrati s jednostavnim stvarima poput LED dioda, gumba, motora itd. Tada sam pomislio da ne bi bilo super spojiti se na stvari poput prikaza dnevnog vremena, cijena dionica, rasporeda vlakova na LCD zaslon. Otkrio sam da se to može učiniti slanjem i primanjem podataka putem interneta. Dakle, rješenje je bilo povezivanje s internetom. Počelo je moje pretraživanje kako spojiti Arduino na internet i slati i primati podatke. Naučio sam o wifi modulima na internetu i otkrio da su vrlo skupi. Zatim sam saznao za ESP8266.

Puno sam čitao na internetu o modulu ESP8266 prije otprilike godinu dana i kupio jedan, ali sam s njima počeo raditi tek prošlog mjeseca. U to vrijeme nije bilo dostupnih opsežnih informacija. Međutim, sada je dostupno mnogo dokumentacije, video zapisa na internetu u vezi s firmware -om, AT naredbama, projektima itd. Pa sam odlučio početi.

Napisao sam ovo uputstvo kao vodič za početnike jer sam se suočio s mnogo problema pri povezivanju i početku rada s ESP8266. Zato sam odlučio napisati ovaj Instructable kako bi ga drugi ljudi koji naiđu na probleme sa svojim modulima mogli brže riješiti

U ovom Instructable ću pokušati pokazati

  • Kako spojiti ESP8266 i komunicirati s njim putem Arduino Uno.
  • Također ću pokušati pokazati kako se tweet može poslati putem njega pomoću Thingspeaka.

Što može učiniti ESP8266? Ograničeno je vašom maštom. Vidio sam projekte i vodiče na internetu koji pokazuju kako dohvatiti gradsku temperaturu, cijene dionica, slati i primati e -poštu, telefonirati i još mnogo toga. Pokazat ću u ovaj Instructable kako poslati tweet.

Korak 1: Stvari koje će vam trebati

Stvari koje će vam trebati
Stvari koje će vam trebati

Evo stvari koje će vam trebati. Većina se može kupiti u bilo kojoj trgovini električnom energijom ili na internetu (naveo sam veze za referencu).

  • 1xESP8266 (ESP -01) -ebay
  • 1xBreadboard adapter (naučite kako ga napraviti ovdje ili upotrijebite neke kratkospojne žice)
  • 1xLM2596 -ebay
  • 1xLogic pretvarač razine -ebay
  • 1xArduino Uno
  • USB kabel za Arduino Uno
  • 1xBreadboard -ebay
  • Žice -ebay
  • Arduino IDE
  • Račun s Thingspeakom

Ukupni trošak bit će oko 600 Rs (oko 9 USD). Isključio sam cijenu Arduino Uno jer ovisi o tome želite li original ili klon. Najjeftiniji klonovi dostupni su po cijeni od 500 Rs (oko 4 USD).

Korak 2: Nekoliko informacija o ESP8266

ESP8266 je lansiran 2014. prije samo godinu dana pa je prilično nov. Čipove proizvodi Espressif.

Prednost

Najveća prednost ESP8266 je možda njegova cijena. Prilično je jeftin i par njih možete kupiti odjednom. Prije nego što sam to saznao, nisam mogao ni pomisliti na kupnju wifi modula. Bili su preskupi.. Nove verzije ESP8266 objavljuju se prilično često, a najnovija je ESP 12. Međutim, u ovom Instructableu usredotočit ću se samo na ESP 01 koji je prilično popularan. Štoviše, kada kupujete ESP8266, dolazi s prethodno učitanim zadanim AT firmverom. dobro je da počnete čim ga kupite.. Također, kao što ćete vidjeti iz ovog uputstva, prilično je jednostavno povezati ih.

Hendikep

Svaki uređaj ima svoje prednosti i nedostatke, a ESP se ne razlikuje. ESP se ponekad može pokazati kao jako škakljiv i frustrirajući za rad. Budući da je sasvim nov, bit će vam teško doći do informacija o njemu. Na sreću zajednica na esp8266.com postoji što je od velike pomoći. Štoviše, ponekad također počinje raditi neočekivane stvari poput bacanja tovara smeća kroz serijsku vezu itd.

Imajte na umu da je na internetu dostupno mnogo dokumentacije, a neki su njezini dijelovi kontradiktorni. Ovaj Instructable se ne razlikuje. Dok sam se igrao sa svojim ESP8266 otkrio sam da je jako odstupao od onoga što je spomenuto na internetu (vaš također), ali radilo je dobro.

Korak 3: Ispis ESP8266

Ispis ESP8266
Ispis ESP8266

ESP8266 ima 8 pinova kao što je prikazano.

Gnd i Vcc trebaju biti uobičajeno spojeni na uzemljenje i napajanje. ESP8266 radi na 3.3V.

PIN za resetiranje koristi se za ručno resetiranje ESP -a. Obično bi trebao biti spojen na 3.3V. Ako želite resetirati ESP, povežite ovaj pin na uzemljenje na trenutak, a zatim natrag na 3.3V.

CH_PD je napajanje čipa koje bi trebalo normalno spojiti na 3.3V.

GPIO0 i GPIO2 su ulazni izlazi za opću namjenu. Oni bi trebali biti normalno spojeni na 3,3 V. Međutim, pri bljeskanju firmvera spojite GPIO0 na gnd.

Rx i Tx pinovi su odašiljački i prijemni pinovi ESP8266. Oni rade na 3.3V logici, tj. 3.3V je logika HIGH za ESP8266.

Detaljne veze dostupne su u kasnijim koracima.

Korak 4: Što bi trebalo koristiti za komunikaciju s ESP8266?

Što bi trebalo koristiti za komunikaciju s ESP8266?
Što bi trebalo koristiti za komunikaciju s ESP8266?
Što bi trebalo koristiti za komunikaciju s ESP8266?
Što bi trebalo koristiti za komunikaciju s ESP8266?
Što bi trebalo koristiti za komunikaciju s ESP8266?
Što bi trebalo koristiti za komunikaciju s ESP8266?

Postoji mnogo uređaja koji se mogu koristiti za komunikaciju s ESP8266, kao što su FTDI programeri, USB na TTL serijski pretvarač, Arduino itd. Međutim, ja sam koristio Arduino Uno jednostavno zato što je najlakši i gotovo ga svi imaju. Također ako imate imate Arduino, imate i Arduino IDE, a njegov serijski monitor može se koristiti za komunikaciju s ESP8266. Dakle, ne trošite novac na programere FTDI -a itd.

Međutim, ako želite ili ako ga već imate, možete upotrijebiti FTDI programator ili USB u TTL serijski pretvarač (više o tome kako ih kasnije spojiti). Također postoji mnogo softvera poput RealTerma ili kita. Možete koristiti ovo na isti način kao i serijski monitor Arduino IDE -a.

Korak 5: Montiranje ESP8266 na pločicu

Postavljanje ESP8266 na Breadboard
Postavljanje ESP8266 na Breadboard
Postavljanje ESP8266 na Breadboard
Postavljanje ESP8266 na Breadboard

Uočite da pinovi ESP8266 nisu prilagođeni matičnoj ploči. To se može prevladati na dva načina.

Upotrijebite žice kratkospojnika za žene koje mogu učiniti nered ili

Učinite kako je prikazano u ovom uputstvu ili

Koristite adaptersku ploču, napravite je sami (ima ih puno na Instructables) što je uredno.

Korak 6: Napajanje

Napajanje
Napajanje

ESP8266 radi na napajanju od 3.3V. Nemojte ga spajati na 5V pin na Arduinu. Vjerojatno će izgorjeti.

Neki su vodiči sugerirali izradu sklopa razdjelnika napona pomoću 1k, 2k otpornika s 5V kao ulazom i dobivanjem 3.3V preko 2k otpornika i napajanjem na Arduino. Međutim, otkrio sam da se ESP nije ni uključio kad sam to učinio.

Uspio sam ga uključiti pomoću 3.3V na Arduinu, ali otkrio sam da se ESP nakon nekog vremena zagrijao.

Možete koristiti regulator napona od 3,3 V.

Ili možete upotrijebiti LM2596 dc-dc stepenični pretvarač. Oni su prilično jeftini. A ja sam ih koristio. Dajte 5V iz Arduina na ulaz. Podesite potenciometar na modulu, sve dok izlaz ne postane 3.3VI i ustanovi se da se ESP može napajati s jedne od ovih satima. Povežite se kako je prikazano na slici.

Korak 7: Pretvorba logičke razine

Pretvorba logičke razine
Pretvorba logičke razine

Spominje se da ESP ima 3.3V logiku, dok Arduino ima 5V logiku.

To znači da je u ESP -u 3.3V logička VISOKA, dok je u Arduinu 5V logička VISOKA. To može uzrokovati neke probleme prilikom njihovog međusobnog povezivanja.

Našao sam na internetu da se konverzija logičke razine mora primijeniti prilikom povezivanja ESP Rx i Tx s Arduinom.

Neki su vodiči spomenuli da je potrebna pretvorba logičke razine dok se povezuje ESP Rx pin.

Međutim, otkrio sam da samo normalno spajanje ESP Rx i Tx pinova na Arduino nije uzrokovalo nikakve probleme

Spojio sam Rx i Tx putem pretvarača logičke razine, kao i samo Rx, ali nisam dobio nikakav odgovor.

Međutim, otkrio sam da spajanje ESP Tx pina preko pretvarača logičke razine tijekom izravnog povezivanja Tx -a također nije uzrokovalo probleme

Dakle, pretvarač logičke razine može se koristiti, a i ne koristiti.

Upotrijebite bilo koju metodu koja vam odgovara pomoću pokušaja i pogrešaka.

Korak 8: Veze

Veze
Veze

Priključci ESP8266 su:

ESP8266

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

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

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

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

Tx --------------------- Tx Arduina (izravni ili putem logičkog pretvarača razine)

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

RESETIRANJE -------------- 3.3V

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

(Imajte na umu da bi u nekim verzijama ESP Rx trebao biti spojen na Arduino Tx, a ESP Tx na Arduino Rx).

Ako koristite FTDI programator ili USB na TTL serijski pretvarač, spojite njihove Tx i Rx na Rx i Tx na ESP8266.

Korak 9: Početak

Nakon uspostavljanja veze učitajte

void setup ()

{}

void loop ()

{}

prazna skica za Arduino..

Otvorite serijski monitor i postavite ga na "Oba NL & CR".

Eksperimentirajte s Baud brzinom. Obično bi trebala biti 9600, iako ponekad može biti 115200.

Korak 10: AT naredbe

AT naredbe
AT naredbe

Jednostavno govoreći AT naredbe su naredbe koje se mogu poslati na ESP8266 kako bi mu se omogućilo izvođenje nekih funkcija, poput ponovnog pokretanja, povezivanja na wifi itd. ESP će kao odgovor poslati neku potvrdu u obliku teksta. Dolje sam objasnio neke AT naredbe i kako ESP reagira na njih. Imajte na umu da pod slanjem mislim na upisivanje naredbe i pritiskanje enter (return).

Pošaljite AT putem serijskog monitora

Ova se naredba koristi kao testna naredba.

Kako ESP reagira: treba vratiti OK.

Pošaljite AT+RST putem serijskog monitora

Ova naredba se koristi za ponovno pokretanje modula.

Kako ESP reagira: ESP vraća hrpu smeća. Međutim, potražite Spremno ili spremno.

Pošaljite AT+GMR putem serijskog monitora

Ova naredba se koristi za određivanje verzije firmvera modula.

Kako ESP reagira: Treba vratiti verziju firmvera.

Firmware je dio softvera koji je instaliran na uređaju koji se obično nalazi na njegovom ROM -u (samo za čitanje memorije), tj. Ne namjerava se mijenjati često ili uopće ne. Omogućuje kontrolu uređaja i upravljanje podacima. ESP8266 ima broj različitih firmware -a koji su svi prilično laki za bljeskanje (instalaciju).

11. korak: Opća sintaksa AT naredbi

Data je opća sintaksa AT naredbi za izvršavanje različitih funkcija:

AT+parametar =?

Kada se naredba ovog tipa šalje putem serijskog monitora, ESP vraća sve vrijednosti koje parametar može poprimiti.

AT+parametar = val

Kada se naredba ovog tipa šalje putem serijskog monitora, ESP postavlja vrijednost parametra na val.

AT+parametar?

Kada se naredba ovog tipa šalje putem serijskog monitora, ESP vraća trenutnu vrijednost parametra.

Neke AT naredbe mogu uzeti samo jedan od gore navedenih tipova, dok neke mogu uzeti sve 3.

Primjer naredbe koja je moguća u sve tri navedene vrste je CWMODE, koja se koristi za postavljanje wifi načina.

Poslati AT+CWMODE =? preko serijskog monitora

Kako ESP reagira: Sve vrijednosti koje ESP CWMODE može uzeti (1-3) vraćaju se posebno +CWMODE (1-3). Gdje

1 = Statičko

2 = AP

3 = I statički i AP

Pošaljite AT+CWMODE = 1 putem serijskog monitora

Kako ESP reagira: U redu treba vratiti ako dođe do promjene u CWMODE -u u odnosu na prethodnu vrijednost i ako je postavljena na statičku, inače se ne smije vratiti promjena ako nema promjene u vrijednosti CWMODE.

VAŽNO: Osim ako je CWMODE postavljen na 1, naredbe u kasnijim koracima neće raditi.

Poslati AT+CWMODE? preko serijskog monitora

Kako ESP reagira: Sadašnju vrijednost CWMODE -a treba vratiti, posebno ako ste slijedili gornji korak +CWMODE: 1 treba vratiti.

Korak 12: Povezivanje na Wifi

Pošaljite AT+CWLAP putem serijskog monitora

Ova se naredba koristi za popis svih mreža na tom području.

Kako ESP reagira: Treba vratiti popis svih dostupnih pristupnih točaka ili WiFi mreža.

Pošalji AT+CWJAP = "SSID", "lozinka"

(uključujući dvostruke navodnike).

Ova naredba se koristi za pridruživanje WiFi mreži.

Kako ESP reagira: U redu je potrebno vratiti ako je modul spojen na mrežu.

Poslati AT+CWJAP? preko serijskog monitora

Ova naredba se koristi za određivanje mreže na koju je ESP trenutno spojen.

Kako ESP reagira: Vratit će se mreža na koju je spojen ESP. Konkretno +CWJAP: "SSID"

Pošaljite AT+CWQAP putem serijskog monitora

Ova se naredba koristi za prekid veze s mrežom na koju je ESP trenutno spojen.

Kako ESP reagira: ESP napušta mrežu na koju je spojen i vraća se OK.

Pošaljite AT+CIFSR putem serijskog monitora

Ova se naredba koristi za određivanje IP adrese ESP -a.

Kako ESP reagira: Vraća se IP adresa ESP -a.

Korak 13: Govorite stvari

Stvari govore
Stvari govore
Stvari govore
Stvari govore
Stvari govore
Stvari govore
Stvari govore
Stvari govore

Ako niste napravili račun na Thingspeaku, napravite ga sada.

Nakon što otvorite račun na Thingspeak, idite na Aplikacije> ThingTweet.

Povežite svoj Twitter račun s njim.

Zabilježite generirani API ključ.

Ovdje, nakon što je aplikacija ThingTweet korištena za povezivanje Twitter računa s vašim ThingSpeak računom, možete poslati tweet koristeći TweetContol API.

API (sučelje aplikacijskog programa) je kôd koji omogućuje da dva softverska programa međusobno komuniciraju.

Neki drugi API -ji koji su dostupni programerima su Google Maps API, Open weather API itd.

Tek nakon što je ESP postavljen, provjeren i spojen na WiFi (u osnovi svi koraci navedeni u prethodna 2 koraka), prođite kroz dolje navedene korake

Korak 14: Još nekoliko AT naredbi

Pošaljite AT+CIPMODE = 0, putem serijskog monitora

Kako ESP reagira: vraća se OK.

Za postavljanje načina prijenosa koristi se naredba CIPMODE.

0 = normalan način rada

1 = UART-WiFi prolazni način

Pošaljite AT+CIPMUX = 1 putem serijskog monitora

Kako ESP reagira: vraća se OK.

Naredba CIPMUX koristi se za postavljanje jedne ili više veza.

0 = pojedinačna veza

1 = višestruka veza

Korak 15: Postavljanje TCP veze

Postavljanje TCP veze
Postavljanje TCP veze
Postavljanje TCP veze
Postavljanje TCP veze

Imajte na umu da će se od prve naredbe, čim pošaljete prvu, veza uspostaviti samo ograničeno vrijeme. Zato pošaljite naredbe što je brže moguće.

Pošaljite AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 putem serijskog monitora

Kako ESP reagira: Veza je vraćena ako je veza uspostavljena.

Ova naredba se koristi za uspostavljanje TCP veze.

Sintaksa je AT+CIPSTART = ID veze, vrsta, udaljeni IP, udaljeni port

gdje

link ID = ID mrežne veze (0 ~ 4), koristi se za višestruko povezivanje.

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

udaljeni IP = niz, udaljena IP adresa (adresa web stranice).

udaljeni port = niz, broj udaljenog porta (obično se odabire 80).

Pošaljite AT+CIPSEND = 0, 110 putem serijskog monitora

Kako ESP reagira:> (veće od) se vraća ako je naredba uspješna.

Ova naredba se koristi za slanje podataka.

Sintaksa je AT+CIPSEND = ID veze, duljina

gdje

link ID = ID veze (0 ~ 4), za višestruko povezivanje. Budući da je CIPMUX postavljen na 1, je 1.

length = duljina podataka, MAX 2048 bajtova. Općenito odaberite veliki broj za duljinu.

Korak 16: Slanje tvita

Slanje tvita
Slanje tvita

Sada za slanje tvita

Pošaljite GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet putem serijskog monitora.

Zamijenite svoj API ključem API -ja, a svoj tweet bilo kojim tweetom koji želite.

Čim pošaljete gornju naredbu, počnite pritisnuti enter (return) u intervalima od približno 1 sekunde. Nakon nekog vremena vratit će se SEND OK, +IPD, 0, 1: 1 i OK, što znači da je tweet objavljen.

Otvorite svoj twitter i provjerite je li tweet objavljen ili ne.

Također imajte na umu da se isti tweet ne može slati više puta.

Gornji niz koji je poslan (GET….) Je HTTP GET zahtjev.

GET zahtjev koristi se za dohvaćanje podataka s danog poslužitelja (api.thingspeak.com).

Korak 17: Što učiniti nakon ovoga

(Pogledajte video u najmanje 360p)

Idite na ovo spremište za preuzimanje koda i shema. Kliknite gumb "Kloniraj ili preuzmi" (zelene boje s desne strane) i odaberite "Preuzmi ZIP" za preuzimanje zip datoteke. Sada ekstrahirajte sadržaj na računalu da biste dobili kod i sheme (u mapi sa shemama). Također sam učitao cheatsheet, koji sažima sve AT naredbe, u ovo spremište.

Na internetu postoji mnogo sjajnih resursa koji se bave ESP8266. Neke od njih spomenuo sam ovdje:

  • Video zapisi Kevina Darraha.
  • ALLAboutEE videozapisi.
  • esp8266.com

Također možete više eksperimentirati s AT naredbama. Na internetu je dostupno mnogo API -ja koji mogu učiniti sve vrste stvari kao što su vrijeme, cijene dionica itd.

Potpuna dokumentacija AT naredbe

Također trenutno radim na programu koji automatski tweetira analogne vrijednosti senzora i objavit ću ga kad ispravno radi.

Ako vam se svidio moj instruktivni glas za to u Arduino natjecanju za sve stvari.

Preporučeni: