Sadržaj:
- Korak 1: Hardver
- Korak 2: Lemljenje prekidača na USB adapter
- Korak 3: Softver
- Korak 4: Testiranje ESP -a
- Korak 5: Testirajte AT naredbe
- Korak 6: Ažuriranje najnovijeg firmvera
- Korak 7: Povežite Arduino i ESP
- Korak 8: Završite + stvari koje morate imati na umu
- Korak 9: Veze
Video: Povežite Arduino Uno sa ESP8266: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Dobrodošli! Upravo ćete pročitati korak-po-korak vodič o tome kako uspješno povezati svoj Arduino Uno na internet s ESP8266 (ESP-01). To je ujedno i moj prvi Instructable ikada, pa budi sa mnom, molim te!
Dopustite mi da počnem rekavši da je ESP8266 sićušan, jeftin komad hardvera koji, ako je pravilno programiran, može otvoriti ogroman svijet, posebno IOT. Odjednom se svi vaši projekti mogu aktivirati putem weba, bilo putem telefona ili računala, jednim pritiskom na gumb. Mogućnosti su beskrajne i nekako me to jako uzbuđuje. Nažalost, to nije uvijek jednostavan proces i najvjerojatnije ćete naići na probleme koje ja nisam. U svakom slučaju, potrudit ću se odgovoriti na pitanja i spomenuti svaki problem na koji sam naišao!
Ažuriranje 2020.: Nedavno sam morao ažurirati novi ESP8266 i koristio sam ovaj članak kao svoj lični vodič kako to učiniti. Brzo sam shvatio da su neke veze koje sam dao zastarjele/ne rade, pa sam ih pokušao ponovo zamijeniti. Pritom sam otkrio da postoji novi fleš softver za ESP8266, kao i neki lijepo dokumentirani i ažurirani firmver. Potrudio sam se da ažuriram ESP na najnoviji mogući firmver, ali bez uspjeha. Novi blic je sofisticiraniji, ali istovremeno i složeniji. Dostupno je mnogo više preuzimanja firmvera (što je nevjerojatno), ali u isto vrijeme korisnici nemaju pojma koje da preuzmu. Tehnički, sve ovo zvuči jako dobro i ESP konačno ima neku "službenu" podršku i dokumentaciju, ali se u isto vrijeme toliko zakompliciralo. Nakon otprilike 4 sata istraživanja i pokušaja i pogrešaka, odlučio sam odustati i jednostavno koristiti isti flasher i datoteku koje sam koristio u ovom članku. Ažurirao sam veze i sada ih hostiram, pa sve dok ne zeznem, bit će zauvijek na mreži. Ako želite pročitati nešto više o ovim novim dodacima iz zajednice, prijeđite na posljednji korak ovog uputstva gdje sam postavio neke dodatne veze.
Korak 1: Hardver
Ažuriranje za 2020.: Pronašao sam YouTube video koji se zapravo povezuje s ESP -om bez lemljenja i bez adaptera!
U redu, ovo je pomalo zeznut dio jer postoji mnogo načina za komunikaciju s ESP6288. Pokušao sam pronaći najjednostavnije moguće načine i žao mi je što vam to moram reći, ali mislim da nećete moći uspješno učitati kôd na ESP bez lemljenja malog prekidača ili nekih gumba … Na kraju sam koristili sljedeći hardver:
- Arduino Uno
- ESP8266 (ESP-01)
- ESP8266 USB adapter
- ESP-01 adapter
- Prekidač za USB adapter
- 4 žice kratkospojnika žensko-muški
- USB kabel za povezivanje Arduina i računala
Kao što vidite, nisu toliko skupi, osim toga nema potrebe za upotrebom matične ploče niti svih onih čudnih otpornika i sličnih stvari. Sve su to jednostavni adapteri i ožičenje.
Očigledno će vam trebati Arduino kao i ESP8266. Ali tada su vam potrebna i dva adaptera za ESP:
- Jedan da biste ga mogli programirati (broj 3 na listi). Ovo je ujedno i adapter koji će imati vlastitu izmjenu sa prekidačem.
- Drugi adapter kako ne biste ubili ESP povezivanjem na Arduino (broj 4 na popisu). Budući da ESP radi na 3.3V, 5V iz Arduina će ga ubiti. A 3.3V iz Arduina nisu dovoljno snažni.
Na kraju, potrebne su i neke kratkospojne žice i USB kabel za povezivanje Arduina s računalom.
Korak 2: Lemljenje prekidača na USB adapter
Nažalost, da biste programirali ESP, trebat će vam način povezivanja njegovog GND Pin i GPIO0 Pin. Uspio sam zalemiti sićušni prekidač koji vam omogućuje da odaberete želite li biti u "programskom načinu" ili ne. Sljedeći Youtube video će vam pomoći u ovom zadatku, toplo vam preporučujem da ga pogledate jer vam govori i nešto o softveru i zašto morate spojiti Ground i GPIO 0.
Ukratko, ovo sam uradio:
- Odrežite jednu od vanjskih nogu prekidača, to može biti desna ili lijeva
- Okrenite USB adapter naopako i lemite dvije nogice prekidača na GND pin i GPIO0 pin. Pazite da ne priključite druge pinove jer kasnije možda neće raditi.
- Testirajte prekidač pomoću multimetra
Opet, ako ste u nedoumici, provjerite gornju vezu Youtube.
Takođe, na gornjoj slici je prekidač za "Program mode". U slučaju da ste zalemili potpuno iste iglice prekidača kao ja, sada znate sa koje strane je "Program mode".
A ako vam se ne sviđaju prekidači, evo vodiča s gumbima.
Korak 3: Softver
Za one koji samo traže veze, evo ih.
ESP8266:
- Flasher
- Firmware (prilično sam siguran da će ovo biti najnovija verzija jer nije ažurirana od decembra 2016)
Arduino Uno:
- Arduino IDE
- URL upravitelja odbora (ni ovo se neće promijeniti, uvijek je ista veza)
A za one, koji nemaju pojma šta ti linkovi znače, dopustite mi da vas vodim!
- Prvi korak je instaliranje Arduino IDE -a. Trebalo bi biti prilično jednostavno … Pritisnite sljedeći sljedeći itd. I gotovi ste.
- Slijedi postavljanje IDE -a tako da možete programirati svoj ESP. Da biste to učinili, morate otići u Datoteka -> Postavke i pri dnu ispod Dodatni URL -ovi upravitelja ploča: zalijepite sljedeći URL.
- Zatim prijeđite na Tools -> Board -> Boards Manager i pomaknite se dolje sve dok ne pronađete onu koja se zove esp8266 i pritisnite install. Najnoviju verziju, molim. Kada se instalacija završi, ponovo pokrenite IDE.
- Sada idite i preuzmite flasher i firmver za ESP. Na radnoj površini stvorite mapu pod nazivom "Flasher" i raspakirajte obje preuzete datoteke unutar nje. Trebaće nam kasnije.
Super, sad bi trebao imati sav softver potreban za programiranje ESP -a!
Korak 4: Testiranje ESP -a
Slijedi vaša prva veza s ESP -om. Ovaj dio je pomalo zeznut i ono što je meni uspjelo možda vam neće uspjeti … Nadajmo se najboljem.
Počnimo učitavanjem unaprijed pripremljene skice koja treperi plavom LED diodom na ESP -u. Da bi ovo funkcioniralo, trebat će vam sljedeće:
- Moderni USB adapter za ESP, pa ga možete postaviti na "Program mode". Korak 2 ovog uputstva.
- Saznajte na koji USB port (COM port) će biti spojen vaš ESP.
Ne brinite ako ne poznajete COM port. Lako je saznati. Otvorite svoj IDE i kliknite na Tools -> Port i uzmite u obzir navedene portove. Nakon toga umetnite USB adapter i ponovo provjerite navedene portove. Novi je COM port koji tražite!
PS: Ja sam korisnik Windowsa. Ako se dobro sjećam, Mac -ovi ih ne zovu COM portovi. U svakom slučaju, i dalje bi trebalo raditi!
Dakle, sada kada znate svoj port, slobodno priključite USB adapter! Trebao bi biti na "Program mode", drugim riječima, GND i GPIO0 bi trebali biti povezani. Otvorite IDE i idite na Tools -> Board i odaberite Generic ESP8266 Module. Zatim u odjeljku Alati provjerite imate li sljedeće postavke:
- Ploča: "Generički modul ESP8266"
- Port: Vaš COM port
Na kraju, idite na Datoteka -> Primjeri -> ESP8266 -> Trepni i kliknite na malu kvačicu u gornjem lijevom kutu IDE -a. Ovo će potvrditi vaš kôd i reći vam ako nešto nije u redu s njim. Toplo vam preporučujem da to učinite svaki put prije postavljanja skice na ESP ili Arduino! Ako uspije, vidjet ćete "Prevođenje je završeno." tekst. Jedino što sada preostaje je kliknuti na ikonu "strelica desno" u gornjem lijevom kutu IDE -a kako biste učitali kôd. Ako je sve ispravno postavljeno, trebali biste vidjeti da se učitava i na kraju završava. Pogledajte svoj ESP, trebao bi imati trepćuću LED diodu! Čestitamo, upravo ste učitali svoj prvi program na svoj ESP!
U slučaju da ste dobili grešku, ne brinite. Vjerovatno prekidač nije bio na desnoj strani. Isključite USB adapter i "prebacite prekidač", ponovo ga uključite i ponovite postupak. Ako radi, znate da je to strana "Programski način rada"! Ako to i dalje ne uspije, sretno. To sam i mislio sa "ono što je meni uspjelo, možda vam neće uspjeti" … Objavite pitanja/probleme u komentarima i potrudit ću se pomoći!
PS: Slobodno isprobajte druge primjere! Možda Datoteka -> Primjeri -> ESP8266Wifi -> WifiScan. Nakon učitavanja otvorite Alati -> Serijski monitor i pričekajte nekoliko sekundi. Ako se ništa ne prikaže, postavite brzinu prijenosa na 9600 ili 115200. I upotrijebite "NL & CR". Više o ovome kasnije u ovom članku, stoga ne brinite ako niste dobili nikakav odgovor!
Korak 5: Testirajte AT naredbe
Ovaj korak nazivam neobaveznim jer mi u početku nijedna od cijelih AT naredbi nije radila. Iako sam bio siguran da ESP radi dobro jer je trepnuo s prethodnom skicom, a ja sam također uspio skenirati za Wifi. Ali svaki put kad sam pokušao razgovarati s njim preko AT naredbi, nikad nisam dobio odgovor. U svakom slučaju, pokazat ću vam korake koje sam napravio da bih mogao razgovarati s njim. Ako ne uspije, prijeđite na sljedeći korak.
Uključite svoj ESP u USB adapter i priključite ga u računar. Uvjerite se da nije u "programskom načinu rada"! Idite na Alati i promijenite ploču u generički modul ESP8266. Provjerite je li odabran ispravan port, a zatim otvorite serijski monitor (Ctrl + Shift + M) i postavite sljedeće postavke:
- I NL i CR
- 115200 Baud
Ako je sve u redu, pokušajte upisati "AT" na gornjoj traci i pritisnite enter. Trebali biste vratiti "OK". Ako ipak dobijete "OK", tada ste se sveti dimu upravo uspjeli povezati sa svojim ESP -om i možete biti ponosni i sretni! Sljedeće upišite "AT+GMR" da biste dobili više informacija o svom ESP -u. U slučaju da je verzija SDK -a 1.54, tada možete preskočiti i korak "Bljeskanje najnovijeg firmvera" jer ga već imate.
U slučaju da niste dobili odgovor, pokušajte ponovo i/ili promijenite brzinu prijenosa. Preporučujem da ne gubite previše vremena s ovim, jer znate da vaš ESP radi zbog koraka 4.
PS: Ako IDE želi da sačuvate skicu prije nego što je provjerite/otpremite, nemojte je spremati. Imao sam problema sa spremanjem datoteka, a serijski monitor tada nije radio. Nisam siguran zašto, moram napraviti još neko testiranje, ali preporučujem vam da ne spremate svoje skice.
Korak 6: Ažuriranje najnovijeg firmvera
Čak i ako vam prethodni korak nije uspio, pokušajte ažurirati njegov firmver ovim korakom, možda će to popraviti!
Sada kada znate kako programirati svoj ESP, vrijeme je da ažurirate njegov firmver! Počnite tako što ćete priključiti svoj ESP u USB adapter, a zatim odabrati odgovarajuću ploču i port za njega. Ne zaboravite ga staviti u "Program mode", inače treptanje neće raditi!
Zatim ćete morati otvoriti mapu koju ste stvorili u "Korak 2: Softver" sjećate se? Sa flasherom i.bin datotekom. Otvorite ga i pokrenite esp8266_flasher.exe. Ako vas pitaju za administratorska prava, recite da. Sada je i dobar trenutak za zatvaranje IDE -a, samo da biste bili sigurni da ništa ne ometa. Pritisnite dugme Bin i odaberite datoteku pod nazivom "AiThinker_ESP8266_DIO_8M_8M_20160615_V1.5.4.bin". Uvjerite se da je vaš port pravi, da je sljedeći prozor postavljen na 0x00000 i da je vaš ESP u "programskom načinu" i kliknite Preuzmi. Trebalo bi početi s postavljanjem firmvera na vaš ESP, a plava LED dioda bi trebala treptati. Sačekajte malo dok se ne završi.
Kada to završi, bit ćete nagrađeni greškom "Nije uspjelo napuštanje Flash načina rada", što je u redu. Zanemarite ga i zatvorite blic. Upravo ste ažurirali firmver vašeg ESP -a! Lijepo.
U slučaju grešaka, ponovo: Provjerite je li vaš port pravi, da je sljedeći prozor postavljen na 0x00000 i da je vaš ESP u "programskom načinu"! Ako i dalje ne radi, rekao bih da vaš prekidač ne radi ispravno.
Na kraju, možda biste sada htjeli pokušati razgovarati sa svojim ESP -om putem AT -a, pogledajte korak "Test AT naredbi". Ako i dalje ne radi, ne brinite. Samo naprijed i ponovo učitajte Blink primjer kako biste bili sigurni da niste pokvarili ESP. Ako uspije, još uvijek možete krenuti!
Korak 7: Povežite Arduino i ESP
Ovo je jednostavan korak koji vam pokazuje kako spojiti ESP na Arduino Uno! Kao što je spomenuto u koraku "Hardver", koristio sam ESP-01 adapter.
Prvo priključite svoj ESP na ESP-01 Adpater i provjerite je li okrenut na pravi način! Zatim zgrabite 4 kratkospojne žice i spojite ih na sljedeći način:
- Zakačite 3 na Arduinu za Pin RX na adapteru
- Pin 2 na Arduinu za pin TX na adapteru
- Utaknite 5.5V na Arduinu u Pin VCC na adapteru
- Prikvačite GND na Arduinu da biste pričvrstili GND na adapteru
Ožičenje obavljeno. Lako pzy zar ne?
PS: Preporučujem upotrebu crvene žice za 5V vezu i crnu žicu za GND vezu. To je samo standard u elektronici.
Korak 8: Završite + stvari koje morate imati na umu
U redu, ako ste slijedili moj vodič, a ja ništa nisam zabrljao, trebali biste barem imati radni ESP s ažuriranim firmverom. Možda čak i razgovara s vama, a vi s njim, to bi bilo savršeno! Samo naprijed i istražite ovaj čudesni svijet IOT -a i slično. Možda ćete htjeti upaliti svjetlo pritiskom na dugme na telefonu ili možda uključiti sistem zalijevanja u svom vrtu (kao što ja pokušavam). Ne znam, pustit ću vas da odaberete. Slobodno napišite dolje/pitanja o ovom uputstvu ispod!
Samo neke dodatne stvari koje treba imati na umu:
- Prilikom učitavanja koda na vaš Arduino, Pin 0 (RX) mora biti besplatan!
- Ako pokrećete svoj ESP preko 3.3V napona s Arduina, pazite da on možda nije dovoljno moćan i da ćete zbog toga možda dobiti greške! Toplo preporučujem adapter ESP-01.
-
U slučaju da želite komunicirati sa svojim ESP -om preko Arduina, a ne putem USB adaptera, morat ćete učiniti sljedeće:
- Neophodno: Morat ćete moći razgovarati s AT naredbama sa svojim ESP -om preko USB adaptera da biste se mogli prebaciti!
- Samo naprijed i priključite USB adapter sa ESP -om. Uvjerite se da nije u "Programskom načinu rada"!
- Odaberite ploču ESP8266 i ispravite port te otvorite serijski monitor (115200 Baud).
- Upišite "AT" i vratite "OK".
- Morat ćemo promijeniti zadanu brzinu prijenosa ESP -a sa sljedećom naredbom: "AT+UART_DEF = 9600, 8, 1, 0, 0" (ili za neke verzije "AT+CIOBAUD = 9600").
- Trebali biste vratiti "OK" ili neku vrstu potvrde.
- Zatvorite serijski monitor.
- Isključite USB adapter i priključite svoj ESP u Arduino adapter. Priključite adapter na Arduino kao što je prikazano u koraku "Povezivanje Arduina i ESP -a".
- Povežite Arduino sa računarom.
- Promijenite ploču na Arduino i odaberite odgovarajući port.
- Prenesite ovaj kôd na Arduino.
- Otvorite serijski monitor još jednom, ali ovaj put na 9600 Baud.
- Sada biste trebali moći upisati "AT" i dobiti "OK" natrag.
Korak 9: Veze
Evo popisa nekih veza koje sam pronašao na webu koje su mi pomogle, a mogle bi pomoći i vama!
- Skicirajte Arduino Uno kako biste razgovarali sa ESP -om
- Postavite svoj ESP u "programski način" s prekidačem ili tipkama
Ažuriranje za 2020.
- Vodič o tome kako bljeskati s novim softverom za bljeskalicu
- Započinjanje pomoću Espressifa
- Preuzimanja programa Flasher i SDK/AT od strane Espressifa
- Opći podaci o većini stvari obuhvaćenih ovim člankom ovdje (uključujući informacije o tome kako prebaciti ESP bez ikakvih adaptera)
Preporučuje se:
IoT ESP8266 serija: 1- Povežite se na WIFI usmjerivač: 4 koraka
IoT ESP8266 serija: 1- Povežite se s WIFI usmjerivačem: Ovo je dio 1 " Instructables " serija posvećena objašnjavanju kako napraviti projekt Interneta stvari pomoću ESP8266 NodeMCU koji ima za cilj čitanje i slanje podataka na web stranicu i poduzimanje radnji pomoću iste web stranice.ESP8266 ESP
Povežite Maduino UNO sa servo motorom: 7 koraka
Povežite Maduino UNO sa servo motorom: U ovom vodiču koristit ćemo Arduino UNO, servo motor i Visuino za rotiranje servo motora. Pogledajte demonstracijski video
Povežite ESP8266 na WIFI mrežu: 3 koraka
Povežite ESP8266 sa WIFI mrežom: U prethodnom članku sam govorio o tome kako od ESP8266 napraviti pristupnu tačku. U ovom članku ću vam pokazati kako spojiti ESP8266 na WiFi mrežu (čime ESP8266 postaje klijent). Prije nego nastavite s vodičem, provjerite jeste li dodali ESP82
Povežite svoj Arduino sa vanjskim uslugama: 6 koraka
Povežite svoj Arduino sa vanjskim uslugama: Zdravo! Ovaj vodič će vam pokazati kako spojiti povezani Arduino ili IOT uređaj po izboru na vanjski servis. Radi ovog vodiča radit ćemo s Easy Windowom (izmišljenim, ali programabilnim pametnim prozorom), ako je ovo
Povežite Arduino s LCD -om: 6 koraka
Povežite Arduino s LCD -om: Jedinice zaslona vrlo su važne za komunikaciju između stvarnog svijeta i svijeta strojeva, ali bez pomoći digitalne elektronike to je gotovo nemoguće. Govoreći o digitalnoj elektronici, upotrijebit ću Arduino za kontrolu zaslona pa dopustite