Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • U kontaktu sa
  • Wifi modul baziran na ESP8266 čipu. ESP8266 Ažuriranje Wi-Fi firmvera

Wifi modul baziran na ESP8266 čipu. ESP8266 Ažuriranje Wi-Fi firmvera

... Općenito, ovaj materijal nije ograničen samo na jednu temu Arduina.

Tema ESP8266 je prilično zeznuta. Ali, ako radite sa ovim Wi-Fi modulima u Arduino IDE, ulazni prag pada na prihvatljiv nivo za običan arduino igrač. I to ne samo arduino plejer, već bilo koja osoba koja ima želju da zabrlja nešto na temu, a da ne troši puno vremena na čitanje dokumentacije za mikro krug i proučavanje API-ja za ove module.

Ovaj video u potpunosti duplira materijal predstavljen u članku ispod.

Pa, već znamo kako da povežemo ESP8266 i stavimo ga u režim programiranja, a sada idemo na nešto korisnije.

Odmah ću reći - kada programiramo modul u arduino razvojnom okruženju, rušimo izvorni firmver i više nećemo moći raditi s modulom koristeći AT komande. Za mene lično ovo nije hladno/vruće, ali ako nekome zatreba - pred kraj članka ću pokazati kako vratiti native firmware u modul, ili neku vrstu loadera kao što je NodeMcu.

Za početak, preuzmite najnoviju verziju Arduino IDE na offsite-u, ​​trenutno je 1.6.7. Starije verzije poput 1.0.5. neće raditi, jer jednostavno nemaju potrebnu funkcionalnost, a ples uz tamburu nas ne zanima, zar ne?

Pokrećemo razvojno okruženje i odmah idemo na File / Settings:

Http://arduino.esp8266.com/stable/package_esp8266com_index.json

Zatim idemo Tools / Board: / Board Manager ...:

Pred nama će se pojaviti prozor menadžera odbora, skrolujte ga do samog dna i ako je sve urađeno kako treba, videćemo nešto ovako:

Kliknemo kursorom na natpis " esp8266 by ESP8266 Zajednica"nakon toga imamo dugme "Instaliraj", biramo željenu verziju, ja uzimam zadnju, danas je 2.1.0. i instaliram je. Razvojno okruženje će preuzeti potrebne fajlove (oko 150 megabajta) i suprotno natpis" esp8266 by ESP8266 Zajednica Pojavljuje se "" INSTALLED ", odnosno instalira se:

Pomaknite se prema dolje po listi ploča i vidite da imamo mnogo različitih ESP-ova na listi, uzmite "Generic ESP8266 Module":

Idite na "Alati" i odaberite željeni COM port (imam ga COM32), a zatim postavite brzinu prijenosa: "115200":

Postavili smo brzinu na 74880 i "NL & CR" i ponovo isključili i uključili napajanje i ono će odgovoriti s nekim informacijama o otklanjanju grešaka:

Imajte na umu da 74880 nije glavna brzina ESP8266, već samo šalje informacije o otklanjanju grešaka. Ako modul ne šalje ništa na konzolu, onda je moguće da je nešto pogrešno povezano.

Prema zadanim postavkama, brzina bi trebala biti 115200, ali u nekim slučajevima može biti 9600, au drugima... Pa pokušajte je podići.

Nakon odabira potrebne brzine, šaljemo modul "AT" i on bi trebao odgovoriti da je sve "OK". Komanda AT + GMR prikazuje informacije o firmveru.

Prije nego počnete flešovati ESP8266 u Arduino IDE, savjetujem vam da pročitate članak do kraja.

Sada pokušajmo da flešujemo ESP8266 kroz Arduino IDE. Prebacujemo modul u režim programiranja (napisao sam kako se to radi u).

Hajde da sašijemo bljeskalicu sa običnom LED diodom:

// Autor MrPodelkinC youtube.com/RazniePodelki // posebno za stranicu / post / 271754 / #define TXD 1 // GPIO1 / TXD01 void setup () (pinMode (TXD, OUTPUT);) void loop () (digitalWrite (TXD, HIGH); kašnjenje (1000); digitalWrite (TXD, LOW); kašnjenje (1000);)

Trepće? Dakle, sve je urađeno kako treba. Odakle sam dobio da je LED spojen na prvi pin? U prethodnom članku nalazi se slika sa pinoutom različitih modula, a tu je i raspored portova kada se koristi Arduino bootloader (pinovi su označeni roze).

Treptanje LED diode je svakako dobro, ali bilo bi potrebno zatvoriti neki web server ili početi kontrolisati LED barem pomoću dugmadi u pretraživaču, zar ne? Ali o tome ću vam reći neki drugi put.

I sada kako vratiti izvorni firmver, i kako općenito flešovati modul pomoću pokretača treće strane. Za ESP8266 postoji program kao što je NodeMCU Flasher, koji je prvobitno dizajniran za flešovanje NodeMCU pokretačkog programa. Ali kako se ispostavilo, savršeno treperi i drugi firmver.

Priložit ću arhivu s ovim programom i firmverom uz članak radi praktičnosti, ali uvijek možete preuzeti novu verziju NodeMCU Flasher-a.

U folderu "nodemcu-flasher-master" nalaze se 2 foldera Win64 i Win32 i u zavisnosti od toga koju bitnu dubinu ima vaš OS, odaberite željeni. Zatim, u folderu Release, pokrenite "ESP8266Flasher.exe" i pogledajte sučelje programa:

Odaberite željeni COM port i idite na karticu "Config", uklonite križić pored "INTERNAL: // NODEMCU" i stavite ga jednu stavku ispod, kao na snimku ekrana:

(Ako želite da flešujete NodeMCU bootloader, uklonite krstić tamo gde nije bio, i stavite ga tamo gde je bio, odnosno blizu "INTERNAL: // NODEMCU").

Zatim kliknemo na zupčanik i izaberemo gdje se nalazi naš firmware, firmver je obično u *.bin formatu (u priloženoj arhivi je "v0.9.5.2 AT Firmware.bin" koji se nalazi u glavnom folderu), i također odaberite "0x00000" kao i više.

Ponovo se vraćamo na karticu "Operacija", prebacimo modul u režim programiranja i pritisnemo "Flash":

To je to, modul je počeo da treperi, nakon flešovanja, ne zaboravite ponovo pokrenuti modul i voila, flešuje se sa firmverom koji nam je potreban.

Provjeravamo AT naredbom "AT + GMR" da li smo sve uradili kako treba:

Kao što vidite, sve je bilo dobro sašiveno.

JavaScript mora biti uključen da biste mogli koristiti ovu stranicu

Firmver i pokretanje modula ESP8266 (ažurirano: 23. juna 2018., 22:01:16)

Ovo je opća dokumentacija za ESP8266 čip. Imajte na umu da se ovaj čip smatra zastarjelim, iako vrlo popularnim - zamijenjen je ESP32 čipom.

Prvo morate odrediti koliko je memorije instalirano na modulu ESP8266. Postoje varijante modula sa 512 kB (4 Mb) instalirane memorije, kao i 4 Mb (32 Mb). Rijetko, ali nailazite na fleš memoriju od 1 MB (8 MB). Gotovo sve varijante ESP-12 i novog ESP-07 imaju 4 megabajta. Količina memorije se može odrediti oznakom flash čipa, što se vidi u Flash Download Tool-u ili na kartici /debug. Oznaka ima oblik 25QXX, gdje je XX volumen u megabajtima, na primjer 25Q32 ima 32 megabajta na ploči = 4 megabajta.

Određivanje veličine memorije pomoću kartice ip_adr / debug:

Kartica za otklanjanje grešaka sadrži razne korisne informacije, uključujući stvarnu veličinu čipa fleš memorije u liniji realne veličine Flash, kao i veličinu memorije postavljenu u veličini Flash skupa, što je važno za ispravnu OTA podršku.

Ako niste registrovani u konstruktoru, tada možete preuzeti sastavljeni firmver na glavnoj stranici, gdje su dostupne 2 lagane opcije firmvera:

Opcija sa OTA podrškom sa 1MB ili više čip memorije. Obavezno je odabrati veličinu memorije od 1MB u firmveru !! Moduli sa 512kb flash memorije nisu podržani u OTA modu !!

Opcija bez OTA podrške.Ako je veličina primljenog fajla (jedan fajl) veća od 496kb, tada je potrebna podrška za fleš memoriju najmanje 1 megabajt!! U poređenju sa OTA modom, u ovoj opciji, broj uključenih opcija može se uključiti mnogo manje.

Mogućnost daljeg ažuriranja firmvera putem OTA dostupna je samo onima koji imaju aktivirane ključeve!

Ako imate problema s pokretanjem firmvera, svakako pogledajte ispod odlomka o rješavanju problema s firmverom!

Izgradite firmver u konstruktoru

Konstruktor vam omogućava da sastavite firmver prema vašim zahtjevima, uključujući u firmver samo one funkcije i senzore koji su potrebni.

Nema smisla uključiti sve opcije u firmver - u ovom slučaju firmver možda neće biti sastavljen jer neće stati u modul. Bolje je da ponovo izgradite firmver ako želite da isprobate druge opcije.

Neke opcije imaju dodatna podešavanja koja se nalaze u ikoni zupčanika. Tu možete odabrati raspoloživi broj npr. termostata ili druge opcije. Prilikom promjene količine, zbog dinamičkih postavki, druge opcije modula mogu "odletjeti" nakon naknadnog ažuriranja. Prilikom početnog podešavanja preporučljivo je odmah odabrati potreban broj opcija kako ne bi bilo takvih problema.

Prilikom inicijalne montaže firmvera, preporučljivo je koristiti OTA opciju, kako bi sljedeće ažuriranje bilo moguće putem interneta bez korištenja konekcije programatora. Sa OTA opcijom može se omogućiti veći broj opcija, ali je potrebno da memorija na modulu bude najmanje 1 megabajt!!

Prilikom sastavljanja firmvera, možete odabrati drugi SDK. Preporučena verzija SDK-a je 1.3.0. U novim verzijama uočen je problem sa režimom pristupne tačke (Safe Mode) (???), ali nema problema sa pouzdanošću veze sa ruterom. SDK je skup biblioteka i funkcija od proizvođača čipa za rad uređaja.

Nakon što kliknete na dugme "kompiliraj", nakon nekog vremena dizajner firmvera će prikazati linkove za preuzimanje:

U načinu rada koji nije OTA, možete flešovati fajlove firmvera jednom datotekom - zatim sve postavke modula, ako su resetirane. Ako ažurirate firmver i ne želite da se postavke izbrišu, tada morate ažurirati firmver sa dvije datoteke na adresama navedenim u nazivu datoteke.

U OTA modu, dovoljno je uploadati firmver sa jednom datotekom. Ali 0x81000.bin može biti potreban ako želite da ažurirate firmver putem kabla nakon korišćenja OTA kada se učita datoteka user2.bin - u ovom slučaju ažuriranje firmvera jedne datoteke neće ažurirati aktivni firmver.

Povezivanje modula za firmver

ESP8266 firmver zahtijeva USB-UART adapter ili Arduino. ESP8266 mora imati 3.3V napon napajanja i 200..300mA struju. Ne preporučuje se spajanje 3.3v napajanja sa ARDUINO ili USB-UART-a - modul možda neće raditi stabilno zbog nedostatka struje. Preporučuje se stabilizator tipa 1117.

Povezivanje ESP8266 na USB-UART: Potrebno je spojiti zajedničke pinove GND (minus). RX sa USB-UART na TX ESP, TX sa USB-UART na RX ESP. Također povezujemo 3.3v napajanje.

Povezivanje ESP8266 na Arduino: Morate spojiti uobičajene pinove GND (minus).RX od Arduina do RX ESP, TX od Arduina do TX ESP. Također povezujemo 3.3v napajanje. RESET za Arduinu treba biti povezan na GND.

Na modulu ESP8266, CH_EN pin mora biti povezan na +3.3v da bi se čip uključio.

GPIO 0 za vrijeme programiranja, mora biti spojen na GND (uzemljenje) prije uključivanja. Nakon uspješnog firmware-a GPIO 0 mora biti odspojen sa GND... Ako je GPIO 15 prikazan na modulu, onda on mora biti stalno povezan na GND preko 10kOhm otpornika !!

Ako vaš esp8266 modul već ima USB-UART na ploči (na primjer, Wemos, NodeMCU), gore navedeni koraci nisu potrebni.

Firmware modula

Prvo morate instalirati drajvere za vaš USB-UART adapter ili Arduin.

Firmware do kraja Nodemcu flasher: Podesite parametar veličine flash memorije na kartici Napredno u skladu sa odabranom veličinom fleš memorije (u bajtovima). Postavili smo mod blica na QIO (kada koristite GPIO 9/10 - DIO). Ostale parametre ne diramo. Na kartici Config označavamo putanju do datoteke firmvera sa adresom 0x0000. Na kartici Operation izaberite COM port i pritisnite dugme FLASH.

Firmware do kraja Flash alat za preuzimanje: Radnje su iste.

Firmware do kraja Flasher za web stranicu... Program ima sučelje na ruskom jeziku i podržavaju ga i Windows i Linux sistemi. U ovom trenutku firmver radi samo na adresi 0x0000 datoteke "Preuzmi u jednoj datoteci (0x00000)". Ako je API ključ instaliran, moguće je automatsko učitavanje prethodno sastavljen firmver direktno iz konstruktora (samo sa OTA modom). Za brisanje memorije umjesto prazne, možete koristiti opciju "obrišite čip prije flešovanja".

Za ESP8285 module i module sa PN25F08B memorijomPotrebna je postavka DOUT memorijskog režima !!

Firmware preko esptool-a. Primjer naredbe esptool.py --port / dev / ttyUSB0 write_flash -fs 8m 0x00000 esp8266.bin. gdje je parametar -fs 8m potreban samo za specificiranje veličine firmvera od jednog megabajta.

ESP INIT DATA File Firmware

Preporučuje se flešovanje esp_init_data_default.bin fajla u modul sa podrazumevanim kalibracijama, ove postavke utiču na rad wifi i aDC. U većini slučajeva, moduli rade ispravno bez ove datoteke. Najnoviji SDK-ovi se možda uopće neće pokrenuti bez ovog fajla.

Adresa firmvera datoteke zavisi od veličine instalirane fleš memorije:

0x7c000 za 512 kB.

0xfc000 za 1 MB.

0x3fc000 za 4 MB.

0xffc000 za 16 MB.

Ove postavke možete učitati i slanjem GET komande http: /// configinit? def = 1, najnoviji SDK-ovi sami propisuju ove postavke.

Pokretanje modula

Kada ga uključite prvi put, modul se uključuje siguran način automatski jer ne sadrži naziv pristupne tačke. U modu siguran način v tačka sa imenom će se pojaviti u eteru WiFi-IoT(u firmveru do 12.10.16 homessmart), na koji se možete povezati pomoću pametnog telefona ili laptopa.

Još uvijek možete ući u siguran način rada kratkim spojem RX i TX i ponovnim pokretanjem modula ili pritiskom na tipku RESET na ESP8266 3 puta (sa intervalom pritiska od otprilike jedne sekunde).

1. Koristeći Captive Portal, mobilni uređaj će prikazati obavijest o povezivanju, kada se klikne, glavna web stranica modula će se automatski otvoriti. Također možete otići do modula unošenjem adrese u pretraživač iot.local(ili bilo koji drugi, na primjer iot.ru). Captive Portal nije podržan ako je firmver baziran na SDK 0.9.5!

2. Nakon uspješne veze, idite ručno na adresu http://192.168.4.1 koristeći web pretraživač.

Zatim postavite vezu sa vašim ruterom na glavnoj kartici web sučelja.Neophodno je uneti podatke svoje pristupne tačke u polja WiFi opcija. Za povezivanje s ruterom odaberite "Station mode". Nakon pritiska na dugme za podešavanje, ispod će se pojaviti IP adresa kojoj možete pristupiti unutar svoje bežične mreže.

Ovdje također možete postaviti svoje korisničko ime i lozinku na stranicama postavki web sučelja. Prijava i lozinka nisu duži od 8 znakova. Lozinka će biti potrebna za sve kartice postavki. I kada je postavljena opcija "Puna sigurnost" i za sve zahtjeve GET kontrole. U sigurnom načinu rada, lozinka se ne traži!

Na ovoj kartici možete podesiti naziv modula koji će biti prikazan na glavnom i u flymon sistemu, kao i u temi na MQTT serveru.

Gore navedeni koraci nisu potrebni ako je firmver kompajliran sa opcijom Zadane postavke, gdje su parametri rutera i IP adresa unaprijed registrirani. Nakon uspješnog flešovanja i ponovnog pokretanja, možete odmah otići na navedenu IP adresu modula unutar vaše wi-fi mreže.

Rješavanje problema sa firmverom

Ponekad, nakon firmvera ili smeća treće strane, modul se možda neće pokrenuti i moraju se poduzeti dodatni koraci. Potrebno je obrisati fleš memoriju na adresi 0x00000. Zatim, već ponovo flešujemo sam firmver.

Za neke korisnike, čak i nakon uklanjanja praznine, modul se ne pokreće ili se pokreće samo kada je podešen način rada od 512 kb ili 4 mb, možda je to zbog niske kvalitete flash memorije ili njene djelomične nekompatibilnosti s ESP8266 čipom. Prema nekim informacijama korisnika, zamjena memorijskog čipa pomaže.

Ako se na glavnoj stranici modula prikaže poruka "Greška flash size! (Kôd 0x1)", to znači da je firmver od 1MB flešovan u 512kb modu. U tom slučaju, Safe Mode je aktiviran i modul može pokvariti rad zbog takvih pogrešnih postavki. Uvjerite se da je potrebna veličina memorije postavljena na modulu - to se može vidjeti na kartici IP_ADDRESS / debug web u Flash liniji realne veličine. Režim veličine memorije je naznačen u firmveru.

Ako se na glavnoj stranici modula prikaže poruka "Greška flash size! (Kôd 0x2)", onda ovaj modul ima samo 512KB fleš memorije i to znači da trebate koristiti firmver bez uključenog ili neaktiviranog moda od 1 megabajta koristite OTA. Također možete zalemiti čip flash memorije na veći.

BITAN!! Ako modul ne može dobiti IP adresu. Status povezivanja stalno visi, preporučujemo da unesete IP adresu ručno ispod. Da biste to uradili, izaberite režim Statičke IP adrese i unesite IP modula i IP pristupnika (IP rutera). Nakon toga možete ići na modul koji je već unutar mreže koristeći IP adresu koju ste naveli u postavkama ..

Ponekad status povezivanja može zakinuti ako je omogućen tip enkripcije na ruteru, što ESP8266 čip ne podržava.

Pohranjivanje postavki u datoteku

Postavke modula se mogu pohraniti u datoteku, isključujući WI-FI postavke, GPIO stanja, listu DS18B20 senzora. Datoteka se mora preuzeti na IP_ADDRESS / configsave.bin. Zapisuje se nazad u modul preko programatora na 0x3C000 za 512kb firmvera, 0x7C000 - za 1mb. Postavke se mogu preuzeti preko esptool.py koristeći primjer u nastavku zamjenom tražene adrese.

Možete preuzeti WI-FI postavke na IP_ADDRESS / configsave.bin? Pg = 66 za 512 kb, IP_ADDRESS / configsave.bin? Pg = 130 za 1 meg. Možete preuzeti preko esptool.py naredbom esptool.py read_flash 0x7E000 4096 mywifi_settings.bin za 512 kb (za 1024 kb adresa će biti 0xfe000).

Korisni linkovi:

Video uputstvo postavkom sa Umke.

Mnogi korisnici su već skrenuli pažnju na ESP8266-12 čip koji je objavio Espressif. Njegova cijena je mnogo jeftinija u odnosu na standardnu ​​Bluetooth adaptersku ploču, a čak i sa manjim dimenzijama, ima mnogo šire mogućnosti. Sada svi ljubitelji kuće imaju priliku raditi u Wi-Fi mreži u dva načina odjednom, odnosno povezati svoj računar na bilo koju pristupnu tačku ili ga uključiti kao takvu tačku.

S druge strane, morate ispravno shvatiti da takve kartice nisu samo štitovi namijenjeni samo za Wi-Fi komunikaciju. Sam ESP8266 je mikrokontroler koji ima svoje UART, GPIO i SPI interfejse, odnosno može se koristiti kao potpuno samostalna oprema. Nakon izlaska ovog čipa, mnogi su ga nazvali pravom revolucijom, a s vremenom će se takvi uređaji početi ugrađivati ​​čak i u najjednostavnije vrste tehnologije, ali za sada je uređaj relativno nov i za njega ne postoji stabilan firmware. Mnogi stručnjaci širom svijeta pokušavaju izmisliti vlastiti firmware, jer ih zapravo nije teško napuniti u ploču, ali unatoč raznim poteškoćama, uređaj se već može nazvati prilično prikladnim za rad.

Trenutno se razmatraju samo dvije opcije za korištenje ovog modula:

  • Korišćenje ploče u kombinaciji sa dodatnim mikrokontrolerom ili računarom, koji će upravljati modulom preko UART-a.
  • Samoupisujući firmver za čip, koji vam omogućava da ga kasnije koristite kao samodovoljan uređaj.

Sasvim je prirodno da u ovom slučaju nećemo razmatrati nezavisni firmver.

Gledajući jednostavnost upotrebe i dobre performanse, mnogi ljudi među brojnim mikrokontrolerima daju prednost modelu ESP8266. Povezivanje i ažuriranje firmvera ovog uređaja izuzetno je jednostavno i pristupačno, a vrši se na istom hardveru na kojem je oprema povezana sa računarom. Odnosno, također preko USB-TTL pretvarača ili, ako nekome više odgovara druge opcije povezivanja, može se izvesti preko RPi i Arduina.

Kako provjeriti?

Da biste testirali funkcionalnost novokupljenog uređaja, morat ćete koristiti poseban stabilizirani izvor napona dizajniran za 3,3 volta. Odmah treba napomenuti da je stvarni raspon napona napajanja ovog modula od 3 do 3,6 volti, a napajanje povećanog napona odmah će dovesti do činjenice da ćete jednostavno onemogućiti svoj ESP8266. Nakon takve situacije, firmver i drugi softver mogu početi neispravno raditi i već ćete morati popraviti uređaj ili ga nekako popraviti.

Da biste utvrdili performanse ovog modela mikrokontrolera, potrebno je samo spojiti tri pina:

  • CH_PD i VCC se povezuju na napajanje od 3,3 volta.
  • GND se spaja na masu.

Ako ne koristite ESP-01, već neki drugi modul, a na njemu je već prisutan izlaz GPIO15, tada ćete ga u tom slučaju morati dodatno spojiti na masu.

Ako je fabrički firmver pokrenut normalno, tada u ovom slučaju možete vidjeti i tada će plava treptati nekoliko puta. Međutim, vrijedi napomenuti da svi ESP8266 uređaji nemaju crveni indikator napajanja. Firmver na nekim uređajima ne predviđa da crveni indikator svijetli ako ga nema u modulu (posebno, ovo se odnosi na model ESP-12).

Nakon povezivanja, nova pristupna tačka se aktivira na vašoj bežičnoj mreži, koja će se zvati ESP_XXXX, i može se otkriti sa bilo kojeg uređaja sa Wi-Fi pristupom. U ovom slučaju, naziv pristupne točke direktno ovisi o proizvođaču firmvera koji koristite, pa stoga može biti nešto drugačije.

Ako se tačka ipak pojavi, možete nastaviti eksperimente, inače ćete morati ponovo provjeriti napajanje, kao i ispravnost GND i CH_PD veza, a ako je sve ispravno spojeno, onda najvjerovatnije još uvijek pokušavate za korištenje pokvarenog modula ili na njemu jednostavno ima instaliran firmver sa nestandardnim postavkama.

Kako to brzo povezati?

Standardni set potreban za povezivanje ovog modula uključuje sljedeće:

  • sam modul;
  • matična ploča bez lemljenja;
  • kompletan set ženskih i muških žica namenjenih za razvojnu ploču ili poseban DUPONT M-F kabl;
  • USB-TTL konverter baziran na PL2303, FTDI ili nekom sličnom čipu. Najoptimalnija opcija je da se RTS i DTR također izlaze na USB-TTL adapter, jer zbog toga možete postići prilično brzo preuzimanje firmvera sa nekog UDK, Arduino IDE ili Sminga, čak i bez potrebe da ručno prebacite GPIO0 na uzemljenje .

Ako koristite pretvarač od 5 volti, tada ćete u ovom slučaju morati kupiti dodatni stabilizator napajanja na bazi 1117 čipa ili nečeg sličnog, kao i izvor napajanja (za standardni 1117 čak i obično punjenje pametnog telefona od 5 volti je prilično dobro). Preporučljivo je da ne koristite Arduino IDE ili USB-TTL kao izvor napajanja za ESP8266, već da koristite poseban, jer se time na kraju može riješiti mnogo problema.

Prošireni set za udoban i stalan rad sa modulom omogućava upotrebu dodatnih otpornika, LED dioda i DIP prekidača. Osim toga, možete koristiti i jeftin USB monitor, koji će vam omogućiti da stalno pratite količinu potrošene struje, kao i pružiti malu zaštitu za USB sabirnicu od pojave

Šta treba da radimo?

Prije svega, vrijedi napomenuti činjenicu da kod ESP8266 kontrola može biti malo drugačija ovisno o tome koji model koristite. Danas postoji mnogo ovakvih modula, a prva stvar koja će vam biti potrebna je da identifikujete model koji koristite i odlučite o njegovom pinoutu. U ovom priručniku ćemo govoriti o radu sa ESP8266 ESP-01 V090 modulom, a ako koristite neki drugi model sa izlaznim pinom GPIO15 (HSPICS, MTDO), morat ćete ga povući na tlo i za standardni start modula i za korištenje režima firmvera.

Zatim još jednom provjerite da li je napon napajanja za povezani modul 3,3 volta. Kao što je gore spomenuto, dopušteni raspon je od 3 do 3,6 volti, au slučaju povećanja uređaj pokvari, ali napon napajanja može biti čak i znatno niži od 3 volta navedenih u dokumentima.

Ako koristite 3.3V USB-TTL konverter, spojite modul na isti način kao na lijevoj strani donje slike. Ako koristite samo 5V USB-TTL, obratite pažnju na desnu stranu slike. Mnogima se može učiniti da je pravo kolo efikasnije zbog činjenice da koristi poseban izvor napajanja, ali u stvari, u slučaju korištenja USB-TTL pretvarača za 5 volti, vrlo je poželjno napraviti i dodatni razdjelnik na otpornicima kako bi se osiguralo podudaranje logičkih nivoa od tri i pet volti, ili jednostavno koristite modul za konverziju nivoa.

Mogućnosti povezivanja

Na desnoj slici je veza UTXD (TX), kao i URXD (RX) ovog modula na pet-voltnu TTL logiku, a takve procedure izvodite samo na vlastitu odgovornost i rizik. Za ESP8266, opis kaže da modul efikasno radi samo sa 3.3V logikom. U ogromnoj većini slučajeva, čak i u slučaju rada s pet-voltnom logikom, oprema ne pokvari, ali takve situacije se rijetko događaju, stoga se takva veza ne preporučuje.

Ako nemate priliku koristiti namjenski USB-TTL pretvarač od 3,3 volta, možete koristiti otpornički razdjelnik. Također je vrijedno napomenuti da je na desnoj slici stabilizator napajanja 1117 spojen bez dodatnog vezivanja, a ovo je stvarno funkcionalna tehnologija, ali ipak je najbolje koristiti dijagram povezivanja 1117 s vezivanjem kondenzatora - morate provjeriti sa podacima ESP8266 na vašem stabilizatoru ili koristite gotov modul baziran na bazi 1117.

Da biste pokrenuli modul, morate prekinuti GPIO0-TND kolo, nakon čega možete primijeniti napajanje. Treba napomenuti da sve treba uraditi tim redosledom, odnosno prvo se uveriti da GPIO0 "visi u vazduhu", pa tek onda napajati CH_PD i VCC.

Kako pravilno povezati?

Ako možete odvojiti više od jedne večeri da pravilno povežete modul ESP8266, možete koristiti stabilniju opciju. Na dijagramu iznad vidite opciju povezivanja sa automatskim preuzimanjem firmvera.

Vrijedi napomenuti da gornja slika ne prikazuje korištenje besplatnih GPIO ili ADC-ova, a njihova veza će direktno ovisiti o tome šta točno želite implementirati, ali ako želite osigurati stabilnost, ne zaboravite povući sve GPIO na napajanje , i ADC na masu pomoću pull-up otpornika.

Ako je potrebno, 10k otpornici se mogu zamijeniti bilo kojim drugim otpornicima u rasponu od 4,7k do 50k, osim GPIO15, jer njegova vrijednost ne bi trebala biti veća od 10k. Ocjena kondenzatora koji izglađuje talasanje visoke frekvencije može biti malo drugačija.

Povezivanje RESET-a i GPIO16 korištenjem otpornika dubokog mirovanja od 470 oma može biti potrebno kada se koristi odgovarajući način rada, jer da bi izašao iz režima dubokog mirovanja, modul izvodi potpuno ponovno pokretanje tako što daje niski nivo na GPIO16. U nedostatku ove veze, način dubokog mirovanja za vaš modul će trajati zauvijek.

Na prvi pogled može izgledati da su GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) i GPIO15 zauzeti, pa ih nećete moći koristiti za svoje potrebe, ali u stvari to je daleko od slučaja . Dovoljno visok nivo na GPIO0 i GPIO2, kao i nizak nivo na GPIO15, može biti potreban samo za početno pokretanje modula, a u budućnosti ih možete koristiti po sopstvenom nahođenju. Jedna stvar koju vrijedi napomenuti je da se uvjerite da su nivoi tačni prije nego što izvršite hard reset vašeg hardvera.

Možete koristiti i TX, RX kao alternativu GPIO1 i GPIO3, ali ne zaboravite da nakon pokretanja modula svaki firmver počinje da "trza" TX, dok istovremeno šalje informacije o otklanjanju grešaka u UART0 brzinom od 74480, ali nakon preuzimanje će biti uspješno, mogu se koristiti ne samo kao UART0 za razmjenu podataka sa drugim uređajem, već i kao standardni GPIO.

Za module koji imaju mali broj ožičenih pinova (na primjer, ESP-01), ne morate povezivati ​​neusmjerene pinove, odnosno samo GND, CH_PD, VCC, GPIO0, GPIO2 i RESET će biti ožičeni na ESP-01 treba zategnuti. Nema potrebe za lemljenjem direktno na ESP8266EX, a zatim povlačenjem neusmjerenih pinova osim ako zaista ne morate.

Takvi dijagrami ožičenja korišteni su nakon mnogo eksperimentiranja od strane kvalificiranih stručnjaka i prikupljeni iz raznih različitih informacija. Treba napomenuti da se čak i takve sheme ne mogu smatrati idealnim, jer se može koristiti niz drugih, ne manje učinkovitih opcija.

Arduino veza

Ako iz nekog razloga nemate USB-TTL konvertor od 3,3 volta, onda se ESP8266 WiFi modul može povezati preko Arduina sa ugrađenim pretvaračem. Ovdje ćete prvo morati da skrenete pažnju na tri glavna elementa:

  • Kada se koristi u radu sa ESP8266, Arduino Reset je inicijalno povezan na GND kako bi se isključila mogućnost pokretanja mikrokontrolera i u ovom obliku je korišten kao prozirni USB-TTL konvertor.
  • RX i TX nisu povezani "na križ", već direktno - RX-RX (zeleno), TX-TX (žuto).
  • Sve ostalo je povezano na potpuno isti način kao gore.

Stvari koje treba razmotriti

Ovo kolo također zahtijeva TTL usklađivanje nivoa Arduina od 5 volti, kao i 3,3 volta na ESP8266, ali može dobro funkcionirati i tako.

Kada je povezan na ESP8266, Arduino može biti opremljen regulatorom snage koji ne može izdržati struju potrebnu za ESP8266, zbog čega, prije nego što ga aktivirate, morate provjeriti datasheet za onaj koji koristite. Ne pokušavajte da povežete bilo koje druge elemente koji troše energiju zajedno sa ESP8266, jer to može dovesti do činjenice da će regulator snage ugrađen u Arduino jednostavno otkazati.

Postoji još jedan dijagram ožičenja za ESP8266 i Arduino, koji koristi SoftSerial. Budući da je brzina porta od 115200 za SoftSerial biblioteku previsoka i ne može garantirati stabilan rad, ovaj način povezivanja se ne preporučuje, iako postoje slučajevi u kojima sve radi prilično stabilno.

Povezivanje preko RaspberryPi

Ako uopće nemate USB-TTL pretvarač, onda možete koristiti RaspberryPi. U ovom slučaju, za ESP8266, programiranje i povezivanje su gotovo identični, ali ovdje sve nije tako zgodno, a osim toga, morat ćete koristiti i stabilizator napajanja od 3,3 volta.

Za početak spajamo RX, TX i GND našeg uređaja na ESP8266, a uzimamo GND i VCC od 3.3 volta. Ovdje posebnu pažnju treba obratiti na činjenicu da trebate povezati sve GND uređaje, odnosno RaspberryPi stabilizator i ESP8266. Ako stabilizator ugrađen u vaš model uređaja može izdržati do 300 miliampera dodatnog opterećenja, onda je veza ESP8266 sasvim normalna, ali sve to radite samo na vlastitu odgovornost i rizik.

Konfigurisanje parametara

Kada ste shvatili kako da povežete ESP8266, morate biti sigurni da su drajveri za vaše uređaje ispravno instalirani, zbog čega je u sistem dodan novi serijski virtuelni port. Ovdje ćete morati koristiti program - terminal serijskog porta. U principu, možete odabrati bilo koji uslužni program po svom ukusu, ali u isto vrijeme morate ispravno razumjeti da svaka naredba koju ćete poslati na serijski port mora imati završne znakove CR + LF na kraju.

Uslužni programi CoolTerm i ESPlorer su prilično rasprostranjeni, a potonji vam omogućava da sami ne ulazite u ESP8266, a ujedno olakšava rad sa lua skriptama pod NodeMCU, tako da se može prilično koristiti kao standardni terminal.

Za normalnu konekciju morat ćete puno raditi, budući da je firmver za ESP8266 uglavnom raznolik i aktivacija se može izvršiti različitim brzinama. Da biste odredili najbolju opciju, morat ćete proći kroz tri glavne opcije: 9600, 57600 i 115200.

Kako ponoviti?

Prvo se povežite na virtuelni serijski port u terminalskom programu, postavljajući parametre 9600 8N1, zatim ponovo pokrenite modul u potpunosti, odspojite CH_PD (omogućavanje čipa) iz napajanja, a zatim ga ponovo aktivirajte žongliranjem CH_PD. Također je moguće kratko spojiti RESET na masu kako bi se ponovo pokrenuo modul i promatrali podaci u terminalu.

Prije svega, LED diode uređaja trebaju biti prikazane točno onako kako je prikazano u opisu procedure testiranja. U terminalu također treba promatrati skup različitih znakova, koji će završiti sa spremnom linijom, a ako ga nema, vrši se ponovno povezivanje na terminal drugom brzinom, nakon čega slijedi ponovno pokretanje modula.

Kada vidite ovu liniju na jednoj od opcija brzine, modul se može smatrati spremnim za rad.

Kako da ažuriram firmver?

Nakon što instalirate ESP8266, potrebno je samo nekoliko sekundi da povežete uređaj, a zatim možete započeti ažuriranje firmvera. Da biste instalirali novi softver, potrebno je da uradite sledeće.

Za početak preuzmite novu verziju firmvera sa službene web stranice, a također preuzmite poseban uslužni program za firmver. Ovdje posebnu pažnju treba obratiti na to koji operativni sistem je instaliran na mašini sa kojom ESP8266 radi. Najbolje je da uređaj povežete sa sistemima starijim od Windows 7.

Za standardne Windows operativne sisteme bit će sasvim optimalno koristiti program pod nazivom XTCOM UTIL, koji je posebno pogodan za korištenje ako se firmver sastoji od samo jedne datoteke. Najbolja opcija za više platformi je uslužni program esptool, koji, međutim, zahtijeva python, kao i potrebu za specificiranjem parametara putem komandne linije. Osim toga, u ESP8266, povezivanje glavnih funkcija omogućava vam da jednostavno napravite Flash Download Tool, koji ima prilično veliki broj postavki, kao i zgodnu tehnologiju za instaliranje firmvera iz nekoliko datoteka.

Zatim odspojite svoj terminalski program sa serijskog porta, i također potpuno isključite CH_PD iz napajanja, spojite GPIO0 modula na GND, a nakon toga CH_PD možete vratiti nazad. Na kraju, samo pokrenite modularni program firmvera i učitajte ga u relej ESP8266.

U većini slučajeva, firmver se učitava u modul brzinom od oko 115200, ali poseban način omogućava automatsku distribuciju brzine, zbog čega se firmver može izvršiti brzinom većom od 9600, ažuriranjem dostupne funkcije ESP8266. Za povezivanje je korišten Arduino ili USB-TTL - on ovdje ne igra posebnu ulogu, a ovdje maksimalna brzina već ovisi o dužini žica, korištenom pretvaraču i nizu drugih faktora.

Top srodni članci