Përmbajtje:

Udhëzues fillestar për ESP8266 dhe Tweeting duke përdorur ESP8266: Hapat 17 (me fotografi)
Udhëzues fillestar për ESP8266 dhe Tweeting duke përdorur ESP8266: Hapat 17 (me fotografi)

Video: Udhëzues fillestar për ESP8266 dhe Tweeting duke përdorur ESP8266: Hapat 17 (me fotografi)

Video: Udhëzues fillestar për ESP8266 dhe Tweeting duke përdorur ESP8266: Hapat 17 (me fotografi)
Video: Flutter : Complete Vlog on Pump, Pump Widget With App Demonstration | amplifyabhi 2024, Nëntor
Anonim
Udhëzues fillestar për ESP8266 dhe Tweeting Duke përdorur ESP8266
Udhëzues fillestar për ESP8266 dhe Tweeting Duke përdorur ESP8266

Mësova për Arduino 2 vjet më parë. Kështu fillova të luaja me gjëra të thjeshta si LED, butona, motorë etj. Pastaj mendova se nuk do të ishte mirë të lidhesh për të bërë gjëra të tilla si shfaqja e motit të ditës, çmimet e aksioneve, oraret e trenave një ekran LCD. Kam gjetur se kjo mund të bëhet duke dërguar dhe marrë të dhëna përmes internetit. Pra, zgjidhja ishte lidhja me intenet. Aty filloi kërkimi im se si ta lidhja Arduino me internetin dhe të dërgoja dhe të merrja të dhëna. Mësova për modulet wifi në internet dhe i zbulova se ishin shumë të kushtueshme. Pastaj mësova për ESP8266.

Kam lexuar shumë në internet në modulin ESP8266 rreth një vit më parë dhe bleva një, por fillova të punoj me ta muajin e kaluar. Në atë kohë nuk kishte informacion të gjerë në dispozicion. Megjithatë, tani ka shumë dokumentacion, video janë në dispozicion në internet në lidhje me firmware, komandat AT, projekte etj. Kështu që vendosa të filloj.

Unë e shkrova këtë udhëzues si një udhëzues fillestar pasi u përball me shumë probleme në lidhjen dhe fillimin me ESP8266. Kështu që vendosa ta shkruaj këtë Udhëzues në mënyrë që njerëzit e tjerë që hasin probleme me modulet e tyre t'i zgjidhin ato më shpejt

Në këtë Instructable unë do të përpiqem të tregoj

  • Si të lidhni një ESP8266 dhe të komunikoni me të përmes Arduino Uno.
  • Unë gjithashtu do të përpiqem të tregoj se si mund të dërgohet një cicërimë përmes tij duke përdorur Thingspeak.

Çfarë mund të bëjë ESP8266? Isshtë e kufizuar nga imagjinata juaj. Unë kam parë projekte dhe mësime në internet që tregojnë se si të merrni temperaturën e qytetit, çmimet e aksioneve, dërgimin dhe marrjen e e -mail, thirrjet telefonike dhe shumë më tepër. Unë do të tregoj në kjo është e udhëzueshme se si të dërgoni një cicërimë.

Hapi 1: Gjërat që ju nevojiten

Gjërat që do t'ju nevojiten
Gjërat që do t'ju nevojiten

Këtu janë gjërat që do t'ju nevojiten. Shumica prej tyre mund të blihen nga çdo dyqan elektrik ose në internet (unë kam dhënë lidhjet për referencë).

  • 1xESP8266 (ESP -01) -ebay
  • Përshtatës 1xBreadboard (mësoni se si ta bëni një këtu ose përdorni disa tela kërcyes)
  • 1xLM2596 -ebay
  • Konvertuesi i nivelit logjik 1bay
  • 1xArduino Uno
  • Kabllo USB për Arduino Uno
  • 1xBreadboard -ebay
  • Tela -beb
  • Arduino IDE
  • Një llogari me Thingspeak

Kostoja totale do të jetë rreth 600 Rs (rreth 9 dollarë). Unë kam përjashtuar koston e Arduino Uno pasi varet nëse doni një origjinal apo një klon. Klonet më të lira janë në dispozicion në rreth 500 Rs (rreth 4 dollarë).

Hapi 2: Disa informacione mbi ESP8266

ESP8266 u lançua në vitin 2014 vetëm një vit më parë kështu që është mjaft i ri. Patate të skuqura janë prodhuar nga Espressif.

Avantazhi

Avantazhi më i madh i ESP8266 është ndoshta kostoja e tij. Quiteshtë mjaft e lirë dhe mund të blini disa prej tyre me një lëvizje të vetme. Para se të mësoja për këtë, as që mund të mendoja të blija një modul wifi. Ato ishin shumë të kushtueshme Me Versionet e reja të ESP8266 po lëshohen mjaft shpesh dhe më i fundit është ESP 12. Megjithatë, në këtë Instructable unë do të përqendrohem vetëm në ESP 01 i cili është mjaft i popullarizuar. Për më tepër kur blini ESP8266 vjen paraprakisht i ngarkuar me firmware -in e paracaktuar AT. Pra jeni mirë të filloni sapo të blini një.. Gjithashtu siç do të shihni nga kjo e udhëzueshme është mjaft e lehtë për t'i ndërlidhur ato.

Disavantazhi

Çdo pajisje ka avantazhet dhe disavantazhet e veta dhe ESP nuk është ndryshe. ESP ndonjëherë mund të jetë shumë e ndërlikuar dhe frustruese për të punuar me të. Meqenëse është krejt e re do ta keni të vështirë të merrni informacion në lidhje me të. Për fat të mirë një komunitet në esp8266.com ekziston e cila është shumë ndihmë. Për më tepër ajo nganjëherë gjithashtu fillon të bëjë gjëra të papritura si hedhja e një ngarkese mbeturinash përmes lidhjes serike etj.

Vini re se ka shumë dokumentacione të disponueshme në internet dhe një pjesë e tij është konfliktuale. Ky udhëzues nuk është i ndryshëm. Ndërsa luaja me ESP8266 tim, zbulova se ai devijonte shumë nga ajo që u përmend në internet (juaji mund të gjithashtu) por funksionoi mirë.

Hapi 3: Pinout i ESP8266

Pinout e ESP8266
Pinout e ESP8266

ESP8266 ka 8 kunja siç tregohet.

Gnd dhe Vcc duhet të lidhen si zakonisht me tokën dhe furnizimin respektivisht. ESP8266 funksionon në 3.3V.

PIN RESET përdoret për të rivendosur manualisht ESP. Normalisht duhet të jetë i lidhur 3.3V. Nëse doni të rivendosni ESP lidhni këtë kunj me tokëzimin në çast dhe pastaj përsëri në 3.3V.

CH_PD është fikja e çipit e cila normalisht duhet të lidhet me 3.3V.

GPIO0 dhe GPIO2 janë kunja dalëse me qëllim të përgjithshëm. Këto duhet të lidhen normalisht me 3.3V. Megjithatë, kur ndizet firmueri lidheni GPIO0 me gnd.

Kunjat Rx dhe Tx janë kunjat transmetues dhe marrës të ESP8266. Ato veprojnë në logjikë 3.3V, domethënë 3.3V është logjikë LART HIGH për ESP8266.

Lidhjet e hollësishme jepen në hapat e mëvonshëm.

Hapi 4: Çfarë duhet të përdoret për të komunikuar me ESP8266?

Çfarë duhet të përdoret për të komunikuar me ESP8266?
Çfarë duhet të përdoret për të komunikuar me ESP8266?
Çfarë duhet të përdoret për të komunikuar me ESP8266?
Çfarë duhet të përdoret për të komunikuar me ESP8266?
Çfarë duhet të përdoret për të komunikuar me ESP8266?
Çfarë duhet të përdoret për të komunikuar me ESP8266?

Ka shumë pajisje që mund të përdoren për të komunikuar me ESP8266 siç janë programuesit FTDI, konvertuesi serial USB në TTL, Arduino etj. Megjithatë, unë kam përdorur një Arduino Uno thjesht sepse është më e lehtë dhe pothuajse të gjithë e kanë atë. Gjithashtu nëse keni një Arduino ju gjithashtu keni Arduino IDE dhe monitori i tij serik mund të përdoret për komunikim me ESP8266. Pra, mos shpenzoni para për programuesit FTDI etj.

Sidoqoftë, nëse dëshironi ose nëse tashmë e keni një të tillë, mund të përdorni një programues FTDI ose një konvertues serial USB në TTL (më shumë se si t'i lidhni ato më vonë). Gjithashtu ka shumë softuerë të tillë si RealTerm ose stuko. Ju mund të përdorni këto në të njëjtën mënyrë si monitori serik i Arduino IDE.

Hapi 5: Montimi i ESP8266 në Breadboard

Montimi i ESP8266 në Breadboard
Montimi i ESP8266 në Breadboard
Montimi i ESP8266 në Breadboard
Montimi i ESP8266 në Breadboard

Vini re se kunjat e ESP8266 nuk janë miqësore me bukën. Kjo mund të kapërcehet me 2 mënyra.

Përdorni tela bluzë për meshkuj që mund t'i bëjnë gjërat të çrregullta ose

Bëni siç tregohet në këtë udhëzues ose

Përdorni një bord përshtatës, bëni një vetë (ka shumë prej tyre në Instructables) i cili është i zoti.

Hapi 6: Furnizimi me energji elektrike

Furnizimi me energji elektrike
Furnizimi me energji elektrike

ESP8266 punon në furnizimin me 3.3V. Mos e lidhni me pinin 5V në Arduino. Ndoshta do të digjet.

Disa mësime sugjeruan bërjen e një qarku të ndarjes së tensionit duke përdorur rezistenca 1k, 2k me 5V si hyrje dhe marrjen e 3.3V përgjatë rezistencës 2k dhe furnizimin e tij me Arduino. Megjithatë, zbulova se ESP as nuk u ndez kur e bëra këtë.

Unë kam qenë në gjendje ta fuqizoj duke përdorur 3.3V në Arduino, por zbulova se ESP u ngroh pas ca kohësh.

Ju mund të përdorni një rregullator të tensionit 3.3V.

Ose mund të përdorni konvertuesin e zbritjes LM2596 dc-dc. Këto janë mjaft të lira. Dhe unë i kam përdorur këto. Jepni 5V nga Arduino në hyrje. Rregulloni potenciometrin në modul, derisa dalja të bëhet 3.3VI zbuloi se ESP mund të fuqizohet nga njëra prej këtyre për orë të tëra. Bëni lidhjet siç tregohet në figurë.

Hapi 7: Konvertimi i Nivelit Logjik

Konvertimi i Nivelit Logjik
Konvertimi i Nivelit Logjik

Përmendet se ESP ka logjikë 3.3V ndërsa Arduino ka logjikë 5V.

Kjo do të thotë që në ESP 3.3V është logjikë LART ndërsa në Arduino 5V është logjikë LART. Kjo mund të shkaktojë disa probleme gjatë lidhjes së tyre së bashku.

Kam gjetur në internet se konvertimi i nivelit logjik duhet të aplikohet gjatë ndërlidhjes së ESP Rx dhe Tx me Arduino.

Disa mësime përmendën që konvertimi i nivelit logjik është i nevojshëm gjatë ndërlidhjes së kunjit ESP Rx.

Sidoqoftë, zbulova se thjesht lidhja e kunjave ESP Rx dhe Tx me Arduino nuk shkaktoi ndonjë problem

Unë lidha Rx dhe Tx përmes konvertuesit të nivelit logjik, si dhe Rx vetëm, por nuk mora asnjë përgjigje.

Sidoqoftë, zbulova se lidhja e kunjit ESP Tx përmes konvertuesit të nivelit logjik gjatë lidhjes së Tx drejtpërdrejt gjithashtu nuk shkaktoi probleme

Pra, konvertuesi i nivelit logjik mund ose nuk mund të përdoret.

Përdorni cilindo metodë që funksionon për ju përmes provës dhe gabimit.

Hapi 8: Lidhjet

Lidhjet
Lidhjet

Lidhjet e ESP8266 janë:

ESP8266

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

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

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

Rx -------------------- Rx e Arduino

Tx --------------------- Tx e Arduino (konvertues direkt ose përmes nivelit logjik)

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

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

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

(Vini re se në disa versione ESP Rx duhet të lidhet me Arduino Tx dhe ESP Tx duhet të lidhet me Arduino Rx).

Nëse përdorni programues FTDI ose konvertues serial USB në TTL, lidhni përkatësisht Tx dhe Rx me Rx dhe Tx të ESP8266.

Hapi 9: Fillimi

Pasi të keni bërë lidhjet, ngarkoni

void setup ()

{}

lak void ()

{}

dmth një skicë bosh për Arduino..

Hapni monitorin serik dhe vendoseni në "Të dy NL & CR".

Eksperimentoni me normën Baud. Zakonisht duhet të jetë 9600, edhe pse ndonjëherë mund të jetë 115200.

Hapi 10: AT urdhëron

AT urdhëron
AT urdhëron

Thjesht të thuash komandat AT janë komanda që mund të dërgohen në ESP8266 në mënyrë që ta mundësojnë atë të kryejë disa funksione të tilla si rinisja, lidhja me wifi etj. ESP si përgjigje do të dërgojë një konfirmim në formën e tekstit. Më poshtë kam shpjeguar disa Komandat AT dhe si përgjigjet ESP ndaj tyre. Vini re se me dërgim nënkuptoj shtypjen e komandës dhe goditjen enter (kthim).

Dërgoni AT përmes monitorit serik

Kjo komandë përdoret si komandë testimi.

Si përgjigjet ESP: OK duhet të kthehet.

Dërgoni AT+RST përmes monitorit serik

Kjo komandë përdoret për të rinisur modulin.

Si përgjigjet ESP: ESP kthen një ngarkesë mbeturinash. Sidoqoftë kërkoni për Gati ose gati.

Dërgo AT+GMR përmes monitorit serik

Ky komandë përdoret për të përcaktuar versionin e firmuerit të modulit.

Si përgjigjet ESP: Versioni i firmuerit duhet të kthehet.

Firmware është një pjesë e softuerit që është i instaluar në një pajisje zakonisht në ROM -in e tij (memorie vetëm për lexim) dmth nuk ka për qëllim të ndryshohet shpesh ose aspak. Ai siguron kontrollin dhe manipulimin e të dhënave të pajisjes. ESP8266 ka një numër të firmuareve të ndryshëm, të cilat të gjitha janë mjaft të lehta për tu ndezur (instaluar).

Hapi 11: Sintaksa e Përgjithshme e Komandave AT

Sintaksa e përgjithshme e komandave AT për kryerjen e funksioneve të ndryshme është dhënë:

Parametri AT+=?

Kur një komandë e këtij lloji dërgohet përmes monitorit serik, ESP kthen të gjitha vlerat që mund të marrë parametri.

Parametri AT+= val

Kur një komandë e këtij lloji dërgohet përmes monitorit serik, ESP vendos vlerën e parametrit në val.

Parametri AT+?

Kur një komandë e këtij lloji dërgohet përmes monitorit serik, ESP kthen vlerën aktuale të parametrit.

Disa komanda AT mund të marrin vetëm një nga llojet e mësipërme ndërsa disa mund të marrin të 3.

Një shembull i një komande që është e mundur në të gjitha 3 llojet e mësipërme është CWMODE, e cila përdoret për të vendosur modalitetin wifi.

Dërgo AT+CWMODE =? përmes monitorit serik

Si përgjigjet ESP: Të gjitha vlerat që mund të marrë ESP CWMODE (1-3) kthehen në mënyrë specifike +CWMODE (1-3). Ku

1 = statike

2 = AP

3 = Si statike ashtu edhe AP

Dërgo AT+CWMODE = 1 përmes monitorit serik

Si përgjigjet ESP: OK duhet të kthehet nëse ka një ndryshim në CWMODE nga vlera e mëparshme dhe është vendosur në statik, përndryshe asnjë ndryshim nuk duhet të kthehet nëse nuk ka ndryshim në vlerën CWMODE.

E RORTNDSISHME: Nëse CWMODE nuk është vendosur në 1, komandat në hapat e mëvonshëm nuk do të funksionojnë.

Të dërgohet AT+CWMODE? përmes monitorit serik

Si përgjigjet ESP: Vlera aktuale e CWMODE duhet të kthehet, veçanërisht nëse keni ndjekur hapin e mësipërm +CWMODE: 1 duhet të kthehet.

Hapi 12: Lidhja me Wifi

Dërgoni AT+CWLAP përmes monitorit serik

Ky komandë përdoret për të listuar të gjitha rrjetet në zonë.

Si përgjigjet ESP: Një listë e të gjitha pikave të disponueshme të hyrjes ose rrjeteve wifi duhet të kthehet.

Dërgo AT+CWJAP = "SSID", "fjalëkalim"

(përfshirë kuotat e dyfishta).

Kjo komandë përdoret për t'u bashkuar me një rrjet wifi.

Si përgjigjet ESP: OK duhet të kthehet nëse moduli është lidhur me rrjetin.

Të dërgohet AT+CWJAP? përmes monitorit serik

Ky komandë përdoret për të përcaktuar rrjetin me të cilin është lidhur ESP aktualisht.

Si përgjigjet ESP: Rrjeti në të cilin është lidhur ESP do të kthehet. Në mënyrë të veçantë +CWJAP: "SSID"

Dërgoni AT+CWQAP përmes monitorit serik

Ky komandë përdoret për t'u shkëputur nga rrjeti në të cilin është lidhur ESP aktualisht.

Si përgjigjet ESP: ESP del nga rrjeti në të cilin është lidhur dhe OK kthehet.

Dërgoni AT+CIFSR përmes monitorit serik

Kjo komandë përdoret për të përcaktuar adresën IP të ESP.

Si përgjigjet ESP: Adresa IP e ESP kthehet.

Hapi 13: Thingspeak

Folje
Folje
Folje
Folje
Folje
Folje
Folje
Folje

Nëse nuk keni bërë një llogari në Thingspeak bëni një tani.

Pasi të keni bërë një llogari në Thingspeak shkoni te Aplikacionet> ThingTweet.

Lidhni llogarinë tuaj në twitter me të.

Vini re çelësin API që gjenerohet.

Këtu pasi aplikacioni ThingTweet është përdorur për të lidhur një llogari Twitter me llogarinë tuaj ThingSpeak, ju mund të dërgoni një cicërimë duke përdorur API -në TweetContol.

Një API (ndërfaqja e programit të aplikacionit) është kodi që lejon dy programe softuerike të komunikojnë me njëri -tjetrin.

Disa API të tjerë që janë në dispozicion për zhvilluesit janë API të Google Maps, Open weather API etj.

Vetëm pasi ESP të jetë vendosur, kontrolluar dhe lidhur me wifi (në thelb të gjitha hapat e dhënë në 2 hapat e mëparshëm), kaloni hapat e dhënë më poshtë

Hapi 14: Disa më shumë komanda AT

Dërgo AT+CIPMODE = 0, përmes monitorit serik

Si përgjigjet ESP: OK kthehet.

Komanda CIPMODE përdoret për të vendosur mënyrën e transferimit.

0 = mënyra normale

1 = Mënyra e kalimit UART-WiFi

Dërgo AT+CIPMUX = 1 përmes monitorit serik

Si përgjigjet ESP: OK kthehet.

Komanda CIPMUX përdoret për të vendosur lidhje të vetme ose të shumëfishta.

0 = lidhje e vetme

1 = lidhje e shumëfishtë

Hapi 15: Vendosja e Lidhjes TCP

Vendosja e lidhjes TCP
Vendosja e lidhjes TCP
Vendosja e lidhjes TCP
Vendosja e lidhjes TCP

Vini re se duke filluar nga komanda e parë, sapo të dërgoni të parën, lidhja do të krijohet vetëm për një kohë të kufizuar. Pra, dërgoni komandat sa më shpejt të jetë e mundur.

Dërgo AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 përmes monitorit serik

Si përgjigjet ESP: Lidhja kthehet nëse lidhja është krijuar.

Kjo komandë përdoret për të krijuar një lidhje TCP.

Sintaksa është AT+CIPSTART = ID e lidhjes, lloji, IP i largët, port i largët

ku

ID e lidhjes = ID e lidhjes në rrjet (0 ~ 4), e përdorur për shumë lidhje.

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

IP e largët = vargu, adresa IP e largët (adresa e faqes së internetit).

port i largët = varg, numër porti në distancë (zakonisht zgjidhet të jetë 80).

Dërgo AT+CIPSEND = 0, 110 përmes monitorit serik

Si përgjigjet ESP:> (më e madhe se) kthehet nëse komanda është e suksesshme.

Ky komandë përdoret për të dërguar të dhëna.

Sintaksa është AT+CIPSEND = ID e lidhjes, gjatësia

ku

ID e lidhjes = ID e lidhjes (0 ~ 4), për shumë lidhje. Meqenëse CIPMUX është vendosur në 1, është 1.

gjatësia = gjatësia e të dhënave, MAX 2048 bajt. Në përgjithësi zgjidhni një numër të madh për gjatësinë.

Hapi 16: Dërgimi i cicërimës

Dërgimi i cicërimës
Dërgimi i cicërimës

Tani për dërgimin e cicërimës

Dërgoni GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet përmes monitorit serik.

Zëvendësoni API -në tuaj me çelësin API dhe youtweet me çdo cicërimë që dëshironi.

Sapo të dërgoni komandën e mësipërme filloni të shtypni enter (kthim) në intervale afërsisht 1 sekondë. Pas ca kohësh, Dërgo OK, +IPD, 0, 1: 1 dhe OK do të kthehen, që do të thotë se cicërimi është postuar.

Hapni Twitter -in tuaj dhe kontrolloni nëse cicërima është postuar apo jo.

Gjithashtu vini re se i njëjti cicërimë nuk mund të dërgohet në mënyrë të përsëritur.

Vargu i mësipërm që u dërgua (GET….), Është një kërkesë HTTP GET.

Kërkesa GET përdoret për të marrë të dhëna nga serveri i dhënë (api.thingspeak.com).

Hapi 17: Çfarë duhet të bëni pas kësaj

(Shikoni videon në të paktën 360p)

Shkoni në këtë depo për të shkarkuar kodin dhe skemat. Klikoni në butonin "Clone or Download" (me ngjyrë të gjelbër në anën e djathtë) dhe zgjidhni "Download ZIP" për të shkarkuar skedarin zip. Tani nxirrni përmbajtjen në kompjuterin tuaj për të marrë kodin dhe skemat (në dosjen e skemave). Unë gjithashtu kam ngarkuar një fletë cheats, e cila përmbledh të gjitha komandat AT, në këtë depo.

Ka shumë burime të mëdha në dispozicion në internet që kanë të bëjnë me ESP8266. Unë kam përmendur disa prej tyre këtu:

  • Video nga Kevin Darrah.
  • Video ALLaboutEE.
  • esp8266.com

Ju gjithashtu mund të eksperimentoni më shumë me komandat AT. Ka shumë API që janë në dispozicion në internet që mund të bëjnë të gjitha llojet e gjërave siç janë moti, çmimet e aksioneve etj.

Dokumentacioni i plotë i komandës AT

Gjithashtu unë jam duke punuar në një program që cicëron automatikisht vlerat analoge të një sensori dhe do ta postoj pasi të funksionojë siç duhet.

Nëse ju pëlqeu vota ime udhëzuese për të në konkursin Arduino për të gjitha gjërat.

Recommended: