Sisukord:

ESP8266 algajate juhend ja säutsumine ESP8266 abil: 17 sammu (koos piltidega)
ESP8266 algajate juhend ja säutsumine ESP8266 abil: 17 sammu (koos piltidega)

Video: ESP8266 algajate juhend ja säutsumine ESP8266 abil: 17 sammu (koos piltidega)

Video: ESP8266 algajate juhend ja säutsumine ESP8266 abil: 17 sammu (koos piltidega)
Video: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, November
Anonim
Algaja juhend ESP8266 kohta ja säutsumine ESP8266 abil
Algaja juhend ESP8266 kohta ja säutsumine ESP8266 abil

Ma õppisin Arduino kohta 2 aastat tagasi. Nii hakkasin mängima lihtsate asjadega, nagu LED -id, nupud, mootorid jne. Siis mõtlesin, et kas poleks lahe ühendada, et teha asju, nagu päeva ilm, aktsiahinnad, rongiajad LCD -ekraan. Leidsin, et seda saab teha Interneti kaudu andmete saatmise ja vastuvõtmisega. Seega oli lahendus Interneti -ühenduse loomine. Seal hakkasin otsima, kuidas Arduino Internetti ühendada ning andmeid saata ja vastu võtta. Õppisin Internetis wifi moodulite kohta ja leidsin, et need on väga kulukad. Siis sain teada ESP8266 -st.

Umbes aasta tagasi lugesin Internetis palju ESP8266 moodulist ja ostsin selle, kuid hakkasin nendega alles eelmisel kuul koostööd tegema. Sel ajal ei olnud ulatuslikku teavet saadaval. Nüüd on aga saadaval palju dokumente, videoid Internetis püsivara, AT -käskude, projektide jms kohta. Nii et otsustasin alustada.

Kirjutasin selle juhendi algaja juhendiks, kuna esinesin ESP8266 ühendamisel ja alustamisel palju probleeme. Nii et otsustasin selle juhendi kirjutada, et teised inimesed, kellel on oma moodulitega probleeme, saaksid need kiiremini lahendada

Selles juhendis proovin näidata

  • Kuidas ühendada ESP8266 ja sellega suhelda Arduino Uno kaudu.
  • Üritan ka näidata, kuidas saab selle kaudu säutsu saata, kasutades asjapeaki.

Mida saab ESP8266 teha? Seda piirab teie kujutlusvõime. Olen Internetis näinud projekte ja õpetusi, mis näitavad, kuidas tuua linna temperatuuri, aktsiahindu, meilide saatmist ja vastuvõtmist, telefonikõnesid ja palju muud. see juhend, kuidas säutsu saata.

Samm: asjad, mida vajate

Asjad, mida vajate
Asjad, mida vajate

Siin on asjad, mida vajate. Enamikku neist saab osta mis tahes elektripoest või veebist (olen andnud viited).

  • 1xESP8266 (ESP -01)
  • 1xBreadboardi adapter (vaadake, kuidas seda siin teha või kasutage mõnda hüppaja juhtmest)
  • 1xLM2596 -laht
  • 1xLoogilise taseme muundur -ebay
  • 1xArduino Uno
  • USB -kaabel Arduino Uno jaoks
  • 1x leivaplaat -laud
  • Juhtmed -ebay
  • Arduino IDE
  • Konto Thingspeakiga

Kogumaksumus on umbes 600 Rs (umbes 9 dollarit). Olen välistanud Arduino Uno kulud, kuna see sõltub sellest, kas soovite originaali või klooni. Odavaimad kloonid on saadaval umbes 500 Rs (umbes 4 dollarit).

Samm: natuke teavet ESP8266 kohta

ESP8266 käivitati 2014. aastal vaid aasta tagasi, seega on see üsna uus. Kiipe toodab Espressif.

Eelis

ESP8266 suurim eelis on võib -olla selle maksumus. See on üsna odav ja saate neid paari korraga osta. Enne kui ma sellest teada sain, ei osanud ma isegi mõelda wifi -mooduli ostmisele. Need olid liiga kulukad. ESP8266 uusi versioone avaldatakse üsna sageli ja viimane neist on ESP 12. Käesolevas juhendis keskendun siiski ainult ESP 01 -le, mis on üsna populaarne. Lisaks ostetakse ESP8266 ostmisel see vaikimisi AT -püsivaraga. teil on hea alustada kohe, kui selle ostate. Samuti, nagu näete sellest juhendist, on nendega hõlpsasti liides.

Puuduseks

Igal seadmel on oma eelised ja puudused ning ESP ei erine. ESP võib mõnikord osutuda väga keeruliseks ja masendavaks. Kuna see on üsna uus, on teil selle kohta teabe hankimine keeruline. Õnneks on kogukond aadressil esp8266.com on olemas, millest on palju abi. Lisaks hakkab see mõnikord tegema ka ootamatuid asju, näiteks prügikoorma viskamine jadaühenduse kaudu jne.

Pange tähele, et Internetis on saadaval palju dokumente ja osa sellest on vastuolulised. See Instructable ei erine. Minu ESP8266 -ga mängides leidsin, et see kaldus Internetis mainitust palju (teie oma võib olla erinev) ka), kuid see töötas hästi.

Samm: ESP8266 pinout

ESP8266 pinout
ESP8266 pinout

ESP8266 -l on 8 tihvti, nagu näidatud.

Gnd ja Vcc tuleks vastavalt tavapäraselt ühendada maapinna ja toiteallikaga. ESP8266 töötab 3.3V.

RESET -tihvti kasutatakse ESP käsitsi lähtestamiseks. Tavaliselt peaks see olema ühendatud 3,3 V -ga. Kui soovite ESP -d lähtestada, ühendage see pinge hetkega maandusse ja seejärel tagasi 3,3 V -ni.

CH_PD on kiibi väljalülitamine, mis peaks tavaliselt olema ühendatud 3,3 V pingega.

GPIO0 ja GPIO2 on üldotstarbelised sisendväljundid. Need peaksid tavaliselt olema ühendatud 3,3 V toitega. Püsivara vilkumisel ühendage GPIO0 siiski gnd -ga.

Rx ja Tx tihvtid on ESP8266 saatvad ja vastuvõtvad tihvtid. Need töötavad 3,3 V loogikaga, st 3,3 V on ESP8266 jaoks loogiline HIGH.

Üksikasjalikud ühendused on esitatud hilisemates etappides.

Samm: mida tuleks kasutada ESP8266 -ga suhtlemiseks?

Mida tuleks ESP8266 -ga suhtlemiseks kasutada?
Mida tuleks ESP8266 -ga suhtlemiseks kasutada?
Mida tuleks ESP8266 -ga suhtlemiseks kasutada?
Mida tuleks ESP8266 -ga suhtlemiseks kasutada?
Mida tuleks ESP8266 -ga suhtlemiseks kasutada?
Mida tuleks ESP8266 -ga suhtlemiseks kasutada?

ESP8266 -ga suhtlemiseks saab kasutada palju seadmeid, näiteks FTDI programmeerijad, USB -TTL jadamuundur, Arduino jne. Kuid olen kasutanud Arduino Unot lihtsalt sellepärast, et see on kõige lihtsam ja peaaegu kõigil on see olemas. kui teil on Arduino, siis on teil ka Arduino IDE ja selle jadamonitori saab kasutada suhtlemiseks ESP8266 -ga. Nii et ärge kulutage raha FTDI programmeerijatele jne.

Kui soovite või kui teil see juba on, võite kasutada FTDI programmeerijat või USB -TTL jadamuundurit (nende ühendamise kohta lähemalt hiljem). Samuti on palju tarkvara, näiteks RealTerm või kitt. neid samamoodi nagu Arduino IDE seeriamonitori.

Samm: ESP8266 paigaldamine leivaplaadile

ESP8266 paigaldamine leivaplaadile
ESP8266 paigaldamine leivaplaadile
ESP8266 paigaldamine leivaplaadile
ESP8266 paigaldamine leivaplaadile

Pange tähele, et ESP8266 tihvtid ei ole leivaplaadisõbralikud. Seda saab lahendada kahel viisil.

Kasutage naissoost kuni isasilmuga juhtmeid, mis võivad asju sassi ajada või

Tehke nii, nagu on näidatud selles juhendis või

Kasutage adapterplaati, tehke see ise (neid on Instructablesis palju), mis on puhas.

6. samm: toiteallikas

Toiteallikas
Toiteallikas

ESP8266 töötab 3,3 V toiteallikaga. Ärge ühendage seda Arduino 5V pistikuga. See tõenäoliselt põleb.

Mõned õpetused soovitasid teha pingejagaja vooluahela, kasutades sisendina 1k, 2k takistit, mille pinge on 5V, ja saada 2k takisti kaudu 3,3V ja tarnida see Arduinole. Siiski leidsin, et ESP ei lülitanud seda isegi sisse.

Suutsin selle Arduino 3.3V abil sisse lülitada, kuid leidsin, et ESP läks mõne aja pärast kuumaks.

Võite kasutada 3,3 V pingeregulaatorit.

Või võite kasutada LM2596 alalisvoolu muundurit. Need on üsna odavad. Ja ma kasutasin neid. Andke sisendisse 5 V Arduinost. Reguleerige mooduli potentsiomeetrit, kuni väljund muutub 3.3VI, et ESP saab toiteallikaks tundidest. Tehke ühendused, nagu joonisel näidatud.

7. samm: loogilise taseme teisendamine

Loogika taseme teisendamine
Loogika taseme teisendamine

Mainitakse, et ESP -l on 3,3 V loogika, samas kui Arduino on 5 V loogikaga.

See tähendab, et ESP -s 3.3V on loogiline HIGH, samas kui Arduino 5V on loogiline HIGH. See võib nende ühendamisel põhjustada mõningaid probleeme.

Leidsin Internetist, et ESP Rx ja Tx liidestamisel Arduinoga tuleb rakendada loogilise taseme teisendamist.

Mõnes õpetuses mainiti, et ESP Rx -liidese ühendamisel on vaja loogilise taseme teisendamist.

Siiski leidsin, et lihtsalt ESP Rx ja Tx tihvtide ühendamine Arduinoga ei tekitanud probleeme

Ühendasin Rx ja Tx nii loogika taseme muunduri kui ka Rx üksi, kuid ei saanud mingit vastust.

Siiski leidsin, et ESP Tx pin ühendamine loogikataseme muunduri kaudu Tx otseühendamisega ei tekitanud samuti probleeme

Seega võib loogika taseme muundurit kasutada või mitte.

Kasutage katse ja eksituse meetodil mis tahes meetodit, mis teile sobib.

8. samm: ühendused

Ühendused
Ühendused

ESP8266 ühendused on järgmised:

ESP8266

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

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

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

Rx -------------------- Arduino Rx

Tx --------------------- Arduino Tx (otse või loogilise taseme muunduri kaudu)

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

LÄHTESTAMINE -------------- 3.3V

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

(Pange tähele, et mõnes versioonis peaks ESP Rx olema ühendatud Arduino Tx ja ESP Tx Arduino Rx).

Kui kasutate FTDI programmeerijat või USB -TTL jadamuundurit, ühendage nende Tx ja Rx vastavalt ESP8266 Rx ja Tx -ga.

9. samm: alustamine

Pärast ühenduste loomist laadige üles

tühine seadistus ()

{}

tühine tsükkel ()

{}

st tühi visand Arduinole.

Avage jadamonitor ja seadke see "Nii NL kui ka CR".

Katsetage Baudi määraga. Tavaliselt peaks see olema 9600, kuigi mõnikord võib see olla 115200.

10. samm: käske

AT käsud
AT käsud

Lihtsalt öeldes AT -käsud on käsud, mida saab saata ESP8266 -le, et see saaks täita teatud funktsioone, nagu taaskäivitamine, WiFi -ühenduse loomine jne. Vastuseks saadab ESP teksti kujul kinnituse. Allpool olen mõnda selgitanud AT -käsud ja kuidas ESP neile reageerib. Pange tähele, et saatmise all pean silmas käsu sisestamist ja sisestusklahvi (tagasitulek).

Saatke AT jadamonitori kaudu

Seda käsku kasutatakse testkäsklusena.

Kuidas ESP reageerib: OK tuleb tagastada.

Saatke AT+RST jadamonitori kaudu

Seda käsku kasutatakse mooduli taaskäivitamiseks.

Kuidas ESP reageerib: ESP tagastab prügikoormuse. Otsige siiski valikut Valmis või valmis.

Saatke AT+GMR jadamonitori kaudu

Seda käsku kasutatakse mooduli püsivara versiooni määramiseks.

Kuidas ESP reageerib: püsivara versioon tuleb tagastada.

Püsivara on tarkvara, mis on installitud seadmesse, tavaliselt selle ROM -i (kirjutuskaitstud mälu), st see ei ole mõeldud sageli või üldse mitte muutmiseks. See tagab seadme juhtimise ja andmetega manipuleerimise. ESP8266 -l on number erinevatest püsivaradest, mida kõiki on üsna lihtne välgutada (installida).

Samm 11: AT -käskude üldine süntaks

Esitatakse AT -käskude üldine süntaks erinevate funktsioonide täitmiseks:

AT+parameeter =?

Kui seda tüüpi käsk saadetakse jadamonitori kaudu, tagastab ESP kõik väärtused, mida parameeter saab võtta.

AT+parameeter = val

Kui seda tüüpi käsk saadetakse jadamonitori kaudu, määrab ESP parameetri väärtuseks val.

AT+parameeter?

Kui seda tüüpi käsk saadetakse jadamonitori kaudu, tagastab ESP parameetri praeguse väärtuse.

Mõned AT -käsud võivad võtta ainult ühte ülaltoodud tüüpi, mõned aga kõiki 3.

Kõigi ülaltoodud 3 tüüpi võimaliku käsu näide on CWMODE, mida kasutatakse WiFi -režiimi seadistamiseks.

Kas saata AT+CWMODE =? jadamonitori kaudu

Kuidas ESP reageerib: Kõik väärtused, mida ESP CWMODE saab võtta (1-3), tagastatakse spetsiaalselt +CWMODE (1-3).

1 = staatiline

2 = AP

3 = nii staatiline kui ka AP

Saatke AT+CWMODE = 1 jadamonitori kaudu

Kuidas ESP reageerib: Kui CWMODE muutub eelmise väärtusega võrreldes ja see on seatud staatilisele, tuleb tagastada OK, vastasel juhul ei tohiks muudatust tagastada, kui CWMODE väärtus ei muutu.

TÄHTIS: Kui CWMODE pole seatud väärtusele 1, siis hilisemate sammude käsud ei tööta.

Kas saata AT+CWMODE? jadamonitori kaudu

Kuidas ESP reageerib: CWMODE praegune väärtus tuleks tagastada, eriti kui järgisite ülaltoodud sammu +CWMODE: 1 tuleks tagastada.

12. samm: Wifi -ga ühenduse loomine

Saatke AT+CWLAP jadamonitori kaudu

Seda käsku kasutatakse kõigi piirkonna võrkude loetlemiseks.

Kuidas ESP reageerib: tuleb tagastada kõigi saadaolevate pääsupunktide või WiFi -võrkude loend.

Saada AT+CWJAP = "SSID", "parool"

(kaasa arvatud topelt jutumärgid).

Seda käsku kasutatakse WiFi -võrguga liitumiseks.

Kuidas ESP reageerib: Kui moodul on võrku ühendatud, tuleb OK tagastada.

Kas saata AT+CWJAP? jadamonitori kaudu

Selle käsu abil määratakse võrk, millega ESP on praegu ühendatud.

Kuidas ESP reageerib: võrk, millega ESP on ühendatud, tagastatakse. Täpsemalt +CWJAP: "SSID"

Saatke AT+CWQAP jadamonitori kaudu

Seda käsku kasutatakse ühenduse katkestamiseks võrgust, millega ESP on praegu ühendatud.

Kuidas ESP reageerib: ESP sulgeb võrgu, millega see on ühendatud, ja tagastatakse OK.

Saatke AT+CIFSR jadamonitori kaudu

Seda käsku kasutatakse ESP IP -aadressi määramiseks.

Kuidas ESP reageerib: ESP IP -aadress tagastatakse.

Samm 13: Asjade kõne

Asjad
Asjad
Asjad
Asjad
Asjad
Asjad
Asjad
Asjad

Kui te pole Thingspeaki kontot loonud, tehke see kohe.

Pärast Thingspeaki konto loomist minge jaotisse Rakendused> ThingTweet.

Linkige sellega oma Twitteri konto.

Pange tähele loodud API -võtit.

Siin, kui rakendust ThingTweet on kasutatud Twitteri konto linkimiseks oma ThingSpeak kontoga, võite saata säutsu, kasutades TweetContol API -d.

API (rakendusprogrammi liides) on kood, mis võimaldab kahel tarkvaraprogrammil üksteisega suhelda.

Mõned muud arendajatele kättesaadavad API -d on Google Mapsi API, Open Weather API jne.

Alles pärast seda, kui ESP on seadistatud, kontrollitud ja WiFi -ga ühendatud (põhimõtteliselt kõik eelmises kahes etapis antud sammud), tehke allpool toodud toimingud

14. samm: veel mõned AT -käsud

Saada AT+CIPMODE = 0, jadamonitori kaudu

Kuidas ESP reageerib: tagastatakse OK.

Ülekanderežiimi määramiseks kasutatakse käsku CIPMODE.

0 = tavarežiim

1 = UART-WiFi läbipääsurežiim

Saatke AT+CIPMUX = 1 jadamonitori kaudu

Kuidas ESP reageerib: OK tagastatakse.

CIPMUX käsku kasutatakse ühe või mitme ühenduse seadistamiseks.

0 = üks ühendus

1 = mitu ühendust

Samm: TCP -ühenduse seadistamine

TCP -ühenduse seadistamine
TCP -ühenduse seadistamine
TCP -ühenduse seadistamine
TCP -ühenduse seadistamine

Pange tähele, et alates esimesest käsust luuakse ühendus kohe pärast esimese saatmist ainult piiratud ajaks. Nii et saatke käsud nii kiiresti kui võimalik.

Saada AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 jadamonitori kaudu

Kuidas ESP reageerib: Kui ühendus on loodud, tagastatakse link.

Seda käsku kasutatakse TCP -ühenduse loomiseks.

Süntaks on AT+CIPSTART = lingi ID, tüüp, kaug -IP, kaugport

kus

lingi ID = võrguühenduse ID (0 ~ 4), kasutatakse mitme ühenduse jaoks.

tüüp = string, "TCP" või "UDP".

kaug -IP = string, kaug -IP -aadress (veebisaidi aadress).

kaugport = string, kaugpordi number (tavaliselt valitakse 80).

Saatke AT+CIPSEND = 0, 110 jadamonitori kaudu

Kuidas ESP reageerib:> (suurem kui) tagastatakse, kui käsk õnnestub.

Seda käsku kasutatakse andmete saatmiseks.

Süntaks on AT+CIPSEND = lingi ID, pikkus

kus

link ID = ühenduse ID (0 ~ 4), mitme ühenduse jaoks. Kuna CIPMUX on seatud väärtusele 1, on 1.

pikkus = andmete pikkus, MAX 2048 baiti. Üldiselt valige pikkuse jaoks suur arv.

16. samm: säutsu saatmine

Säutsu saatmine
Säutsu saatmine

Nüüd säutsu saatmiseks

Saada GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet jadamonitori kaudu.

Asendage oma API API -võtmega ja nunnutage mis tahes säutsuga, mida soovite.

Niipea, kui saadate ülaltoodud käsu, vajutage sisestusklahvi (tagasipöördumine) umbes 1 -sekundilise intervalliga. Mõne aja pärast tagastatakse SEND OK, +IPD, 0, 1: 1 ja OK, mis tähendab, et säuts on postitatud.

Avage oma twitter ja kontrollige, kas säuts on postitatud või mitte.

Samuti pange tähele, et sama säutsu ei saa korduvalt saata.

Ülaltoodud string, mis saadeti (GET….), On HTTP GET päring.

GET -päringut kasutatakse andmete hankimiseks antud serverist (api.thingspeak.com).

17. samm: mida teha pärast seda

(Vaadake videot vähemalt 360p -s)

Koodi ja skeemide allalaadimiseks minge sellesse hoidlasse. Klõpsake nuppu "Kloonige või laadige alla" (roheline värv paremal) ja valige zip -faili allalaadimiseks "Laadi ZIP alla". Nüüd ekstraheerige sisu oma arvutisse kood ja skeemid (skeemide kaustas). Olen sellesse hoidlasse üles laadinud ka cheatsheet, mis võtab kokku kõik AT käsud.

Internetis on palju suurepäraseid ressursse, mis käsitlevad ESP8266. Olen mõnda neist siin maininud:

  • Kevin Darrah videod.
  • KÕIK videod.
  • esp8266.com

Samuti võite katsetada rohkem AT -käskudega. Internetis on saadaval palju API -sid, millega saab teha igasuguseid asju, näiteks ilm, aktsiahinnad jne.

AT käsu täielik dokumentatsioon

Samuti töötan praegu programmi kallal, mis sätib automaatselt anduri analoogväärtusi ja postitan selle, kui see korralikult töötab.

Kui teile meeldis minu juhendatav hääletada selle eest Arduino kõigi asjade konkursil.

Soovitan: