Indholdsfortegnelse:

Nybegynderguide til ESP8266 og tweeting ved hjælp af ESP8266: 17 trin (med billeder)
Nybegynderguide til ESP8266 og tweeting ved hjælp af ESP8266: 17 trin (med billeder)

Video: Nybegynderguide til ESP8266 og tweeting ved hjælp af ESP8266: 17 trin (med billeder)

Video: Nybegynderguide til ESP8266 og tweeting ved hjælp af ESP8266: 17 trin (med billeder)
Video: How to get 5V from 18650 Lithium Battery Powering Arduino ESP32 ESP8266 or charge your phone 2024, December
Anonim
Begynderguide til ESP8266 og tweeting ved hjælp af ESP8266
Begynderguide til ESP8266 og tweeting ved hjælp af ESP8266

Jeg lærte om Arduino for 2 år siden. Så jeg begyndte at lege med enkle ting som lysdioder, knapper, motorer osv. Så tænkte jeg, at det ikke ville være fedt at oprette forbindelse til ting som at vise dagens vejr, aktiekurser, træningstider på Jeg fandt ud af, at dette kunne gøres ved at sende og modtage data via internettet, så løsningen blev forbundet til intenet. Der begyndte min søgning om, hvordan man forbinder Arduino til internettet og sender og modtager data. Jeg lærte om wifi -moduler på internettet og fandt dem meget dyre. Derefter lærte jeg om ESP8266.

Jeg læste meget på internettet på ESP8266 -modulet for omkring et år siden og købte en, men begyndte at arbejde med dem bare i sidste måned. På det tidspunkt var der ingen omfattende information tilgængelig. Men nu er der meget dokumentation, videoer er tilgængelige på internettet vedrørende firmware, AT -kommandoer, projekter osv. Så jeg besluttede mig for at komme i gang.

Jeg skrev denne instruerbare som nybegynderguide, da jeg stod over for mange problemer med at komme i gang med at komme i gang med ESP8266. Så jeg besluttede at skrive denne Instructable, så andre mennesker, der støder på problemer med deres moduler, kan løse dem hurtigere

I denne Instructable vil jeg prøve at vise

  • Sådan tilsluttes en ESP8266 og kommunikeres med den via Arduino Uno.
  • Jeg vil også prøve at vise, hvordan et tweet kan sendes igennem det ved hjælp af Thingspeak.

Hvad kan ESP8266 gøre? Det er begrænset af din fantasi. Jeg har set projekter og tutorials på internettet, der viser, hvordan man henter en bys temperatur, aktiekurser, sender og modtager e -mails, foretager telefonopkald og meget meget mere. Jeg vil vise i denne instruktive hvordan du sender et tweet.

Trin 1: Ting, du får brug for

Ting du får brug for
Ting du får brug for

Her er de ting, du får brug for. De fleste af disse kan købes fra enhver elektrisk butik eller online (jeg har givet linkene til reference).

  • 1xESP8266 (ESP -01) -bay
  • 1xBreadboard -adapter (lær hvordan du laver en her eller brug nogle jumperwires)
  • 1xLM2596 -bay
  • 1xLogic level converter -bay
  • 1xArduino Uno
  • USB -kabel til Arduino Uno
  • 1xBreadboard -bay
  • Ledninger -bay
  • Arduino IDE
  • En konto hos Thingspeak

De samlede omkostninger vil være omkring Rs 600 (ca. $ 9). Jeg har ekskluderet omkostningerne ved Arduino Uno, da det afhænger af, om du vil have en original eller en klon. De billigste kloner fås til omkring Rs 500 (ca. $ 4).

Trin 2: Nogle oplysninger om ESP8266

ESP8266 blev lanceret i 2014 for bare et år siden, så det er ganske nyt. Chipperne fremstilles af Espressif.

Fordel

Den største fordel ved ESP8266 er måske dens pris. Det er ret billigt, og du kan købe et par af dem på en gang. Inden jeg fik at vide om det, kunne jeg ikke engang tænke på at købe et wifi -modul. De var for dyre. Nye versioner af ESP8266 udkommer ganske ofte, og den seneste er ESP 12. Men i denne instruks vil jeg kun fokusere på ESP 01, som er ret populær. Desuden når du køber ESP8266, leveres den forudindlæst med standard AT -firmwaren. du er god til at komme i gang, så snart du køber en.. Også som du vil se fra denne instruerbare, er det ret let at grænseflade dem.

Ulempe

Hver enhed har sine egne fordele og ulemper, og ESP er ikke anderledes. ESP kan nogle gange vise sig at være meget vanskelig og frustrerende at arbejde med. Da det er ret nyt, vil du have svært ved at skaffe oplysninger om det. Heldigvis kan et fællesskab på esp8266.com eksisterer, hvilket er meget hjælp. Desuden begynder det også nogle gange også at gøre uventede ting som at smide en mængde affald igennem den serielle forbindelse osv.

Bemærk, at der er meget dokumentation tilgængelig på internettet, og en del af den er modstridende. Denne instruktion er ikke anderledes. Mens jeg leger med min ESP8266 fandt jeg ud af, at den afviger meget fra det, der blev nævnt på internettet (din kan evt. også) men det fungerede fint.

Trin 3: Pinout af ESP8266

Pinout af ESP8266
Pinout af ESP8266

ESP8266 har 8 ben som vist.

Gnd og Vcc skal som sædvanligvis forbindes til jorden og forsyningen. ESP8266 fungerer på 3,3V.

RESET pin bruges til manuelt at nulstille ESP. Den skal normalt tilsluttes 3.3V. Hvis du vil nulstille ESP, skal du tilslutte denne pin til jord kortvarigt og derefter tilbage til 3.3V.

CH_PD er chip -down down, som normalt skal tilsluttes 3,3V.

GPIO0 og GPIO2 er input output -pins til generelle formål. Disse skal normalt tilsluttes til 3.3V. Når firmware blinker, skal GPIO0 imidlertid tilsluttes til gnd.

Rx og Tx ben er sende- og modtagestifter på ESP8266. De fungerer på 3,3V logik, dvs. 3,3V er logisk HØJ for ESP8266.

Detaljerede forbindelser findes i senere trin.

Trin 4: Hvad skal der bruges til kommunikation med ESP8266?

Hvad skal der bruges til kommunikation med ESP8266?
Hvad skal der bruges til kommunikation med ESP8266?
Hvad skal der bruges til kommunikation med ESP8266?
Hvad skal der bruges til kommunikation med ESP8266?
Hvad skal der bruges til kommunikation med ESP8266?
Hvad skal der bruges til kommunikation med ESP8266?

Der er mange enheder, der kan bruges til at kommunikere med ESP8266, såsom FTDI -programmører, USB til TTL seriel konverter, Arduino osv. Jeg har dog brugt en Arduino Uno, simpelthen fordi det er det letteste og næsten alle har det. Også hvis du har en Arduino har du også Arduino IDE og dens serielle skærm kan bruges til kommunikation med ESP8266. Så ingen penge til FTDI -programmører osv.

Men hvis du vil, eller hvis du allerede har en, kan du bruge en FTDI programmerer eller en USB til TTL seriel konverter (mere om hvordan du tilslutter dem senere). Der er også en masse software som RealTerm eller kit. Du kan bruge disse på samme måde som Arduino IDEs serielle skærm.

Trin 5: Montering af ESP8266 på brødbræt

Montering af ESP8266 på brødbræt
Montering af ESP8266 på brødbræt
Montering af ESP8266 på brødbræt
Montering af ESP8266 på brødbræt

Bemærk, at stifterne på ESP8266 ikke er brødbræt venlige. Dette kan overvindes på 2 måder.

Brug hun -til -mand jumpertråde, som kan gøre ting rodet eller

Gør som vist i denne Instructable eller

Brug et adapterkort, lav et selv (der er mange af dem på Instructables), hvilket er pænt.

Trin 6: Strømforsyning

Strømforsyning
Strømforsyning

ESP8266 fungerer på 3,3V forsyning. Tilslut den ikke til 5V pin på Arduino. Den vil sandsynligvis brænde.

Nogle vejledninger foreslog at lave et spændingsdelerkredsløb ved hjælp af 1k, 2k modstande med 5V som input og opnå 3,3V på tværs af 2k modstanden og levere det til Arduino. Men jeg fandt ud af, at ESP ikke engang startede, da jeg gjorde dette.

Jeg var i stand til at tænde den ved hjælp af 3.3V på Arduino, men fandt ud af, at ESP blev varm efter noget tid.

Du kan bruge en 3.3V spændingsregulator.

Eller du kan bruge LM2596 dc-dc step down converter. Disse er ret billige. Og jeg brugte disse. Give 5V fra Arduino til indgangen. Juster potentiometeret på modulet, indtil output bliver 3,3VI fandt ud af, at ESP'en kan drives fra en af disse i timer. Gør forbindelserne som vist på figuren.

Trin 7: Konvertering af logisk niveau

Konvertering af logisk niveau
Konvertering af logisk niveau

Det nævnes, at ESP har 3.3V logik, mens Arduino har 5V logik.

Dette betyder, at i ESP er 3.3V logik HØJ, mens i Arduino 5V er logik HØJ. Dette kan forårsage nogle problemer, mens du forbinder dem sammen.

Jeg fandt på internettet, at konvertering på logisk niveau skal anvendes, mens ESP Rx og Tx forbindes med Arduino.

Nogle tutorials nævnte, at konvertering på logisk niveau er påkrævet, mens ESP Rx -pin er forbundet.

Imidlertid fandt jeg ud af, at det normalt ikke forårsagede problemer at tilslutte ESP Rx og Tx benene til Arduino normalt

Jeg tilsluttede Rx og Tx gennem logisk niveauomformer samt Rx alene, men fik ikke noget svar.

Jeg fandt imidlertid ud af, at tilslutning af ESP Tx -pin via logisk niveauomformer, mens du tilsluttede Tx direkte, heller ikke forårsagede problemer

Så logisk niveauomformer kan bruges eller ikke.

Brug den metode, der fungerer for dig gennem forsøg og fejl.

Trin 8: Forbindelser

Forbindelser
Forbindelser

Forbindelserne til ESP8266 er:

ESP8266

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

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

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

Rx -------------------- Rx af Arduino

Tx --------------------- Tx for Arduino (direkte eller gennem logisk niveauomformer)

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

NULSTIL -------------- 3.3V

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

(Bemærk, at i nogle versioner skal ESP Rx sluttes til Arduino Tx, og ESP Tx skal tilsluttes Arduino Rx).

Hvis du bruger FTDI programmerer eller USB til TTL seriel konverter, skal du slutte deres Tx og Rx til henholdsvis Rx og Tx på ESP8266.

Trin 9: Kom godt i gang

Når du har oprettet forbindelserne, skal du uploade

ugyldig opsætning ()

{}

hulrum ()

{}

dvs. en tom skitse til Arduino..

Åbn den serielle skærm, og indstil den til "Både NL & CR".

Eksperimenter med Baud -hastigheden. Den skal normalt være 9600, men nogle gange kan den være 115200.

Trin 10: AT -kommandoer

AT -kommandoer
AT -kommandoer

Simpelthen at sige AT -kommandoer er kommandoer, der kan sendes til ESP8266 for at gøre det muligt at udføre nogle funktioner som genstart, oprette forbindelse til wifi osv. ESP som svar sender en bekræftelse i form af tekst. Herunder har jeg forklaret nogle AT -kommandoer og hvordan ESP reagerer på dem. Bemærk, at med afsendelse mener jeg at skrive kommandoen og trykke enter (return).

Send AT via den serielle skærm

Denne kommando bruges som en testkommando.

Hvordan ESP reagerer: OK skal returneres.

Send AT+RST via den serielle skærm

Denne kommando bruges til at genstarte modulet.

Hvordan ESP reagerer: ESP returnerer en mængde affald, men se efter Klar eller klar.

Send AT+GMR via den serielle skærm

Denne kommando bruges til at bestemme firmwareversionen af modulet.

Hvordan ESP reagerer: Firmwareversion skal returneres.

Firmware er et stykke software, der normalt er installeret på en enhed på sin ROM (skrivebeskyttet hukommelse), dvs. det er ikke meningen, at det skal ændres ofte eller slet ikke. Det giver kontrol og datamanipulation af enheden. ESP8266 har et nummer af forskellige firmwares, som alle er ret lette at blinke (installere).

Trin 11: Generel syntaks for AT -kommandoer

Den generelle syntaks for AT -kommandoer til udførelse af forskellige funktioner er givet:

AT+parameter =?

Når en kommando af denne type sendes gennem den serielle skærm, returnerer ESP alle de værdier, som parameteren kan tage.

AT+parameter = val

Når en kommando af denne type sendes via den serielle skærm, indstiller ESP værdien af parameteren til val.

AT+parameter?

Når en kommando af denne type sendes via den serielle skærm, returnerer ESP den aktuelle parameterværdi.

Nogle AT -kommandoer tager muligvis kun en af de ovennævnte typer, mens nogle kan tage alle 3.

Et eksempel på en kommando, der er mulig i alle de ovennævnte 3 typer, er CWMODE, som bruges til at indstille wifi -tilstand.

Send AT+CWMODE =? gennem den serielle skærm

Hvordan ESP reagerer: Alle de værdier, ESP CWMODE kan tage (1-3) returneres specifikt +CWMODE (1-3).

1 = Statisk

2 = AP

3 = Både statisk og AP

Send AT+CWMODE = 1 gennem den serielle skærm

Hvordan ESP reagerer: OK skal returneres, hvis der er en ændring i CWMODE fra den tidligere værdi, og den er sat til statisk, ellers skal ingen ændring returneres, hvis der ikke er nogen ændring i CWMODE -værdien.

VIGTIGT: Medmindre CWMODE er indstillet til 1, fungerer kommandoerne i de senere trin ikke.

Send AT+CWMODE? gennem den serielle skærm

Hvordan ESP reagerer: Nuværdien af CWMODE skal returneres, specifikt hvis du fulgte ovenstående trin +CWMODE: 1 skal returneres.

Trin 12: Tilslutning til Wifi

Send AT+CWLAP via den serielle skærm

Denne kommando bruges til at liste alle netværk i området.

Hvordan ESP reagerer: En liste over alle tilgængelige adgangspunkter eller wifi -netværk skal returneres.

Send AT+CWJAP = "SSID", "password"

(inklusive de dobbelte citater).

Denne kommando bruges til at oprette forbindelse til et wifi -netværk.

Hvordan ESP reagerer: OK skal returneres, hvis modulet har været forbundet til netværket.

Send AT+CWJAP? gennem den serielle skærm

Denne kommando bruges til at bestemme det netværk, som ESP i øjeblikket er forbundet til.

Sådan reagerer ESP: Netværket, som ESP er tilsluttet, returneres. Specifikt +CWJAP: "SSID"

Send AT+CWQAP via den serielle skærm

Denne kommando bruges til at afbryde forbindelsen til det netværk, som ESP i øjeblikket er forbundet til.

Sådan reagerer ESP: ESP afslutter det netværk, den er tilsluttet, og OK returneres.

Send AT+CIFSR via den serielle skærm

Denne kommando bruges til at bestemme IP -adressen for ESP.

Sådan reagerer ESP: ESP's IP -adresse returneres.

Trin 13: Thingspeak

Ting taler
Ting taler
Ting taler
Ting taler
Ting taler
Ting taler
Ting taler
Ting taler

Hvis du ikke har oprettet en konto på Thingspeak, skal du lave en nu.

Efter at have oprettet en konto på Thingspeak skal du gå til Apps> ThingTweet.

Link din twitter -konto til den.

Bemærk den API -nøgle, der genereres.

Her efter at ThingTweet -appen er blevet brugt til at linke en Twitter -konto til din ThingSpeak -konto, kan du sende en tweet ved hjælp af TweetContol API.

En API (applikationsprogramgrænseflade) er kode, der tillader to softwareprogrammer at kommunikere med hinanden.

Nogle andre API'er, der er tilgængelige for udviklere, er Google maps API, Open weather API osv.

Først efter at ESP er blevet konfigureret, kontrolleret og forbundet til wifi (stort set alle trinene i de foregående 2 trin), skal du gennemgå trinene nedenfor

Trin 14: Nogle flere AT -kommandoer

Send AT+CIPMODE = 0, via den serielle skærm

Hvordan ESP reagerer: OK returneres.

CIPMODE -kommandoen bruges til at indstille overførselstilstanden.

0 = normal tilstand

1 = UART-WiFi-gennemgangstilstand

Send AT+CIPMUX = 1 gennem den serielle skærm

Hvordan ESP reagerer: OK returneres.

CIPMUX -kommandoen bruges til at indstille enkelt- eller flere forbindelser.

0 = enkelt forbindelse

1 = flere forbindelser

Trin 15: Opsætning af TCP -forbindelsen

Opsætning af TCP -forbindelsen
Opsætning af TCP -forbindelsen
Opsætning af TCP -forbindelsen
Opsætning af TCP -forbindelsen

Bemærk, at fra den første kommando, så snart du sender den første, vil forbindelsen blive etableret i en begrænset periode, så send kommandoerne så hurtigt som muligt.

Send AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 via den serielle skærm

Hvordan ESP reagerer: Tilknyttet returneres, hvis forbindelsen er etableret.

Denne kommando bruges til at oprette en TCP -forbindelse.

Syntaksen er AT+CIPSTART = link -id, type, fjern -IP, fjernport

hvor

link ID = ID for netværksforbindelse (0 ~ 4), der bruges til multi-forbindelse.

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

fjern -IP = streng, fjern -IP -adresse (webstedets adresse).

fjernport = streng, fjernt portnummer (normalt valgt til 80).

Send AT+CIPSEND = 0, 110 via den serielle skærm

Hvordan ESP reagerer:> (større end) returneres, hvis kommandoen er vellykket.

Denne kommando bruges til at sende data.

Syntaksen er AT+CIPSEND = link -ID, længde

hvor

link ID = ID for forbindelsen (0 ~ 4), for multi-connect. Da CIPMUX er blevet indstillet til 1, er 1.

længde = datalængde, MAX 2048 bytes. Vælg generelt et stort tal for længden.

Trin 16: Afsendelse af tweetet

Sender tweetet
Sender tweetet

Nu til at sende tweetet

Send GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet via den serielle skærm.

Udskift din API med API -nøglen og din tweet med enhver tweet, du ønsker.

Så snart du sender ovenstående kommando, skal du trykke på enter (retur) med cirka 1 sekunds mellemrum. Efter et stykke tid sendes OK, +IPD, 0, 1: 1 og OK tilbage, hvilket betyder, at tweetet er blevet bogført.

Åbn din twitter, og kontroller, om tweetet er blevet sendt eller ej.

Bemærk også, at den samme tweet ikke kan sendes gentagne gange.

Ovenstående streng, der blev sendt (GET….), Er en HTTP GET -anmodning.

GET -anmodningen bruges til at hente data fra den givne server (api.thingspeak.com).

Trin 17: Hvad skal man gøre efter dette

(Se videoen i mindst 360p)

Gå til dette lager for at downloade koden og skemaerne. Klik på knappen "Klon eller download" (grøn i farven på højre side) og vælg "Download ZIP" for at downloade zip -filen. Udtræk nu indholdet på din computer for at få koden og skematikken (i skematikermappen). Jeg har også uploadet et snydeblad, der opsummerer alle AT -kommandoer, til dette lager.

Der er mange store ressourcer til rådighed på internettet, der beskæftiger sig med ESP8266. Jeg har nævnt nogle af dem her:

  • Kevin Darrah videoer.
  • ALLaboutEE videoer.
  • esp8266.com

Du kan også eksperimentere mere med AT -kommandoer. Der er mange API'er, der er tilgængelige på internettet, der kan gøre alle mulige ting, såsom at få vejret, aktiekurser osv.

Fuld AT -kommandodokumentation

Jeg arbejder også i øjeblikket på et program, der automatisk tweets de analoge værdier for en sensor, og jeg vil sende det, når det fungerer korrekt.

Hvis du kunne lide min instruerbare stemme på det i Arduino, konkurrerer alle tingene.

Anbefalede: