INHOUDSOPGAWE:
- Stap 1: Dinge wat u benodig
- Stap 2: 'n bietjie inligting oor ESP8266
- Stap 3: Pinout van ESP8266
- Stap 4: Wat moet ek gebruik om te kommunikeer met ESP8266?
- Stap 5: Monteer die ESP8266 op Breadboard
- Stap 6: Kragtoevoer
- Stap 7: Logiese vlak -omskakeling
- Stap 8: Verbindings
- Stap 9: Aan die gang
- Stap 10: OP bevele
- Stap 11: Algemene sintaksis van AT -bevele
- Stap 12: Koppel aan Wifi
- Stap 13: Thingspeak
- Stap 14: Nog 'n paar AT -bevele
- Stap 15: Die opstel van die TCP -verbinding
- Stap 16: Stuur die tweet
- Stap 17: Wat om hierna te doen
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Ek het twee jaar gelede van Arduino geleer, en ek het begin speel met eenvoudige dinge, soos LED's, knoppies, motors, ens. Ek het gevind dat dit gedoen kan word deur data via die internet te stuur en te ontvang. Daar is my soektog begin oor hoe om die Arduino aan die internet te koppel en data te stuur en te ontvang. Ek het geleer oor wifi -modules op die internet en het gevind dat dit baie duur is.
Ek het ongeveer 'n jaar gelede baie op die internet op die ESP8266 -module gelees en een gekoop, maar ek het net verlede maand saamgewerk. Op die oomblik was daar geen uitgebreide inligting beskikbaar nie, maar daar is nou baie dokumentasie beskikbaar, maar video's is beskikbaar op die internet rakende firmware, AT -opdragte, projekte, ens. Daarom het ek besluit om aan die gang te kom.
Ek het hierdie instruksies as 'n beginnersgids geskryf, aangesien ek baie probleme ondervind het om die ESP8266 aan die gang te kry en daarom het ek besluit om hierdie instruksies te skryf sodat ander mense wat probleme met hul modules ondervind, dit vinniger kan oplos
In hierdie Instructable sal ek probeer wys
- Hoe om 'n ESP8266 aan te sluit en daarmee te kommunikeer via Arduino Uno.
- Ek sal ook probeer wys hoe 'n tweet daardeur gestuur kan word met behulp van Thingspeak.
Wat kan die ESP8266 doen? Dit word beperk deur u verbeelding. Ek het projekte en tutoriale op die internet gesien wat wys hoe u 'n stad se temperatuur, aandeelpryse, e -posse kan stuur en ontvang, telefoonoproepe kan doen en nog baie meer. hierdie instruksies hoe om 'n tweet te stuur.
Stap 1: Dinge wat u benodig
Hier is die dinge wat u benodig. Die meeste hiervan kan by enige elektriese winkel of aanlyn gekoop word (ek het die skakels as verwysing verskaf).
- 1xESP8266 (ESP -01) -baai
- 1xBreadboard -adapter (leer hoe om een hier te maak of 'n paar draaddrade te gebruik)
- 1xLM2596 -baai
- 1xLogic level converter -baai
- 1x Arduino Uno
- USB -kabel vir Arduino Uno
- 1xBreadboard -baai
- Drade -baai
- Arduino IDE
- 'N Rekening by Thingspeak
Die totale koste beloop ongeveer Rs 600 (ongeveer $ 9). Ek het die koste van Arduino Uno uitgesluit, aangesien dit afhang of u 'n oorspronklike of 'n kloon wil hê. Die goedkoopste klone is beskikbaar teen ongeveer Rs 500 (ongeveer $ 4).
Stap 2: 'n bietjie inligting oor ESP8266
ESP8266 is net 'n jaar gelede in 2014 bekendgestel, so dit is redelik nuut. Die skyfies word deur Espressif vervaardig.
Voordeel
Die grootste voordeel van ESP8266 is miskien die koste daarvan. Dit is redelik goedkoop, en u kan 'n paar daarvan op een slag koop. Voordat ek daarvan te wete gekom het, kon ek nie eers daaraan dink om 'n wifi -module te koop nie. Hulle was te duur. Nuwe weergawes van ESP8266 word redelik gereeld vrygestel, en die nuutste is ESP 12. In hierdie instruksies fokus ek egter slegs op ESP 01, wat baie gewild is. dit is goed om aan die gang te kom sodra u een koop.. Net soos u uit hierdie instruksies sal sien, is dit redelik maklik om dit te koppel.
Nadeel
Elke toestel het sy eie voor- en nadele en ESP is nie anders nie. Die ESP kan soms baie lastig en frustrerend wees om mee te werk. Aangesien dit nogal nuut is, sal u dit moeilik vind om inligting daaroor te bekom. Gelukkig kan 'n gemeenskap by esp8266.com bestaan wat baie hulp bied. Boonop begin dit soms ook onverwagte dinge doen, soos om 'n klomp vullis deur die seriële verbinding op te gooi, ens.
Let op dat daar baie dokumentasie op die internet beskikbaar is, en dat 'n deel daarvan teenstrydig is. ook) maar dit het goed gewerk.
Stap 3: Pinout van ESP8266
Die ESP8266 het 8 penne soos getoon.
Gnd en Vcc moet soos gewoonlik op die grond en die toevoer onderskeidelik gekoppel word. Die ESP8266 werk op 3.3V.
RESET -pen word gebruik om die ESP handmatig terug te stel. Dit moet normaalweg 3.3V gekoppel wees. As u die ESP wil herstel, moet u hierdie pen kort na die aarde terugkeer en dan terug na 3.3V.
CH_PD is die chip -afslag wat normaalweg aan 3.3V gekoppel moet word.
GPIO0 en GPIO2 is algemene invoeruitsette vir algemene doeleindes. Hierdie moet normaalweg gekoppel word aan 3.3V. Koppel GPIO0 egter aan gnd wanneer die firmware flikker.
Rx en Tx penne is die stuur en ontvang penne van ESP8266. Hulle werk op 3.3V logika, dit wil sê 3.3V is logika HOOG vir ESP8266.
Gedetailleerde verbindings word in latere stappe verskaf.
Stap 4: Wat moet ek gebruik om te kommunikeer met ESP8266?
Daar is baie toestelle wat gebruik kan word om met ESP8266 te kommunikeer, soos FTDI -programmeerders, USB na TTL -reeksomskakelaar, Arduino ens. Maar ek het 'n Arduino Uno gebruik bloot omdat dit die maklikste is en byna almal dit het. As u 'n Arduino het, het u ook die Arduino IDE en kan die seriële monitor gebruik word vir kommunikasie met die ESP8266.
As u wil, of as u dit reeds het, kan u 'n FTDI -programmeerder of 'n USB na TTL -omskakelaar gebruik (meer oor hoe u dit later kan koppel). Daar is ook baie sagteware soos RealTerm of stopverf. dit op dieselfde manier as die seriële monitor van die Arduino IDE.
Stap 5: Monteer die ESP8266 op Breadboard
Let op dat die penne van ESP8266 nie broodbordvriendelik is nie. Dit kan op twee maniere oorkom word.
Gebruik trui van vroulike tot manlike ringe wat dinge deurmekaar kan maak of
Doen soos aangedui in hierdie instruksies of
Gebruik 'n adapterbord, maak self een (daar is baie op Instructables) wat netjies is.
Stap 6: Kragtoevoer
Die ESP8266 werk op 'n 3.3V -toevoer. Moet dit nie aan die 5V -pen op Arduino koppel nie. Dit sal waarskynlik brand.
Sommige tutoriale het voorgestel dat 'n spanningsverdelerkring met behulp van 1k, 2k weerstande met 5V as ingang gemaak word, en 3.3V oor die 2k weerstand verkry word en aan die Arduino verskaf word, maar ek het gevind dat die ESP nie eers aanskakel toe ek dit doen nie.
Ek kon dit aanskakel met die 3.3V op Arduino, maar het gevind dat die ESP na 'n geruime tyd warm geword het.
U kan 'n 3.3V spanningsreguleerder gebruik.
Of u kan LM2596 dc-dc step down converter gebruik. Dit is redelik goedkoop. En ek het dit gebruik. Gee 5V van Arduino na die ingang. Pas die potensiometer op die module aan totdat die uitset 3.3VI word en gevind dat die ESP gevoed kan word Maak ure lank een van hierdie. Maak die verbindings soos in die figuur getoon.
Stap 7: Logiese vlak -omskakeling
Daar word genoem dat die ESP 3.3V logika het, terwyl die Arduino 5V logika het.
Dit beteken dat in die ESP 3.3V logika HIGH is, terwyl in Arduino 5V logika HIGH is. Dit kan probleme veroorsaak terwyl dit aan mekaar gekoppel word.
Ek het op die internet gevind dat omskakeling op logiese vlak toegepas moet word terwyl ESP Rx en Tx met Arduino gekoppel word.
Sommige tutoriale noem dat omskakeling op logiese vlak nodig is tydens die koppeling van ESP Rx -pen.
Ek het egter gevind dat dit normaalweg geen probleme veroorsaak om die ESP Rx- en Tx -penne normaalweg aan die Arduino te koppel nie
Ek het Rx en Tx verbind deur middel van logika -vlakomskakelaar sowel as Rx alleen, maar het geen reaksie gekry nie.
Ek het egter gevind dat die aansluiting van die ESP Tx -pen deur die logika -vlakomskakelaar tydens die aansluiting van die Tx ook geen probleme veroorsaak nie
Die logika -omskakelaar mag dus al dan nie gebruik word.
Gebruik die metode wat vir u werk deur middel van proef en fout.
Stap 8: Verbindings
Die verbindings van ESP8266 is:
ESP8266
Gnd ------------------- Gnd
GPIO2 --------------- 3.3V
GPIO0 --------------- 3.3V
Rx -------------------- Rx van Arduino
Tx --------------------- Tx van Arduino (direk of via logika-omskakelaar)
CH_PD -------------- 3.3V
HERSTEL -------------- 3.3V
Vcc -------------------- 3.3V
(Let daarop dat ESP Rx in sommige weergawes gekoppel moet wees aan Arduino Tx en dat ESP Tx gekoppel moet wees aan Arduino Rx).
As u 'n FTDI -programmeerder of 'n USB -na -TTL -reeksomskakelaar gebruik, moet u hul Tx en Rx onderskeidelik verbind met Rx en Tx van ESP8266.
Stap 9: Aan die gang
Laai op nadat u die verbindings gemaak het
leemte opstelling ()
{}
leemte lus ()
{}
dit wil sê 'n leë skets van die Arduino..
Maak die seriële monitor oop en stel dit op "Beide NL & CR".
Eksperimenteer met die Baud -koers. Dit moet gewoonlik 9600 wees, maar soms 115200.
Stap 10: OP bevele
Om eenvoudig te sê AT -opdragte is opdragte wat na die ESP8266 gestuur kan word, sodat sommige funksies uitgevoer kan word, soos herstart, verbinding met wifi, ens. AT -opdragte en hoe die ESP daarop reageer. Let op: met stuur bedoel ek dat u die opdrag invoer en op enter (terug) tik.
Stuur AT via die seriële monitor
Hierdie opdrag word gebruik as 'n toetsopdrag.
Hoe die ESP reageer: OK moet teruggestuur word.
Stuur AT+RST deur die seriële monitor
Hierdie opdrag word gebruik om die module weer te begin.
Hoe die ESP reageer: ESP gee 'n vrag vullis terug, maar kyk of dit gereed of gereed is.
Stuur AT+GMR deur die seriële monitor
Hierdie opdrag word gebruik om die firmware -weergawe van die module te bepaal.
Hoe die ESP reageer: Firmware -weergawe moet teruggestuur word.
Firmware is 'n sagteware wat op 'n toestel geïnstalleer word, gewoonlik op sy ROM (leesalleen geheue), dit wil sê dat dit nie gereeld of glad nie verander moet word nie. Dit bied die beheer en data -manipulasie van die toestel. van verskillende firmwares wat almal redelik maklik is om te flits (installeer).
Stap 11: Algemene sintaksis van AT -bevele
Die algemene sintaksis van AT -opdragte vir die uitvoering van verskillende funksies word gegee:
AT+parameter =?
As 'n opdrag in hierdie tipe deur die seriële monitor gestuur word, gee die ESP al die waardes terug wat die parameter kan neem.
AT+parameter = val
As 'n opdrag in hierdie tipe deur die seriële monitor gestuur word, stel die ESP die waarde van parameter op val.
AT+parameter?
As 'n opdrag in hierdie tipe deur die seriële monitor gestuur word, gee die ESP die huidige parameterwaarde terug.
Sommige AT -opdragte neem slegs een van die bogenoemde tipes, terwyl sommige al 3.
'N Voorbeeld van 'n opdrag wat in al die bogenoemde 3 tipes moontlik is, is CWMODE, wat gebruik word om die wifi -modus in te stel.
Stuur AT+CWMODE =? deur die seriële monitor
Hoe die ESP reageer: Al die waardes wat die ESP CWMODE kan neem (1-3) word spesifiek teruggestuur +CWMODE (1-3).
1 = Staties
2 = AP
3 = Beide staties en AP
Stuur AT+CWMODE = 1 deur die seriële monitor
Hoe die ESP reageer: OK moet teruggestuur word as daar 'n verandering in die CWMODE is van die vorige waarde en dit is staties gestel, anders moet geen verandering teruggestuur word as daar geen verandering in die CWMODE -waarde is nie.
BELANGRIK: Tensy CWMODE op 1 gestel is, werk die opdragte in die latere stappe nie.
Stuur AT+CWMODE? deur die seriële monitor
Hoe die ESP reageer: Die huidige waarde van CWMODE moet teruggestuur word, spesifiek as u die bogenoemde stap gevolg het +CWMODE: 1 moet teruggestuur word.
Stap 12: Koppel aan Wifi
Stuur AT+CWLAP deur die seriële monitor
Hierdie opdrag word gebruik om al die netwerke in die omgewing te lys.
Hoe die ESP reageer: 'n Lys met alle beskikbare toegangspunte of wifi -netwerke moet teruggestuur word.
Stuur AT+CWJAP = "SSID", "password"
(insluitend die dubbele aanhalings).
Hierdie opdrag word gebruik om by 'n wifi -netwerk aan te sluit.
Hoe die ESP reageer: OK moet teruggestuur word as die module aan die netwerk gekoppel is.
Stuur AT+CWJAP? deur die seriële monitor
Hierdie opdrag word gebruik om die netwerk te bepaal waarmee die ESP tans gekoppel is.
Hoe die ESP reageer: Die netwerk waartoe die ESP gekoppel is, sal teruggestuur word. Spesifiek +CWJAP: "SSID"
Stuur AT+CWQAP deur die seriële monitor
Hierdie opdrag word gebruik om die netwerk waarmee die ESP tans gekoppel is, te ontkoppel.
Hoe die ESP reageer: Die ESP verlaat die netwerk waarmee dit gekoppel is en OK word teruggestuur.
Stuur AT+CIFSR deur die seriële monitor
Hierdie opdrag word gebruik om die IP -adres van die ESP te bepaal.
Hoe die ESP reageer: Die IP -adres van die ESP word teruggestuur.
Stap 13: Thingspeak
As u nog nie 'n rekening op Thingspeak gemaak het nie, maak 'n rekening.
Nadat u 'n rekening op Thingspeak gemaak het, gaan na Apps> ThingTweet.
Koppel u twitter -rekening daarmee.
Let op die API -sleutel wat gegenereer word.
Nadat u die ThingTweet -app gebruik het om 'n Twitter -rekening aan u ThingSpeak -rekening te koppel, kan u 'n tweet stuur met die TweetContol API.
'N API (toepassingsprogram -koppelvlak) is 'n kode waarmee twee sagtewareprogramme met mekaar kan kommunikeer.
'N Paar ander API's wat vir ontwikkelaars beskikbaar is, is Google maps API, Open Weather API, ens.
Eers nadat die ESP opgestel, gekontroleer en aan wifi gekoppel is (basies al die stappe wat in die vorige 2 stappe gegee is), volg die onderstaande stappe
Stap 14: Nog 'n paar AT -bevele
Stuur AT+CIPMODE = 0, deur die seriële monitor
Hoe die ESP reageer: OK word teruggestuur.
Die CIPMODE -opdrag word gebruik om die oordragmodus in te stel.
0 = normale modus
1 = UART-WiFi deurgangsmodus
Stuur AT+CIPMUX = 1 deur die seriële monitor
Hoe die ESP reageer: OK word teruggestuur.
Die CIPMUX -opdrag word gebruik om enkele of meer verbindings op te stel.
0 = enkele verbinding
1 = veelvoudige verbinding
Stap 15: Die opstel van die TCP -verbinding
Let daarop dat vanaf die eerste opdrag, sodra u die eerste een gestuur het, die verbinding slegs vir 'n beperkte tyd tot stand sal kom. Stuur die opdragte so vinnig as moontlik.
Stuur AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 via die seriële monitor
Hoe die ESP reageer: Gekoppel word teruggestuur as die verbinding tot stand gebring is.
Hierdie opdrag word gebruik om 'n TCP -verbinding tot stand te bring.
Die sintaksis is AT+CIPSTART = skakel -ID, tipe, afgeleë IP, afstandpoort
waar
skakel-ID = ID van netwerkverbinding (0 ~ 4), gebruik vir multi-verbinding.
type = string, "TCP" of "UDP".
eksterne IP = string, eksterne IP -adres (adres van die webwerf).
afgeleë poort = string, afstandpoortnommer (gewoonlik 80).
Stuur AT+CIPSEND = 0, 110 deur die seriële monitor
Hoe die ESP reageer:> (groter as) word teruggestuur as die opdrag suksesvol is.
Hierdie opdrag word gebruik om data te stuur.
Die sintaksis is AT+CIPSEND = skakel -ID, lengte
waar
skakel ID = ID van die verbinding (0 ~ 4), vir multi-connect. Sinds CIPMUX is ingestel op 1, is 1.
lengte = datalengte, MAX 2048 grepe. Kies oor die algemeen 'n groot getal vir die lengte.
Stap 16: Stuur die tweet
Nou vir die stuur van die tweet
Stuur GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet via die seriële monitor.
Vervang u API met die API -sleutel en u tweet met enige tweet wat u wil.
Sodra u die bogenoemde opdrag gestuur het, begin die enter (terugkeer) met tussenposes van ongeveer 1 sekonde, en na 'n geruime tyd stuur OK, +IPD, 0, 1: 1 en OK, wat beteken dat die tweet geplaas is.
Maak u twitter oop en kyk of die tweet geplaas is of nie.
Let ook daarop dat dieselfde tweet nie herhaaldelik gestuur kan word nie.
Bogenoemde string wat gestuur is (GET….), Is 'n HTTP GET -versoek.
Die GET -versoek word gebruik om data van die gegewe bediener (api.thingspeak.com) op te haal.
Stap 17: Wat om hierna te doen
(Kyk die video in ten minste 360p)
Gaan na hierdie bewaarplek om die kode en skematika af te laai. Klik op die knoppie "Kloon of aflaai" (groen in die regterkant) en kies "Laai zip af" om die zip -lêer af te laai. Pak nou die inhoud op u rekenaar uit om dit te kry die kode en skematika (in die skematiese gids). Ek het ook 'n cheatsheet, wat al die AT -opdragte opsomming, na hierdie bewaarplek opgelaai.
Daar is baie goeie hulpbronne op die internet wat handel oor ESP8266. Ek het 'n paar daarvan hier genoem:
- Video's van Kevin Darrah.
- ALLaboutEE video's.
- esp8266.com
U kan ook meer eksperimenteer met AT -opdragte. Daar is baie API's op die internet wat allerhande dinge kan doen, soos die weer, aandeelpryse, ens.
Volledige AT opdrag dokumentasie
Ek werk ook tans aan 'n program wat die analoogwaardes van 'n sensor outomaties tweets, en ek sal dit plaas sodra dit goed werk.
As u van my instruksionele stem daarvoor in die Arduino gehou het, neem die ding alles mee.