Innholdsfortegnelse:

Nybegynnerguide til ESP8266 og tweeting ved bruk av ESP8266: 17 trinn (med bilder)
Nybegynnerguide til ESP8266 og tweeting ved bruk av ESP8266: 17 trinn (med bilder)

Video: Nybegynnerguide til ESP8266 og tweeting ved bruk av ESP8266: 17 trinn (med bilder)

Video: Nybegynnerguide til ESP8266 og tweeting ved bruk av ESP8266: 17 trinn (med bilder)
Video: Окрашивание волос Блонд Пошагово дома | Холодный Блонд самой себе | Уроки окрашивания волос 2024, Juli
Anonim
Nybegynnerguide til ESP8266 og tweetting ved bruk av ESP8266
Nybegynnerguide til ESP8266 og tweetting ved bruk av ESP8266

Jeg lærte om Arduino for 2 år siden. Så jeg begynte å leke med enkle ting som lysdioder, knapper, motorer osv. Da tenkte jeg at det ikke ville være kult å koble til ting som å vise dagens vær, aksjekurser, timetider på Jeg fant ut at dette kan gjøres ved å sende og motta data via internett. Så løsningen var å koble til intenet. Det begynte søket mitt om hvordan du kobler Arduino til internett og sender og mottar data. Jeg lærte om wifi -moduler på internett og syntes det var veldig kostbart. Da lærte jeg om ESP8266.

Jeg leste mye på internett på ESP8266 -modulen for omtrent et år siden og kjøpte en, men begynte å jobbe med dem bare forrige måned. På den tiden var det ingen omfattende informasjon tilgjengelig. Men mye dokumentasjon, videoer er tilgjengelig på internett angående fastvare, AT -kommandoer, prosjekter osv. Så jeg bestemte meg for å komme i gang.

Jeg skrev denne instruksen som en nybegynnerguide, da jeg møtte mange problemer med å koble til og komme i gang med ESP8266. Så jeg bestemte meg for å skrive denne instruksjonsboken slik at andre som støter på problemer med modulene sine kan løse dem raskere

I denne instruksen vil jeg prøve å vise

  • Slik kobler du til en ESP8266 og kommuniserer med den gjennom Arduino Uno.
  • Jeg vil også prøve å vise hvordan en tweet kan sendes gjennom den ved hjelp av Thingspeak.

Hva kan ESP8266 gjøre? Det er begrenset av fantasien din. Jeg har sett prosjekter og opplæringsprogrammer på internett som viser hvordan man henter byens temperatur, aksjekurser, sender og mottar e -post, ringer og mye mye mer. Jeg vil vise denne instruksen hvordan du sender en tweet.

Trinn 1: Ting du trenger

Ting du trenger
Ting du trenger

Her er tingene du trenger. De fleste av disse kan kjøpes fra en hvilken som helst elektrisk butikk eller online (jeg har gitt lenker som referanse).

  • 1xESP8266 (ESP -01) -bay
  • 1xBreadboard -adapter (lær hvordan du lager en her eller bruk noen hoppetråder)
  • 1xLM2596 -bay
  • 1xLogic nivåomformer -bay
  • 1xArduino Uno
  • USB -kabel for Arduino Uno
  • 1xBreadboard -bay
  • Ledninger -bay
  • Arduino IDE
  • En konto hos Thingspeak

Den totale kostnaden vil være rundt Rs 600 (omtrent $ 9). Jeg har ekskludert kostnaden for Arduino Uno, da det avhenger av om du vil ha en original eller en klon. De billigste klonene er tilgjengelige på rundt Rs 500 (omtrent $ 4).

Trinn 2: Litt informasjon om ESP8266

ESP8266 ble lansert i 2014 for bare et år siden, så det er ganske nytt. Chipsene er produsert av Espressif.

Fordel

Den største fordelen med ESP8266 er kanskje kostnaden. Det er ganske billig, og du kan kjøpe et par av disse på en gang. Før jeg ble kjent med det, kunne jeg ikke engang tenke på å kjøpe en wifi -modul. De var for dyre. Nye versjoner av ESP8266 blir utgitt ganske ofte, og den siste er ESP 12. Men i denne instruksen vil jeg bare fokusere på ESP 01 som er ganske populær. Videre når du kjøper ESP8266 kommer den forhåndslastet med standard AT -fastvare. du er god til å komme i gang så snart du kjøper en.. Også som du vil se fra denne instruerbare er det ganske enkelt å koble dem.

Ulempe

Hver enhet har sine egne fordeler og ulemper, og ESP er ikke annerledes. ESP kan noen ganger vise seg å være veldig vanskelig og frustrerende å jobbe med. Siden det er ganske nytt vil du finne det vanskelig å skaffe informasjon om det. Heldigvis kan et fellesskap på esp8266.com eksisterer som er mye hjelp. Dessuten begynner det også noen ganger også å gjøre uventede ting som å kaste en mengde søppel gjennom den serielle tilkoblingen etc.

Vær oppmerksom på at det er mye dokumentasjon tilgjengelig på internett, og noen deler av det er motstridende. Denne instruksen er ikke annerledes. Mens jeg lekte med ESP8266 fant jeg ut at den avviker mye fra det som ble nevnt på internett (din kan også), men det fungerte bra.

Trinn 3: Pinout av ESP8266

Pinout av ESP8266
Pinout av ESP8266

ESP8266 har 8 pinner som vist.

Gnd og Vcc bør kobles som vanlig til henholdsvis bakken og forsyningen. ESP8266 opererer på 3,3V.

RESET -pin brukes til å nullstille ESP manuelt. Den bør normalt være tilkoblet 3,3V. Hvis du vil tilbakestille ESP, må du koble denne pinnen til bakken et øyeblikk og deretter tilbake til 3,3V.

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

GPIO0 og GPIO2 er inngangsutganger for generelle formål. Disse bør normalt være koblet til 3.3V. Når fastvaren blinker, må du koble GPIO0 til gnd.

Rx- og Tx -pinnene er sende- og mottakspinnene til ESP8266. De opererer på 3,3V -logikk, dvs. 3,3V er logikk HØY for ESP8266.

Detaljerte tilkoblinger er gitt i senere trinn.

Trinn 4: Hva bør brukes til kommunikasjon med ESP8266?

Hva bør brukes til kommunikasjon med ESP8266?
Hva bør brukes til kommunikasjon med ESP8266?
Hva bør brukes til kommunikasjon med ESP8266?
Hva bør brukes til kommunikasjon med ESP8266?
Hva bør brukes til kommunikasjon med ESP8266?
Hva bør brukes til kommunikasjon med ESP8266?

Det er mange enheter som kan brukes til å kommunisere med ESP8266, for eksempel FTDI -programmerere, USB til TTL -seriekonverter, Arduino etc. Jeg har imidlertid brukt en Arduino Uno rett og slett fordi det er det enkleste og nesten alle har det. har en Arduino du har også Arduino IDE og seriell skjerm kan brukes til kommunikasjon med ESP8266. Så ingen penger på FTDI -programmerere etc.

Men hvis du vil, eller hvis du allerede har en, kan du bruke en FTDI -programmerer eller en USB til TTL -seriekonverter (mer om hvordan du kobler dem til senere). Det er også mye programvare som RealTerm eller kitt. Du kan bruke disse på samme måte som Arduino IDEs serielle skjerm.

Trinn 5: Montering av ESP8266 på brødbrett

Montering av ESP8266 på brødbrett
Montering av ESP8266 på brødbrett
Montering av ESP8266 på brødbrett
Montering av ESP8266 på brødbrett

Legg merke til at pinnene på ESP8266 ikke er brødbrettvennlige. Dette kan overvinnes på 2 måter.

Bruk jumper til hun til mann som kan gjøre ting rotete eller

Gjør som vist i denne instruksjonsboken eller

Bruk et adapterkort, lag et selv (det er mange av dem på Instructables) som er pent.

Trinn 6: Strømforsyning

Strømforsyning
Strømforsyning

ESP8266 fungerer på 3,3V forsyning. Ikke koble den til 5V -pinnen på Arduino. Den vil sannsynligvis brenne.

Noen opplæringsprogrammer foreslo å lage en spenningsdelerkrets med 1k, 2k motstander med 5V som inngang og få 3,3V over 2k -motstanden og levere den til Arduino. Imidlertid fant jeg ut at ESP ikke engang startet når jeg gjorde dette.

Jeg klarte å slå den på med 3.3V på Arduino, men fant ut at ESP ble varm etter en stund.

Du kan bruke en 3.3V spenningsregulator.

Eller du kan bruke LM2596 dc-dc step down converter. Disse er ganske billige. Og jeg brukte disse. Gi 5V fra Arduino til inngangen. Juster potensiometeret på modulen, til utgangen blir 3,3VI fant ut at ESP kan drives fra en av disse i timer. Gjør tilkoblingene som vist på figuren.

Trinn 7: Konvertering av logisk nivå

Konvertering av logisk nivå
Konvertering av logisk nivå

Det nevnes at ESP har 3.3V logikk mens Arduino har 5V logikk.

Dette betyr at i ESP er 3.3V logikk HØY mens i Arduino 5V er logikk HØY. Dette kan forårsake noen problemer mens du kobler dem sammen.

Jeg fant på internett at konvertering på logisk nivå må brukes mens du grensesnitt ESP Rx og Tx med Arduino.

Noen opplæringsprogrammer nevnte at konvertering på logisk nivå er nødvendig mens du grensesnitt ESP Rx -pin.

Imidlertid fant jeg ut at det normalt ikke forårsaket noen problemer å koble ESP Rx og Tx -pinnene normalt til Arduino

Jeg koblet Rx og Tx gjennom logisk nivåomformer så vel som Rx alene, men fikk ikke noe svar.

Imidlertid fant jeg ut at det ikke forårsaket problemer å koble til ESP Tx -pinne gjennom en logisk nivåomformer mens du koblet Tx direkte

Så logisk nivåomformer kan brukes eller ikke.

Bruk hvilken metode som fungerer for deg gjennom prøving og feiling.

Trinn 8: Tilkoblinger

Tilkoblinger
Tilkoblinger

Tilkoblingene til ESP8266 er:

ESP8266

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

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

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

Rx -------------------- Rx av Arduino

Tx --------------------- Tx av Arduino (direkte eller gjennom logisk nivåomformer)

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

NULLSTILL -------------- 3.3V

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

(Vær oppmerksom på at i noen versjoner bør ESP Rx være koblet til Arduino Tx og ESP Tx skal være tilkoblet Arduino Rx).

Hvis du bruker FTDI -programmerer eller USB til TTL seriell omformer, kobler du henholdsvis deres Tx og Rx til Rx og Tx på ESP8266.

Trinn 9: Komme i gang

Etter at du har gjort tilkoblingene, laster du opp

ugyldig oppsett ()

{}

hulrom ()

{}

dvs. en tom skisse til Arduino..

Åpne den serielle skjermen og sett den til "Både NL & CR".

Eksperimenter med Baud -hastigheten. Den bør vanligvis være 9600, men noen ganger kan den være 115200.

Trinn 10: AT -kommandoer

AT kommandoer
AT kommandoer

Bare si AT -kommandoer er kommandoer som kan sendes til ESP8266 for å gjøre det mulig å utføre noen funksjoner som omstart, koble til wifi osv. ESP som svar sender noen bekreftelser i form av tekst. Her har jeg forklart noen AT -kommandoer og hvordan ESP reagerer på dem. Vær oppmerksom på at med sending mener jeg å skrive inn kommandoen og trykke enter (retur).

Send AT gjennom den serielle skjermen

Denne kommandoen brukes som en testkommando.

Slik svarer ESP: OK skal returneres.

Send AT+RST gjennom den serielle skjermen

Denne kommandoen brukes til å starte modulen på nytt.

Hvordan ESP reagerer: ESP returnerer en mengde søppel, men se etter Klar eller klar.

Send AT+GMR gjennom den serielle skjermen

Denne kommandoen brukes til å bestemme fastvareversjonen av modulen.

Hvordan ESP reagerer: Fastvareversjon bør returneres.

Firmware er et programvare som vanligvis er installert på en enhet på sin ROM (skrivebeskyttet minne), dvs. det er ikke meningen at det skal endres ofte eller ikke i det hele tatt. Det gir kontroll og datamanipulering av enheten. ESP8266 har et nummer av forskjellige firmwares som alle er ganske enkle å blinke (installere).

Trinn 11: Generell syntaks for AT -kommandoer

Den generelle syntaksen til AT -kommandoer for å utføre forskjellige funksjoner er gitt:

AT+parameter =?

Når en kommando av denne typen sendes gjennom den serielle skjermen, returnerer ESP alle verdiene som parameteren kan ta.

AT+parameter = val

Når en kommando av denne typen sendes gjennom den serielle skjermen, setter ESP verdien til parameteren til val.

AT+parameter?

Når en kommando i denne typen sendes gjennom den serielle skjermen, returnerer ESP gjeldende parameterverdi.

Noen AT -kommandoer kan bare ta en av de ovennevnte typene, mens noen kan ta alle 3.

Et eksempel på en kommando som er mulig i alle de tre typene ovenfor er CWMODE, som brukes til å angi wifi -modus.

Send AT+CWMODE =? gjennom den serielle skjermen

Hvordan ESP reagerer: Alle verdiene ESP CWMODE kan ta (1-3) returneres spesifikt +CWMODE (1-3).

1 = Statisk

2 = AP

3 = Både statisk og AP

Send AT+CWMODE = 1 gjennom den serielle skjermen

Slik svarer ESP: OK bør returneres hvis det er en endring i CWMODE fra den tidligere verdien og den er satt til statisk, ellers bør ingen endring returneres hvis det ikke er noen endring i CWMODE -verdien.

VIKTIG: Med mindre CWMODE er satt til 1, fungerer ikke kommandoene i de senere trinnene.

Send AT+CWMODE? gjennom den serielle skjermen

Hvordan ESP reagerer: Nåverdien til CWMODE bør returneres, spesielt hvis du fulgte trinnet ovenfor +CWMODE: 1 bør returneres.

Trinn 12: Koble til Wifi

Send AT+CWLAP gjennom den serielle skjermen

Denne kommandoen brukes til å liste opp alle nettverkene i området.

Hvordan ESP reagerer: En liste over alle tilgjengelige tilgangspunkter eller wifi -nettverk bør returneres.

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

(inkludert doble anførselstegn).

Denne kommandoen brukes til å koble til et wifi -nettverk.

Hvordan ESP reagerer: OK bør returneres hvis modulen er koblet til nettverket.

Send AT+CWJAP? gjennom den serielle skjermen

Denne kommandoen brukes til å bestemme nettverket ESP er koblet til for øyeblikket.

Slik reagerer ESP: Nettverket som ESP er koblet til vil bli returnert. Spesielt +CWJAP: "SSID"

Send AT+CWQAP gjennom den serielle skjermen

Denne kommandoen brukes til å koble fra nettverket som ESP er koblet til.

Slik reagerer ESP: ESP avslutter nettverket den er koblet til, og OK returneres.

Send AT+CIFSR gjennom den serielle skjermen

Denne kommandoen brukes til å bestemme IP -adressen til ESP.

Slik reagerer ESP: IP -adressen til ESP returneres.

Trinn 13: Thingspeak

Ting snakker
Ting snakker
Ting snakker
Ting snakker
Ting snakker
Ting snakker
Ting snakker
Ting snakker

Hvis du ikke har opprettet en konto på Thingspeak, må du opprette en nå.

Etter å ha opprettet en konto på Thingspeak, gå til Apps> ThingTweet.

Koble Twitter -kontoen din til den.

Legg merke til API -nøkkelen som genereres.

Her etter at ThingTweet -appen har blitt brukt til å koble en Twitter -konto til din ThingSpeak -konto, kan du sende en tweet ved hjelp av TweetContol API.

Et API (applikasjonsprogramgrensesnitt) er kode som lar to programvareprogrammer kommunisere med hverandre.

Noen andre APIer som er tilgjengelige for utviklere, er Google maps API, Open Weather API etc.

Først etter at ESP er konfigurert, sjekket og koblet til wifi (i utgangspunktet alle trinnene som er gitt i de to foregående trinnene), går du gjennom trinnene nedenfor

Trinn 14: Noen flere AT -kommandoer

Send AT+CIPMODE = 0, gjennom den serielle skjermen

Slik svarer ESP: OK returneres.

CIPMODE -kommandoen brukes til å angi overføringsmodus.

0 = normal modus

1 = UART-WiFi-gjennomgangsmodus

Send AT+CIPMUX = 1 gjennom den serielle skjermen

Slik svarer ESP: OK returneres.

CIPMUX -kommandoen brukes til å angi enkelt eller flere tilkoblinger.

0 = enkel tilkobling

1 = flere tilkoblinger

Trinn 15: Konfigurere TCP -tilkoblingen

Konfigurere TCP -tilkoblingen
Konfigurere TCP -tilkoblingen
Konfigurere TCP -tilkoblingen
Konfigurere TCP -tilkoblingen

Vær oppmerksom på at fra den første kommandoen, så snart du sender den første, vil forbindelsen bare opprettes i en begrenset periode. Så send kommandoene så raskt som mulig.

Send AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 gjennom den serielle skjermen

Hvordan ESP reagerer: Tilknyttet returneres hvis tilkoblingen er etablert.

Denne kommandoen brukes til å opprette en TCP -tilkobling.

Syntaksen er AT+CIPSTART = lenke -ID, type, ekstern IP, ekstern port

hvor

lenke-ID = ID for nettverkstilkobling (0 ~ 4), brukt for multitilkobling.

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

ekstern IP = streng, ekstern IP -adresse (adressen til nettstedet).

ekstern port = streng, eksternt portnummer (vanligvis valgt til å være 80).

Send AT+CIPSEND = 0, 110 gjennom den serielle skjermen

Slik svarer ESP:> (større enn) returneres hvis kommandoen lykkes.

Denne kommandoen brukes til å sende data.

Syntaksen er AT+CIPSEND = lenke -ID, lengde

hvor

link ID = ID for tilkoblingen (0 ~ 4), for multi-connect. Siden CIPMUX er satt til 1, er 1.

length = datalengde, MAX 2048 bytes. Velg generelt et stort tall for lengden.

Trinn 16: Sender tweeten

Sender tweeten
Sender tweeten

Nå for å sende tweeten

Send GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet gjennom den serielle skjermen.

Erstatt din API med API -nøkkelen og tweeten din med hvilken som helst tweet du ønsker.

Så snart du sender kommandoen ovenfor, trykker du på enter (retur) med omtrent 1 sekunds mellomrom. Etter en stund vil SEND OK, +IPD, 0, 1: 1 og OK returneres, noe som betyr at tweeten er lagt ut.

Åpne twitteren din og sjekk om tweeten er lagt ut eller ikke.

Vær også oppmerksom på at den samme tweeten ikke kan sendes gjentatte ganger.

Strengen ovenfor som ble sendt (GET….), Er en HTTP GET -forespørsel.

GET -forespørselen brukes til å hente data fra den gitte serveren (api.thingspeak.com).

Trinn 17: Hva du skal gjøre etter dette

(Se videoen i minst 360p)

Gå til dette depotet for å laste ned koden og skjemaene. Klikk på "Klon eller nedlasting" -knappen (grønn i fargen på høyre side) og velg "Last ned ZIP" for å laste ned zip -filen. Nå trekk ut innholdet på datamaskinen for å få koden og skjemaene (i skjematikkmappen). Jeg har også lastet opp et jukseark, som oppsummerer alle AT -kommandoene, til dette depotet.

Det er mange flotte ressurser tilgjengelig på internett som omhandler ESP8266. Jeg har nevnt noen av dem her:

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

Du kan også eksperimentere mer med AT -kommandoer. Det er mange APIer som er tilgjengelige på internett som kan gjøre alle slags ting som å få været, aksjekurser etc.

Full AT -kommandodokumentasjon

Jeg jobber også for tiden med et program som automatisk tweeter de analoge verdiene til en sensor, og jeg legger den ut når den fungerer som den skal.

Hvis du likte min instruerbare stemme for det i Arduino, konkurrerer alle tingene.

Anbefalt: