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, Novembar
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 sa jednostavnim stvarima poput LED dioda, dugmadi, motora itd. Tada sam pomislio da ne bi bilo super povezati se s stvarima poput prikaza dnevnog vremena, cijena dionica, rasporeda vozova na LCD ekran. 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 o tome 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 počeo sam raditi s njima tek prošlog mjeseca. U to vrijeme nije bilo opsežnih informacija. Međutim, sada je dostupno mnogo dokumentacije, video zapisa na internetu u vezi firmvera, AT naredbi, projekata 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 ć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 Thingspeak -a.

Što može učiniti ESP8266? Ograničeno je vašom maštom. Vidio sam projekte i vodiče na internetu koji pokazuju kako se može postići temperatura grada, cijene dionica, slati i primati e -poruke, telefonirati i još mnogo toga. Pokazat ću u ovo uputstvo za slanje tvita.

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 njih se može kupiti u bilo kojoj električnoj trgovini ili na mreži (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č nivoa -ebay
  • 1xArduino Uno
  • USB kabel za Arduino Uno
  • 1xBreadboard -ebay
  • Žice -ebay
  • Arduino IDE
  • Račun sa 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. godine, prije samo godinu dana, tako da 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 saznao za to, nisam mogao ni pomisliti da kupim WiFi modul. Bili su preskupi.. Nove verzije ESP8266 se pojavljuju prilično često, a najnovija je ESP 12. Međutim, u ovom Uputstvu fokusirat ću se samo na ESP 01 koji je prilično popularan. Štoviše, kada kupujete ESP8266, dolazi s unaprijed učitanim zadanim AT firmverom. dobro je da počnete čim ga kupite … Takođe, kao što ćete videti iz ovog uputstva, prilično je lako povezati ih.

Nedostatak

Svaki uređaj ima svoje prednosti i nedostatke, a ESP se ne razlikuje. ESP se ponekad može pokazati kao vrlo š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. Štaviše, ponekad počinje raditi i neočekivane stvari poput bacanja tovara smeća kroz serijsku vezu itd.

Imajte na umu da je na Internetu dostupno mnogo dokumentacije i 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đe), ali je radilo dobro.

Korak 3: Ispis ESP8266

Pinout ESP8266
Pinout ESP8266

ESP8266 ima 8 pinova kao što je prikazano.

Gnd i Vcc bi trebali 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 se vratite na 3.3V.

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

GPIO0 i GPIO2 su ulazni izlazi za opću namjenu. Ovi bi trebali biti normalno spojeni na 3.3V. 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, odnosno 3.3V je logička VISOKA za ESP8266.

Detaljne veze dostupne su u kasnijim koracima.

Korak 4: Šta treba koristiti za komunikaciju s ESP8266?

Što bi trebalo koristiti za komunikaciju s ESP8266?
Što bi trebalo koristiti za komunikaciju s ESP8266?
Što treba koristiti za komunikaciju s ESP8266?
Što treba 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 koristiti FTDI programator ili USB u TTL serijski pretvarač (više o tome kako ih kasnije povezati). 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

Montiranje ESP8266 na Breadboard
Montiranje ESP8266 na Breadboard
Montiranje ESP8266 na Breadboard
Montiranje ESP8266 na Breadboard

Imajte na umu da pinovi ESP8266 nisu prilagođeni matičnoj ploči. To se može prevladati na 2 načina.

Koristite kratkospojne žice za muškarce koje mogu učiniti nered ili

Učinite kako je prikazano u ovom uputstvu ili

Upotrijebite adaptersku ploču, napravite je sami (ima ih puno na uputama) koja je uredna.

Korak 6: Napajanje

Napajanje
Napajanje

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

Neki vodiči su predložili stvaranje kruga razdjelnika napona koristeći 1k, 2k otpornike sa 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 pretvarač sa stepenicama prema dolje. 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 utvrdi se da se ESP može napajati iz jednog od ovih satima. Izvedite veze kao što je prikazano na slici.

Korak 7: Pretvorba logičkog nivoa

Konverzija logičkog nivoa
Konverzija logičkog nivoa

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 pri njihovom međusobnom povezivanju.

Našao sam na internetu da se konverzija logičkog nivoa mora primijeniti dok se povežu ESP Rx i Tx s Arduinom.

Neki vodiči spominju da je potrebna konverzija na logičkom nivou dok se povezuje ESP Rx pin.

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

Povezao sam Rx i Tx putem pretvarača logičkog nivoa, kao i samo Rx, ali nisam dobio nikakav odgovor.

Međutim, otkrio sam da spajanje ESP Tx pina preko pretvarača logičkog nivoa pri direktnom povezivanju Tx -a također nije uzrokovalo probleme

Stoga se pretvarač logičkog nivoa može koristiti, ali i ne mora.

Koristite metodu koja vam odgovara pomoću pokušaja i grešaka.

Korak 8: Veze

Connections
Connections

Veze ESP8266 su:

ESP8266

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

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

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

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

Tx --------------------- Tx Arduina (direktni ili preko logičkog pretvarača nivoa)

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

RESET -------------- 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 sa brzinom prijenosa. Obično bi to trebalo 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 kao odgovor će poslati neku potvrdu u obliku teksta. Dolje sam objasnio neke AT naredbe i način na koji 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 naredba se koristi kao testna naredba.

Kako ESP reagira: OK treba vratiti.

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 Ready ili ready.

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. Nije namijenjen čestoj ili nikakvoj promjeni. Omogućava kontrolu uređaja i upravljanje podacima. ESP8266 ima broj različitih firmvera koji su svi prilično laki za bljeskanje (instalaciju).

Korak 11: 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 gore navedene vrste je CWMODE, koja se koristi za postavljanje wifi moda.

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čki

2 = AP

3 = Statički i AP

Pošaljite AT+CWMODE = 1 putem serijskog monitora

Kako ESP reagira: OK 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 CWMODE vrijednosti.

VAŽNO: Osim ako CWMODE nije postavljeno 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 naredba se koristi za ispisivanje 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: OK treba 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 povezan.

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

Pošaljite AT+CWQAP putem serijskog monitora

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

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

Pošaljite AT+CIFSR putem serijskog monitora

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

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

Korak 13: Govorite stvari

Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak

Ako niste napravili račun na Thingspeak -u, napravite ga sada.

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

Povežite svoj Twitter nalog 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ćava 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: OK se vraća.

Naredba CIPMODE koristi se za postavljanje načina prijenosa.

0 = normalan način rada

1 = UART-WiFi prolazni način

Pošaljite AT+CIPMUX = 1 preko serijskog monitora

Kako ESP reagira: OK se vraća.

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, tip, udaljeni IP, udaljeni port

gdje

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

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

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

udaljeni port = niz, broj udaljenog porta (obično se bira 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, dužina

gdje

link ID = ID veze (0 ~ 4), za višestruko povezivanje. Pošto je CIPMUX postavljen na 1, je 1.

length = dužina podataka, MAX 2048 bajtova. Općenito odaberite veliki broj za dužinu.

Korak 16: Slanje tvita

Slanje tvita
Slanje tvita

Sada o slanju 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 pritiskati enter (povratak) 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 nije.

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

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

GET zahtjev se koristi za preuzimanje podataka s danog servera (api.thingspeak.com).

Korak 17: Šta učiniti nakon ovoga

(Pogledajte video u najmanje 360p)

Idite na ovo spremište da preuzmete kôd i sheme. Kliknite na dugme "Kloniraj ili preuzmi" (zelene boje s desne strane) i odaberite "Preuzmi ZIP" za preuzimanje zip datoteke. Sada ekstrahirajte sadržaj na računaru da biste dobili kod i sheme (u fascikli schematics). Takođe sam učitao cheatsheet, koji sažima sve AT komande, u ovo spremište.

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

  • Video zapisi Kevina Darraha.
  • ALLaboutEE video zapisi.
  • esp8266.com

Možete i više eksperimentirati s AT naredbama. Na internetu je dostupno mnogo API -ja koji mogu raditi razne stvari, kao što su vrijeme, cijene dionica itd.

Kompletna AT komandna dokumentacija

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

Ako vam se dopao moj instruktivni glas, glasajte za njega na Arduino takmičenju za sve stvari.

Preporučuje se: