Acasă / Console de jocuri / Modul Wifi bazat pe cip ESP8266. ESP8266 - conectare și actualizare firmware Esp 01 diagramă de conectare

Modul Wifi bazat pe cip ESP8266. ESP8266 - conectare și actualizare firmware Esp 01 diagramă de conectare

Câștigă din ce în ce mai multă popularitate, iar Arduino preia deja inițiativa - adăugând aceste module Wi-Fi pe lista plăcilor acceptate.
Dar cum se conectează la Arduino? Este posibil să faci cumva fără un Arduino? Astăzi exact despre asta vom vorbi în acest articol.

Privind în perspectivă, voi spune că va exista un al doilea articol, mai practic, pe tema firmware-ului și programarea modulului ESP8266 în mediul de dezvoltare Arduino IDE. Dar, pe primul loc.

Acest videoclip dublează complet materialul prezentat în articol.



Pe în acest moment, există multe varietăți ale acestui modul, iată câteva dintre ele:

Și iată pinout-ul ESP01, ESP03, ESP12:


* Această imagine poate fi vizualizată la o calitate bună la dezactivat. site-ul pighixxx.com.

Personal, îmi place cel mai mult versiunea ESP07. Cel puțin pentru că există un ecran metalic (protejează microcircuitele de interferențe externe, oferind astfel mai mult muncă stabilă), antenă ceramică proprie, conector pentru antenă externă. Se dovedește prin conectarea unei antene externe la ea, de exemplu, cum ar fi biquadrat, atunci puteți obține o gamă bună. În plus, există multe porturi de intrare/ieșire, așa-numitele porturi GPIO (General Purpose Input Output), similare cu pinii Arduino.

Să revenim la modulele noastre Wi-Fi de oaie și Arduino. În acest articol, voi analiza conectarea unui ESP8266 (model ESP01) la un Arduino Nano V3.

Dar, aceste informații vor fi relevante pentru majoritatea modulelor ESP8266 și, de asemenea, diferite plăci Arduino, de exemplu cel mai popular Arduino UNO.

Câteva cuvinte despre picioarele ESP01:

VccŞi GND(în imaginea de mai sus acestea sunt 8 și 1) - mâncare, pe picior Vcc pot fi depuse, judecând după documentație, de la 3 la 3,6 V, A GND- masă (minus putere). Am văzut o persoană conectand acest modul la două baterii AA (tensiunea de alimentare în acest caz a fost de aproximativ 2,7 V) și modulul era funcțional. Dar totuși, dezvoltatorii au indicat domeniul de tensiune în care modulul ar trebui să fie garantat să funcționeze dacă utilizați altul, aceasta este problema dvs.

Atenţie! Acest modul se bazează pe logica de 3,3 V, în timp ce Arduino este în mare parte logică de 5 V. 5 V poate deteriora cu ușurință ESP8266, așa că trebuie alimentat separat de Arduino.

- Arduino meu are un picior unde scrie 3,3 V, de ce să nu-l folosești?

Probabil te vei gândi. Cert este că ESP8266 este un modul destul de consumator de energie, iar în vârfuri poate consuma curenți de până la 200 mA și aproape niciun Arduino nu este capabil să furnizeze un astfel de curent în mod implicit, cu excepția lui Arduino Due, în care curentul de-a lungul liniei de 3,3 V poate ajunge la 800 mA, ceea ce este destul, dar în alte cazuri vă sfătuiesc să utilizați un stabilizator suplimentar de 3,3 V, de exemplu AMS1117 3,3 V. Sunt foarte mulți atât în ​​China, cât și aici.

Picior RST 6 - este destinat hardware-ului pentru a reporni modulul, aplicând pe scurt un nivel logic scăzut, modulul se va reporni. Deși am neglijat acest lucru în videoclip, tot te sfătuiesc „apăsați” acest picior cu un rezistor de 10 kOhm la pozitivul sursei de alimentare, pentru a obține o mai bună stabilitate în funcționarea modulului, altfel aș reporni la cea mai mică interferență.

Picior CP_PD 4 (sau în alt mod RO) - servește, din nou, la „cablarea” a modulului în modul de economisire a energiei, în care consumă foarte puțin curent. Ei bine din nou - Nu ar strica să „apăsați” acest picior cu un rezistor de 10 kOhm la pozitiv Pitalova În videoclip, am scurtcircuitat prost acest picior la Vcc, pentru că nu aveam un astfel de rezistor la îndemână.

Picioarele RXD0 7 TXD0 2 - UART hardware, care este folosit pentru intermitent, dar nimeni nu interzice utilizarea acestor porturi ca GPIO (GPIO3 și, respectiv, GPIO1). Din anumite motive, GPIO3 nu este marcat în imagine, dar este în fișa de date:

Apropo, la picior TXD0 2 LED-ul „Connect” este conectat și se aprinde atunci când nivelul logic de pe GPIO1 este scăzut sau când modulul trimite ceva prin UART.

GPIO0 5 - nu poate fi doar un port I/O, ci și pune modulul în modul de programare. Acest lucru se face prin conectarea acestui port la un nivel logic scăzut („apăsând” pe GND) și alimentarea cu energie a modulului. În videoclip fac asta cu un buton obișnuit. După clipire, nu uitați să scoateți jumperul/apăsați butonul (nu este necesar să țineți apăsat butonul în timpul intermitent; atunci când este pornit, modulul intră în modul de programare și rămâne în el până la repornire).

GPIO2 3 - port de intrare/ieșire.

Și încă un punct important, fiecare GPIO al modulului Wi-Fi poate furniza în siguranță curent de până la 6mA, pentru a nu-l arde, asigurați-vă că puneți rezistențe în serie cu porturile de intrare/ieșire pe... Amintiți-vă legea lui Ohm R = U/I = 3,3V / 0,006 A = 550 Ohm, adică la 560 Ohm. Sau neglijează-l și apoi te întrebi de ce nu funcționează.

În ESP01, toate GPIO-urile acceptă PWM, așa că la cele patru GPIO ale noastre, adică GPIO0-3, puteți conecta un driver de motor, ala L293 / L298, și puteți conduce două motoare, de exemplu bărci, sau puteți face RGB Wi-Fi orice. Da, da, acest modul are o mulțime de lucruri la bord, iar pentru proiecte simple nu este nevoie de violonistul Arduino, doar pentru flashing. Și dacă utilizați ESP07, atunci, în general, porturile sunt aproape aceleași cu cele ale lui Uno, ceea ce face posibil să faceți cu încredere fără un Arduino. Adevărat, există un moment neplăcut, ESP01 nu are deloc porturi analogice, iar ESP07 are doar unul, numit ADC. Acest lucru îngreunează, desigur, lucrul cu senzori analogici. În acest caz, un multiplexor analog Arduino va ajuta.

Totul pare să fie explicat prin pinout și iată diagrama pentru conectarea ESP8266 la Arduino Nano:

Vedeți jumper-ul de pe pinii RST și GND de pe Arduino Nano? Acest lucru este necesar pentru ca Arduino să nu interfereze cu firmware-ul modulului în cazul conectării ESP8266 folosind Arduino, aceasta este o condiție prealabilă.

De asemenea, dacă vă conectați la Arduino, RX-ul modulului trebuie să meargă la RX-ul arduino, TX - TX. Acest lucru se datorează faptului că cipul convertor este deja conectat la pinii Arduino într-un model încrucișat.

De asemenea, important este un divizor rezistiv format din rezistențe de 1 kOhm și 2 kOhm (pot fi realizate din două rezistențe de 1 kOhm conectându-le în serie) de-a lungul liniei RX a modulului. Deoarece Arduino are 5 V logic și modulul este 3.3. Acesta se dovedește a fi un convertor de nivel primitiv. Trebuie să fie acolo, deoarece picioarele modulului RXD TXD nu sunt tolerante la 5 V.

Ei bine, puteți face fără un Arduino complet conectând ESP8266 printr-un convertor USB-UART obișnuit. În cazul conectării la Arduino, folosim, de fapt, un convertor standard de interfață usb și uart, ocolind creierul. Deci, de ce să cheltuiți bani în plus dacă vă puteți descurca deloc fără un Arduino? Numai în acest caz, conectăm RXD-ul modulului la TXD-ul convertorului, TXD - RXD.

Dacă ești prea lene să te deranjezi cu conexiunile, te joci cu rezistențe și stabilizatori, există soluții gata făcute NodeMcu:

Totul este mult mai simplu aici: conectați cablul la computer, instalați driverele și programul, doar nu uitați să utilizați jumperul/butonul de pe GPIO0 pentru a comuta modulul în modul firmware.

Ei bine, asta este probabil tot cu teoria, articolul s-a dovedit a fi destul de lung și voi publica puțin mai târziu partea practică, firmware-ul și programarea modulului.

Mulți utilizatori și-au îndreptat deja atenția către cipul ESP8266-12, lansat de Espressif. Costul său este semnificativ mai ieftin în comparație cu o placă adaptor Bluetooth standard și, în ciuda dimensiunilor sale mai mici, are capacități semnificativ mai mari. Acum toți pasionații de acasă au posibilitatea de a lucra la o rețea Wi-Fi în două moduri simultan, adică să-și conecteze computerul la orice puncte de acces sau să-l pornească ca atare punct.

Pe de altă parte, trebuie să înțelegeți corect că astfel de plăci nu sunt doar scuturi destinate doar comunicării prin Wi-Fi. ESP8266 în sine este un microcontroler care are propriile interfețe UART, GPIO și SPI, adică poate fi folosit ca echipament complet autonom. După lansarea acestui cip, mulți l-au numit o adevărată revoluție și, în timp, astfel de dispozitive vor începe să fie integrate chiar și în cele mai simple tipuri de echipamente, dar deocamdată dispozitivul este relativ nou și nu există un firmware stabil pentru el. Mulți experți din întreaga lume încearcă să-și inventeze propriul firmware, deoarece încărcarea lor pe placă nu este de fapt dificilă, dar în ciuda diferitelor dificultăți, dispozitivul poate fi deja numit destul de potrivit pentru lucru.

În prezent, sunt luate în considerare doar două opțiuni pentru utilizarea acestui modul:

  • Folosind placa în combinație cu un microcontroler suplimentar sau un computer care va controla modulul prin UART.
  • Scrierea independentă a firmware-ului pentru cip, care vă permite să-l utilizați ulterior ca dispozitiv autonom.

Este destul de firesc să luăm în considerare firmware independent V în acest caz, nu vom face.

Privind ușurința de utilizare și performanța bună, mulți oameni preferă modelul ESP8266 printre numeroasele microcontrolere. Conexiune și actualizare firmware a acestui dispozitiv este extrem de simplu și accesibil, și este produs pe același hardware pe care echipamentul este conectat la computer. Adică tot printr-un convertor USB-TTL sau, dacă cineva preferă alte opțiuni de conectare, se poate face prin RPi și Arduino.

Cum se verifică?

Pentru a verifica funcționalitatea unui dispozitiv nou achiziționat, va trebui să utilizați o sursă de tensiune stabilizată specială, evaluată la 3,3 volți. Merită remarcat imediat că gama reală de tensiune de alimentare a acestui modul este de la 3 la 3,6 volți, iar furnizarea unei tensiuni crescute va duce imediat la faptul că pur și simplu vă veți deteriora ESP8266. Firmware-ul și alte programe software pot începe să funcționeze incorect după o astfel de situație și va trebui să reparați dispozitivul sau să-l reparați cumva.

Pentru a determina funcționalitatea acestui model de microcontroler, trebuie doar să conectați trei pini:

  • CH_PD și VCC sunt conectate la sursa de 3,3 volți.
  • GND se conectează la masă.

Dacă nu utilizați ESP-01, ci un alt modul și are deja inițial o ieșire GPIO15, atunci în acest caz va trebui să îl conectați suplimentar la masă.

Dacă firmware din fabrică a pornit normal, apoi în acest caz puteți vedea și apoi lumina albastră va clipi de câteva ori. Cu toate acestea, este de remarcat faptul că nu toate dispozitivele din seria ESP8266 au un indicator roșu de alimentare. Firmware-ul pe unele dispozitive nu prevede ca indicatorul roșu să se aprindă dacă modulul nu are unul (în special, acest lucru se aplică modelului ESP-12).

După conectarea la dvs rețea fără fir va fi activat un nou punct de acces, care se va numi ESP_XXXX, și va fi descoperit de pe orice dispozitiv care are acces la Wi-Fi. În acest caz, numele punctului de acces depinde direct de producătorul firmware-ului pe care îl utilizați și, prin urmare, poate fi ceva diferit.

Dacă apare punctul, puteți continua experimentarea, altfel va trebui să verificați din nou sursa de alimentare, precum și corectitudinea conexiunilor GND și CH_PD și, dacă totul este conectat corect, atunci cel mai probabil încă încercați să faceți utilizați un modul rupt sau pe Pur și simplu are firmware instalat cu setări non-standard.

Cum se conectează rapid?

Setul standard necesar pentru conectarea acestui modul include următoarele:

  • modulul în sine;
  • Placa de preparare fara lipit;
  • un set complet de fire mamă-mascul destinat unei plăci de breadboard sau un cablu DUPONT M-F special;
  • Convertor USB-TTL bazat pe PL2303, FTDI sau un cip similar. Cea mai bună opțiune este dacă RTS și DTR sunt ieșite și la adaptorul USB-TTL, deoarece datorită acestui lucru puteți obține o încărcare destul de rapidă a firmware-ului de la unele UDK, Arduino IDE sau Sming, fără a fi nevoie chiar să comutați manual GPIO0 la masă.

Dacă utilizați un convertor de 5 volți, atunci în acest caz va trebui să achiziționați un stabilizator de putere suplimentar bazat pe cip 1117 sau unul similar, precum și o sursă de alimentare (pentru un standard 1117, chiar și un obișnuit 5- încărcătorul de volt pentru smartphone este destul de potrivit). Este recomandat să nu folosiți Arduino IDE sau USB-TTL ca sursă de alimentare pentru ESP8266, ci să folosiți una separată, deoarece aceasta poate scăpa în cele din urmă de o mulțime de probleme.

Set extins pentru a asigura confort și loc de muncă permanent cu modulul necesită utilizarea unor rezistențe suplimentare, LED-uri și comutatoare DIP. În plus, puteți utiliza și un monitor USB ieftin, care vă va permite să monitorizați în mod constant cantitatea de curent consumată și, de asemenea, să oferiți puțină protecție pentru magistrala USB de la

Ce ar trebuii să fac?

În primul rând, este de remarcat faptul că în ESP8266 controalele pot fi ușor diferite în funcție de modelul specific pe care îl utilizați. Există destul de multe astfel de module disponibile astăzi, iar primul lucru de care veți avea nevoie este să identificați modelul pe care îl utilizați și să decideți asupra pinoutului acestuia. În această instrucțiune vom vorbi despre lucrul cu modulul ESP8266 ESP-01 V090, iar dacă utilizați un alt model cu un pin GPIO15 (HSPICS, MTDO), va trebui să îl trageți la sol atât pentru pornirea standard a modul și pentru a utiliza modul firmware.

După aceasta, verificați de două ori dacă tensiunea de alimentare pentru modulul conectat este de 3,3 volți. După cum am menționat mai sus, intervalul admis este de la 3 la 3,6 volți, iar dacă crește, dispozitivul se defectează, dar tensiunea de alimentare poate fi chiar semnificativ mai mică decât cei 3 volți menționați în documente.

Dacă utilizați un convertor USB-TTL de 3,3 volți, atunci conectați modulul exact ca în partea stângă a imaginii de mai jos. Dacă utilizați exclusiv USB-TTL de cinci volți, acordați atenție la partea dreaptă a figurii. Mulți li se poate părea că circuitul potrivit este mai eficient datorită faptului că folosește o sursă de alimentare separată, dar de fapt, în cazul utilizării unui convertor USB-TTL de 5 volți, este foarte de dorit să se realizeze și un divizor suplimentar de rezistență pentru a asigura potrivirea nivelurilor logice de trei și cinci volți sau pur și simplu utilizați modulul de conversie a nivelului.

Caracteristici de conectare

Figura din dreapta arată conexiunea UTXD (TX), precum și URXD (RX) a acestui modul la logica TTL de cinci volți, iar astfel de proceduri sunt efectuate numai pe riscul și riscul dumneavoastră. Pentru ESP8266, descrierea spune că modulul funcționează eficient doar cu logica de 3,3 volți. În marea majoritate a cazurilor, chiar și atunci când se lucrează cu logica de cinci volți, echipamentul nu defectează, dar astfel de situații apar ocazional, așa că o astfel de conexiune nu este recomandată.

Dacă nu aveți posibilitatea de a utiliza un convertor specializat USB-TTL de 3,3 volți, puteți utiliza un divizor de rezistență. De asemenea, merită remarcat faptul că, în imaginea din dreapta, stabilizatorul de putere 1117 este conectat fără cablare suplimentară, iar aceasta este o tehnologie cu adevărat funcțională, dar cel mai bine este să utilizați diagrama de conectare 1117 cu cablarea condensatorului - trebuie să o verificați cu fișa de date ESP8266 pentru stabilizatorul dvs. sau utilizați un modul complet gata bazat pe baza 1117.

Pentru a porni modulul, trebuie să deschideți circuitul GPIO0-TND, după care puteți aplica putere. Este demn de remarcat faptul că totul trebuie făcut exact în această ordine, adică asigurați-vă mai întâi că GPIO0 este „atârnat în aer” și abia apoi aplicați puterea la CH_PD și VCC.

Cum să te conectezi corect?

Dacă puteți economisi mai mult de o seară pentru a conecta corect modulul ESP8266, puteți utiliza o opțiune mai stabilă. În diagrama de mai sus vedeți o opțiune de conectare cu descărcare automată a firmware-ului.

Este de remarcat faptul că imaginea de mai sus nu arată utilizarea GPIO-urilor sau ADC-urilor gratuite, iar conexiunea lor va depinde direct de ceea ce doriți să implementați, dar dacă doriți să asigurați stabilitatea, amintiți-vă să trageți toate GPIO-urile la alimentare și ADC-urile. la masă folosind rezistențe de tragere.

Dacă este necesar, rezistențele de 10k pot fi înlocuite cu oricare altele în intervalul de la 4,7k la 50k, excluzând GPIO15, deoarece valoarea sa nu trebuie să fie mai mare de 10k. Valoarea condensatorului care netezește pulsațiile de înaltă frecvență poate fi ușor diferită.

Conectarea RESET și GPIO16 prin utilizarea unui rezistor de somn profund de 470 ohmi poate deveni necesară atunci când se utilizează modul adecvat, deoarece pentru a ieși din modul de repaus profund, modulul efectuează o repornire completă aplicând un nivel scăzut la GPIO16. Fără această conexiune, modul de repaus profund pentru modulul dvs. va dura pentru totdeauna.

La prima vedere, poate părea că GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) și GPIO15 sunt ocupate, așa că nu le veți putea folosi în scopurile dvs., dar de fapt acest lucru este departe de a fi cazul. Un nivel suficient de ridicat pe GPIO0 și GPIO2, precum și un nivel scăzut pe GPIO15, poate fi necesar doar pentru pornirea inițială a modulului, iar pe viitor le puteți utiliza la discreția dvs. Singurul lucru care merită remarcat este să vă amintiți să vă asigurați nivelurile necesare înainte de a efectua o resetare completă a echipamentului.

De asemenea, puteți utiliza TX, RX ca alternativă la GPIO1 și GPIO3, dar nu uitați că după pornirea modulului, fiecare firmware începe să „trage” TX, în timp ce trimite simultan informații de depanare către UART0 la o viteză de 74480, dar după descărcarea va avea succes, acestea pot fi folosite nu numai ca UART0 pentru a face schimb de date cu un alt dispozitiv, ci și ca GPIO-uri standard.

Pentru modulele care au un număr mic de pini cu fir (de exemplu, ESP-01), nu este nevoie să conectați pinii anulați, adică numai GND, CH_PD, VCC, GPIO0, GPIO2 și RESET sunt conectați pe ESP-01. , iar acestea sunt cele de care aveți nevoie, va trebui să fie strânse. Nu este nevoie să lipiți direct la cipul ESP8266EX și apoi să trageți pinii goli decât dacă aveți nevoie cu adevărat de el.

Astfel de diagrame de cablare au fost utilizate după un număr mare de experimente efectuate de specialiști calificați și colectate dintr-o mulțime de informații diferite. Este de remarcat faptul că nici măcar astfel de scheme nu pot fi considerate ideale, deoarece pot fi utilizate o serie de alte opțiuni, nu mai puțin eficiente.

Conexiune prin Arduino

Dacă din anumite motive nu aveți un convertor USB-TTL de 3,3 volți, atunci modulul WiFi ESP8266 poate fi conectat prin Arduino cu un convertor încorporat. Aici va trebui să vă îndreptați mai întâi atenția către trei elemente principale:

  • Când este utilizat cu ESP8266, Arduino Reset este inițial conectat la GND pentru a preveni pornirea microcontrolerului și, în această formă, a fost folosit ca un convertor USB-TTL transparent.
  • RX și TX nu au fost conectate „la răscruce”, ci direct - RX-RX (verde), TX-TX (galben).
  • Orice altceva este conectat exact așa cum este descris mai sus.

Ce să ia în considerare

Acest circuit necesită, de asemenea, potrivirea nivelurilor TTL de 5 volți pe Arduino, precum și 3,3 volți pe ESP8266, dar poate funcționa destul de bine în orice caz.

Când este conectat la un ESP8266, Arduino poate fi echipat cu un regulator de putere care nu poate gestiona curentul cerut de ESP8266, așa că va trebui să verificați fișa de date pentru cea pe care o utilizați înainte de a o activa. Nu încercați să conectați alte componente consumatoare de energie la ESP8266, deoarece acest lucru poate duce la defectarea regulatorului de putere încorporat în Arduino.

Există, de asemenea, o altă schemă de conexiune ESP8266 și Arduino care utilizează SoftSerial. Deoarece pentru biblioteca SoftSerial viteza portului de 115200 este prea mare și nu poate garanta o funcționare stabilă, această metodă de conectare nu este recomandată, deși există unele cazuri în care totul funcționează destul de stabil.

Conexiune prin RaspberryPi

Dacă nu aveți deloc convertoare USB-TTL, atunci puteți utiliza RaspberryPi. În acest caz, pentru ESP8266, programarea și conectarea se desfășoară aproape identic, dar totul aici nu este atât de convenabil și, în plus, va trebui să utilizați și un stabilizator de putere de 3,3 volți.

Pentru început, conectăm RX, TX și GND ale dispozitivului nostru la ESP8266 și luăm GND și VCC din cel proiectat pentru 3,3 volți. Aici, o atenție deosebită trebuie acordată faptului că trebuie să conectați toate dispozitivele GND, adică stabilizatorul RaspberryPi și ESP8266. Dacă stabilizatorul încorporat în modelul dispozitivului dvs. poate rezista până la 300 de miliamperi de sarcină suplimentară, atunci în acest caz conectarea ESP8266 este destul de normală, dar totul se face numai pe riscul și riscul dumneavoastră.

Configurarea parametrilor

Odată ce v-ați dat seama cum să conectați ESP8266, trebuie să vă asigurați că driverele pentru dispozitivele dvs. sunt instalate corect, drept urmare un nou port serial virtual a fost adăugat la sistem. Aici va trebui să utilizați un program - un terminal cu port serial. În principiu, poți alege orice utilitar pe gustul tău, dar trebuie să înțelegi corect că orice comandă pe care o trimiți către portul serial trebuie să aibă la sfârșit caracterele CR+LF.

Utilitarele CoolTerm și ESPlorer sunt destul de răspândite, iar acestea din urmă vă permit să nu introduceți singur ESP8266 și, în același timp, ușurează lucrul cu script-urile lua sub NodeMCU, deci poate fi folosit ca terminal standard.

Pentru o conexiune normală, va trebui să lucrați mult, deoarece firmware-ul pentru ESP8266 este în mare parte variat și activarea poate fi efectuată pe viteze diferite. Pentru a decide cea mai bună opțiune, va trebui să parcurgeți trei opțiuni principale: 9600, 57600 și 115200.

Cum se sortează?

Pentru a începe, conectați-vă la portul serial virtual din programul terminal, setând parametrii la 9600 8N1, apoi efectuați o repornire completă a modulului, deconectând CH_PD (activare chip) de la sursa de alimentare și apoi reactivând-o din nou prin smucire CH_PD. De asemenea, puteți efectua un scurt RESET la masă pentru a reseta modulul și a observa datele din terminal.

În primul rând, LED-urile dispozitivului ar trebui să apară exact așa cum se arată în procedura de testare. De asemenea, ar trebui să observați un set de caractere diferite în terminal, care se va termina cu linia gata, iar dacă nu este acolo, o reconectare la terminal se efectuează cu o viteză diferită, urmată de o repornire a modulului.

Când vedeți una dintre opțiunile de viteză această linie, modulul poate fi considerat gata de funcționare.

Cum se actualizează firmware-ul?

Odată ce instalați ESP8266, va dura doar câteva secunde pentru a conecta dispozitivul și apoi puteți începe actualizarea firmware-ului. Pentru a instala un nou software trebuie să faci următoarele.

Pentru a începe, descărcați noua versiune firmware de pe site-ul oficial și, de asemenea, descărcați utilitate specială pentru firmware. Aici, o atenție deosebită trebuie acordată sistemului de operare instalat pe mașina cu care funcționează ESP8266. Cel mai bine este să conectați dispozitivul la sisteme mai vechi decât Windows 7.

Pentru sistemele de operare Windows standard, ar fi optim să folosiți un program numit XTCOM UTIL, care este deosebit de convenabil de utilizat dacă firmware-ul este format dintr-un singur fișier. Cea mai bună opțiune multi-platformă este utilitarul esptool, care, totuși, necesită python, precum și necesitatea de a specifica parametrii prin linie de comandă. În plus, în ESP8266, conectarea funcțiilor de bază vă permite să faceți în mod convenabil Program flash Download Tool, care are un număr destul de mare de setări, precum și tehnologie convenabilă pentru instalarea firmware-ului din mai multe fișiere.

Apoi, deconectați programul terminal de la portul serial și, de asemenea, deconectați complet CH_PD de la sursa de alimentare, conectați GPIO0 al modulului la GND și, după aceea, CH_PD poate fi returnat înapoi. În cele din urmă, rulați programul de firmware modular și încărcați-l în releul ESP8266.

În marea majoritate a cazurilor, firmware-ul este încărcat în modul cu o viteză de aproximativ 115200, dar un mod special asigură distribuția automată a vitezei, în urma căreia firmware-ul poate fi efectuat la o viteză mai mare de 9600, actualizându-se funcțiile disponibile ale ESP8266. Arduino a fost folosit pentru conexiune sau USB-TTL - nu joacă un rol special aici, iar aici viteza maximă depinde deja de lungimea firelor, de convertorul folosit și de o serie de alți factori.

Compania chineză Espressif a început în 2014 să vândă module Wi-Fi bazate pe cipuri ESP8266. care a câștigat imediat o mare popularitate în rândul radioamatorilor datorită costului redus și a capacităților mari. Astăzi există un număr mare de module diferite bazate pe cipul ESP8266 în acest articol voi vorbi despre ESP-01.

Parametrii tehnici

Tensiune de alimentare: 3V ~ 3.6V
Curent maxim de funcționare: 220mA
Frecvența de operare: 2,4 GHz
Moduri: P2P (client), soft-AP (punct de acces)
Număr de GPIO: 2.
Memorie flash: 1024 kb.
Putere de ieșire în modul 802.11b: +19,5 dBm
Suport standard wireless: 802.11 b/g/n
Dimensiuni: 24,8 mm x 14,3 mm x 8 mm

Informații generale despre ESP-01

În esență, cipul ESP8266 este un microcontroler în miniatură cu transmițător Wi-Fi care poate funcționa în autonomie completă, fără taxa suplimentara Arduino. Folosind modulul ESP-01, puteți transmite date despre temperatură, umiditate, porniți un releu și așa mai departe. Pentru ușurința în utilizare a cipului ESP8266, producătorul a fabricat o serie de module de la ESP-01 la ESP-14. Primul din această serie este modulul ESP-01 (mai există și ESP-01S, despre asta un pic mai târziu), care este unul dintre cei celebri datorită prețului și dimensiunilor reduse, doar 14,3 mm pe 24,8 mm. Dar are două dezavantaje: un număr limitat de pini GPIO programabili și locația lor incomodă (incomodă pentru aspect).


Modulul ESP-01 este o placă mică, neagră, pe care sunt amplasate două cipuri principale, un microcontroler ESP8266 și o memorie flash de 1 MB. În apropiere se află un rezonator de cuarțit și o antenă imprimată. Placa are doua LED-uri, rosu si albastru. LED-ul roșu se aprinde când modulul este alimentat, iar cel albastru clipește când sunt executate comenzi (LED-ul roșu a fost scos din NSP-01S din cauza consumului constant de energie). Pentru a conecta modulul ESP-01, sunt furnizați opt pini (două rânduri de patru pini, pas de 2,54 mm), doi dintre cei gata făcute sunt intrare-ieșire digitală, care acceptă modularea lățimii impulsului. Deși modulul are doi pini GPIO în mod implicit, puteți folosi alți pini disponibili dacă aveți instrumentul de lipit necesar.


Alocarea PIN
GND: Alimentarea modulului "-".
GPIO2:(I/O digitală programabilă)
GPIO0:(I/O digitală programabilă, folosită și pentru modurile de pornire)
RX: Recepție UART
TX: transmisie UART
CH_PD:(pornire/oprire, trebuie să iasă la 3,3V direct sau printr-un rezistor)
RST: resetați, trebuie să îl trageți la 3,3 V
VCC: Alimentare cu modul „3.3V”.

Conexiune modul
Pentru a opera modulul ESP-01, este necesară o sursă de alimentare DC, care ar trebui să producă 3,3 V și un curent de cel puțin 250 mA. Din păcate, stabilizatorul standard instalat pe Arduino nu este capabil să furnizeze curentul necesar pentru ca ESP-01 să funcționeze (dacă oricum decideți să conectați ESP-01, așteptați-vă la o funcționare instabilă și la repornire constantă). În plus, semnalul logic al acestui modul este proiectat pentru 3,3 V, adică la pinul RX trebuie aplicată o tensiune de 3,3 V, iar de la pinul TX va fi furnizată o tensiune de 3,3 V (la fel pentru ceilalți pini. ). Dacă trebuie să conectați modulul la Arduino sau alte controlere care scot 5V la pinul logic, trebuie să utilizați rezistențe sau un modul de nivel logic dacă vă conectați direct, modulul va eșua.

Atenţie! ESP-01 sunt foarte capricioși în ceea ce privește alimentarea, este necesar să folosiți un regulator de tensiune extern de 3.3V, îl voi folosi ca prim exemplu adaptor USB

Din tabelul de mai sus, se poate observa că modulul ESP-01 poate funcționa în mai multe moduri de repaus, cu un consum minim de curent, acestea sunt apelate de software, cu excepția ultimului „Oprire”, pentru a activa acest mod, trebuie să instalați un jumper între GPIO16 și RST, mai târziu vă voi da un exemplu.

Instalarea ESP8266 în Arduino IDE

Descărcați programul Arduino IDE de pe site-ul web arduino.cc
Apoi, trebuie să instalați placa ESP în Arduino IDE Pentru a face acest lucru, rulați programul Arduino IDE și deschideți: Fișier -> Setări.
În nou deschide fereastra, în câmp " Link-uri suplimentare pentru PCB Manager:» adauga link:

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

În fereastra deschisă, căutați „ esp8266 de către ESP8266 Communit y" și apăsați " Instala". Instalarea va dura câteva minute, apoi mesajul „ Instalat", faceți clic pe " Aproape«

Faceți clic pe " Instrumente -> Placi -> Modul Generis ESP8266«.

Acum trebuie să conectați modulul ESP-01 la computer printr-un adaptor USB special pe cipul CH340G


Reglarea frecvenței procesorului " Frecvența procesorului: „80 MHz”", viteza" Viteza de încărcare: „115200”" și selectați " Port«.

Apoi încărcăm o schiță care va face ca LED-ul ESP8266 să clipească.

/* Testat pe Arduino IDE 1.8.5 Data testului 15/06/2018 */ #define TXD 1 // GPIO1 / TXD01 void setup() ( pinMode(TXD, OUTPUT); ) void loop() ( digitalWrite(TXD, HIGH); delay(1000); digitalWrite(TXD, LOW); delay( 1000);

Cum să utilizați modulul ESP-01 pentru a controla LED-ul prin Internet, un modul care vă permite să controlați orice dispozitiv electric.

În acest tutorial ESP8266, folosim modulul ESP-01 pentru a controla un LED prin Internet. ESP8266 este o platformă ieftină, dar eficientă pentru comunicarea prin Internet.

De asemenea, este ușor de utilizat cu Arduino. După finalizarea acestei lecții, veți dobândi cunoștințele de bază despre controlul oricărui dispozitiv electric prin Internet de oriunde în lume!

Aici vom folosi un convertor USB-to-TTL pentru a programa ESP8266 ESP-01. Și vom folosi pentru a dezvolta un server web pentru telecomanda LED.

Cum funcţionează asta

ESP8266 poate fi controlat dintr-o rețea locală Wi-Fi sau de pe Internet (după redirecționarea portului). Modulul ESP-01 are pini GPIO care pot fi programați pentru a porni sau opri un LED sau un releu prin Internet. Modulul poate fi programat folosind un convertor Arduino USB-to-TTL prin pini seriali (RX, TX).

Conectarea hardware-ului la ESP8266

Putem folosi un convertor USB-to-TTL sau putem folosi Arduino pentru a programa ESP8266. Iată trei metode pe care le puteți urma pentru a încărca codul în ESP8266 - alegeți-o pe cea care vi se potrivește cel mai bine. Consultați diagramele pentru fiecare opțiune și configurați echipamentul în consecință.

1. Convertor USB-TTL folosind conectorul DTR

Dacă utilizați un convertor USB-to-TTL cu ieșire DTR, descărcarea va decurge fără probleme. Vă rugăm să rețineți că monitorul serial nu va funcționa atunci când faceți acest lucru.

USB TTL → ESP8266 ESP-01
GND → GND
TX → RX
RX → TX
RTS → RST
DTR → GPIO0

2. Convertor USB la TTL fără ieșire DTR

Pentru a conecta un convertor USB la TTL fără pin DTR, trebuie să folosim transmisia manuală. Pentru aceasta folosim două butoane - vezi următoarea diagramă:

USB TTL → ESP8266 ESP-01
GND → GND
TX → RX
RX → TX
Buton de resetare → RST
Buton Flash → GPIO0

Când descărcați codul, faceți clic pe butonul „Descărcări” (Flash). Țineți butonul apăsat în timp ce apăsați butonul Reset o dată. Acum puteți elibera butonul Flash. ESP8266 este acum într-un mod în care puteți încărca o schiță.

3. Folosind Arduino Uno pentru a încărca codul în ESP8266

Puteți utiliza ESP8266 ESP-01 pentru a rula codul. Când descărcați codul, urmați aceeași procedură ca în al doilea punct - mențineți apăsat butonul „Descărcare” în timp ce apăsați o dată pe resetare, apoi eliberați butonul Flash.

ARDUINO → ESP8266 ESP-01
GND → GND
TX → TX
RX → RX
Buton de resetare → RST
Buton flash → GPIO0

Descărcarea codului ESP8266

Utilizați oricare dintre metodele de mai sus și deschideți , apoi selectați placa ESP8266 din meniu:

Instrumente → Placă → Modul ESP8266 generic
(Instrumente → Placă → Modul ESP8266)

Nota. Dacă nu ați instalat și configurat placa ESP8266 Arduino, vă rugăm să faceți acest lucru urmând pașii de mai sus din acest tutorial. Apoi poți trece mai departe.

Acum copiați codul de mai jos în Arduino IDE și faceți clic pe butonul de descărcare. Schimbați SSID în punct Acces la Wi-Fiși schimbă parola cu a ta Parola Wi-Fiși compilați.

#include const char* ssid = "YOUR_SSID";//introduceți ssid-ul dvs. const char* password = "YOUR_PASSWORD";//introduceți parola int ledPin = 2; // GPIO2 al serverului ESP8266 WiFiServer(80);//Service Port void setup() ( Serial.begin(115200); delay(10); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); // Conectați-vă la Rețea WiFi Serial.println(); Serial.print("Se conectează la "); "); ) Serial.println(""); Serial.println("WiFi conectat"); // Porniți serverul server.begin(); "Serverul pornit"); // Imprimați adresa IP Serial.print(" Utilizați această adresă URL pentru a vă conecta: "); .println("/"); void loop() ( // Verificați dacă un client a conectat WiFiClient client = server.available(); if (!client) ( return; ) // Așteptați până când clientul trimite câteva date Serial .println("new client" while(!client.available())( delay(1); ) // Citiți prima linie a cererii String request = client.readStringUntil("); \r"); (cerere); client.flush(); // Potriviți valoarea int solicitată = LOW; if (request.indexOf("/LED=ON") != -1) ( digitalWrite(ledPin, HIGH); valoare = HIGH; ) if (request.indexOf("/LED=OFF") != -1)( digitalWrite(ledPin, LOW); valoare = LOW; // Returnează răspunsul client.println("HTTP/1.1 200 OK"); client.println("Tip de conținut: text/html"); client.println(""); // nu uitați de acest client.println(""); client.println(" "); client.print("Pinul LED este acum: "); if(valoare == HIGH) ( client.print("On"); ) else ( client.print("Off"); ) client.println( "

"); client.println("Clic Aici porniți LED-ul pinului 2
"); client.println("Clic aici stingeți LED-ul pinului 2
"); client.println(""); întârziere(1); Serial.println("Client deconectat"); Serial.println(""); )

Deschideți monitorul serial și deschideți adresa URL afișată pe monitorul serial prin browser-ul dvs. web. Conectați GPIO 2 de la ESP8266 la pinul LED mai lung. Acum vă puteți controla LED-ul de la distanță prin Internet!

Eliminați toate firele necesare pentru a descărca codul. Modulul LM1117 este utilizat pentru a oferi o ieșire reglată de 3,3 V. Acest lucru vă va permite să faceți modulul ESP8266 sau ESP-01 independent.

Conectarea ESP8266 la Internet

În prezent, modulul ESP8266 este accesibil doar prin Wi-Fi local. Pentru a gestiona dispozitivele de pe Internet, trebuie să efectuați redirecționarea portului pe router.

Pentru a face acest lucru, găsiți adresa IP a sistemului dvs. fie folosind comanda „ifconfig” din terminalul dvs., fie accesați whatsmyip.org. Copiați adresa IP. Acum deschideți setarea routerului și accesați Setările de redirecționare. Introduceți detaliile pentru „Portul de serviciu” și „Adresa IP”. Portul de serviciu este numărul portului din codul dvs. Arduino (portul de serviciu: 80):

Server WiFiServer(80);//Port Service

Adresa IP este cea specificată mai devreme. Lăsați restul setărilor ca implicite. Acum accesați browserul și introduceți adresa: xxx.xxx.xx.xx:80 Ar trebui să se deschidă o pagină pentru a controla LED-ul.

Cum se testează ESP8266

Pentru a testa ESP8266 pe care tocmai l-ați achiziționat, veți avea nevoie.

Atenţie!Intervalul de tensiune de alimentare admisibil pentru modulul ESP8266 este de la 3,0 la 3,6 volți. Este garantat că furnizarea unei tensiuni de alimentare crescute a modulului va cauza defectarea ESP8266.

Pentru a testa ESP8266 ESP-01, conectați doar trei pini: VCC și CH_PD (activare chip) la o sursă de alimentare de 3,3 volți și GND la masă. Dacă nu aveți un ESP-01, dar un alt modul și GPIO15 este ieșit pe el, atunci va trebui să conectați suplimentar GPIO15 la masă.

Dacă firmware-ul din fabrică este pornit cu succes pe modulul ESP8266, LED-ul roșu se va aprinde (indicatorul de alimentare, pe unele versiuni ale modulului, de exemplu ESP-12, poate fi absent) și LED-ul albastru va clipi de câteva ori (acesta este un indicator al transferului de date de la modul la terminal prin linia TX-RX, poate avea o culoare diferită) și un nou punct de acces cu numele „ESP_XXXX” ar trebui să apară în rețeaua dumneavoastră wireless, pe care îl puteți vedea de pe orice dispozitiv WiFi. Numele punctului de acces depinde de producătorul firmware-ului și poate fi diferit, de exemplu AI-THINKER_AXXXXC. Dacă apare punctul de acces, atunci puteți continua experimentele în continuare, dacă nu, atunci verificați din nou sursa de alimentare, CH_PD, GND și dacă totul este conectat corect, atunci cel mai probabil aveți un modul defect, dar există speranță că firmware-ul din modul are setări non-standard și, poate, vă va ajuta să vă afișați.

Cum să conectați rapid ESP8266

Kitul minim pentru conectarea și intermiterea modulului ESP8266 include:

Roșu - sursă de alimentare de 3,3 V

Negru - GND

Galben - pe partea ESP8266 - RX, pe partea USB-TTL - TX

Verde - partea ESP8266 - TX, partea USB-TTL - RX

Portocaliu - CH_PD (CHIP ENABLE) - trebuie să fie întotdeauna conectat la alimentare

Albastru - GPIO0 - conectat printr-un comutator la masă pentru a activa modul intermitent al modulului. Pentru o pornire normală a modulului, GPIO0 poate fi lăsat neconectat nicăieri.

Roz pe diagrama din dreapta - sursa de alimentare nestabilizata 5-8 volti

4. Pentru a porni modulul, întrerupeți circuitul GPIO0 - GND și puteți aplica putere (și exact în această ordine: mai întâi ne asigurăm că GPIO0 este „atârnat în aer”, apoi furnizăm energie la VCC și CH_PD)

Atenţie! În cele de mai sus, funcționând efectiv, exemple de conectare a ESP8266, pinii ESP8266 sunt conectați „direct” la pământ și la putere, sau „atârnând în aer”, deoarece nu avem RESET conectat nicăieri, ceea ce este absolut incorect și este doar potrivit pentru primele două experimente, deși funcționează destul de bine pe marea majoritate a modulelor. Doar pinul VCC este conectat „direct” la sursa de alimentare, pinii rămași: CH_PD, RESET, GPIO0, GPIO2 trebuie să fie trase în sus (pullup) la sursa de alimentare (VCC) printr-un rezistor de la 4,7 la 50 kOhm. „Direct”, conectăm numai GND la negativul (firul comun) al sursei de alimentare și tragem GPIO0 (pulldown) și printr-un rezistor de până la 10k la GND pentru a pune modulul în modul de descărcare a firmware-ului. Dacă intenționați să continuați să experimentați cu ESP8266, atunci faceți-o în același mod ca pentru orice alte microcontrolere. O descriere detaliată a pullup și pulldown nu face obiectul acestui articol, dar puteți cu ușurință Google o descriere a conexiunii corecte a porturilor I/O. Conexiunea „ ” vă va permite să evitați multe „miracole” și probleme și va fi inevitabil necesară dacă întâmpinați dificultăți la pornirea sau aprinderea modulului ESP8266.

Cum să conectați corect ESP8266

Dacă intenționați să utilizați ESP8266 mai mult de o seară, veți avea nevoie de o opțiune de conexiune care oferă o stabilitate mai mare. Mai jos sunt două diagrame de conectare: cu suport pentru încărcarea automată a firmware-ului de la și fără acesta.

Schema de conectare pentru ESP8266 (fără încărcarea automată a firmware-ului, îl flashăm instalând mai întâi jumper-ul BURN și repornind modulul)

Diagrama de conectare cu suport pentru încărcarea automată a firmware-ului de la Arduino IDE, UDK, Sming. Flash Download Tool și XTCOM_UTIL ar putea avea nevoie să dezactiveze RTS/DTR. Dacă este incomod pentru dvs. să dezactivați RTS și DTR, atunci puteți adăuga jumperi la circuit

Aceste diagrame nu arată conexiunea ADC-urilor și a GPIO-urilor gratuite - conexiunea lor va depinde de ceea ce doriți să implementați, dar dacă doriți stabilitate, atunci nu uitați să trageți toate GPIO-urile la alimentare (pullup) și ADC-urile la masă (pulldown). ) prin rezistențe de tragere .

Rezistoarele la 10k pot fi înlocuite cu altele de la 4,7k la 50k, cu excepția GPIO15 - valoarea acestuia trebuie să fie de până la 10k. Valoarea condensatorului, care netezește ondulațiile de înaltă frecvență, poate fi diferită.

Va trebui să conectați RESET și GPIO16 printr-un rezistor de repaus profund de 470 ohmi dacă utilizați modul de repaus profund: pentru a ieși din modul de repaus profund, modulul se repornește prin aplicarea unui nivel scăzut la GPIO16. Fără această conexiune, somnul profund va fi etern pentru modulul tău.

La prima vedere, aceste diagrame par să sugereze că GPIO0, GPIO2, GPIO15, GPIO1 (TX), GPIO3 (RX) sunt ocupate și nu le puteți folosi în scopurile dvs., dar nu este cazul. Un nivel ridicat pe GPIO0 și GPIO2, un nivel scăzut pe GPIO15 sunt necesare doar pentru a porni modulul și, ulterior, le puteți utiliza la discreția dvs., nu uitați să vă asigurați nivelurile necesare înainte de a reporni modulul.

Puteți utiliza TX, RX ca GPIO1 și, respectiv, GPIO3, fără a uita că atunci când modulul pornește, orice firmware va trage TX, trimițând informații de depanare către UART0 la o viteză de 74480, dar după încărcarea cu succes le puteți folosi nu numai ca UART0 pt. schimbă date cu un alt dispozitiv, dar și ca GPIO-uri obișnuite.

Pentru modulele cu un număr mai mic de pini cu fir, cum ar fi ESP-01, nu este necesară conectarea pinilor anulați, de exemplu. pe ESP-01, sunt conectate doar VCC, GND, GPIO0, GPIO2, CH_PD și RESET - doar le strângeți. Nu este nevoie să lipiți direct la cipul ESP8266EX și să atrageți pini nedirecționați, doar dacă aveți nevoie.

Aceste diagrame de conexiune s-au născut după multe experimente efectuate de membrii forumului nostru și culese din documentație împrăștiată și inițial inaccesibilă de către comunitatea noastră, am încercat doar să combin aceste cunoștințe într-un singur loc. Veți găsi multe sfaturi de conectare. Acolo puteți adresa întrebări care vă interesează sau găsiți. Dacă vedeți o eroare, o inexactitate în acest articol sau aveți ceva de adăugat, atunci .

Atenţie! Nici măcar aceste scheme nu pot fi numite „ideale”. Nu există limită pentru perfecțiune: este convenabil să conectați un al doilea USB-TTL la UART1 (cu ESP8266 puteți lua doar GND și UTXD1, adică GPIO2) pentru a conecta un terminal de depanare (veți avea nevoie de un al doilea convertor USB-TTL) - apoi puteți flash modulul ESP8266 prin UART0 fără a dezactiva terminalul de depanare pe UART1. Ar fi o idee bună să conectați rezistențe mici la pinii ambelor UART, să puneți o diodă în linia RTS, să adăugați un condensator la linia de alimentare pentru a amortiza impulsurile de joasă frecvență etc. Este foarte convenabil, de exemplu, făcut în această placă de depanare: LED-urile sunt conectate la toate GPIO-urile, un fotorezistor este conectat la ADC, dar este păcat că nu există niciun buton RESET și există doar un jumper pe GPIO0.

Ar fi corect să vă spun că nu există o diagramă de conectare ideală și în același timp universală pentru ESP8266. Chestia este că depinde foarte mult de firmware-ul pe care urmează să îl încarci acolo. Diagramele de mai sus sunt concepute pentru începătorii care abia încep să stăpânească ESP8266 pentru experimentare. Pentru proiecte reale, poate fi necesar să schimbați puțin diagrama. De exemplu, trebuie să conectați RTS la GPIO15 și CTS la GPIO13. De asemenea, recomand să acordați o atenție deosebită nutriției în proiecte reale.

Conectarea ESP8266 prin Arduino

Dacă nu aveți un convertor USB-TTL de 3,3 V la îndemână, dar aveți un Arduino cu un convertor USB-TTL încorporat, atunci puteți utiliza această diagramă de conexiune

La ce să acordați atenție:

1. Arduino Reset este conectat la GND (fir albastru), astfel încât microcontrolerul de pe Arduino să nu pornească, în această formă folosim Arduino ca convertor transparent USB-TTL

2. RX și TX nu sunt conectate în cruce, ci direct - RX - RX (verde), TX - TX (galben)

3. Orice altceva este conectat în același mod ca în exemplele anterioare

Atenţie! Acest circuit necesită, de asemenea, potrivirea nivelurilor TTL de 5 volți pe Arduino și 3,3 volți pe ESP8266, dar funcționează bine în acest fel.

Atenţie!Arduino poate avea instalat un stabilizator de putere care nu va rezista la curentul cerut de ESP8266, așa că înainte de a face conexiunea, verificați fișa de date pentru stabilizatorul pe care l-ați instalat. Nu conectați alte componente care consumă energie în același timp cu ESP8266 din cauza riscului de a deteriora regulatorul de putere încorporat în Arduino.

Conectarea la portul serial va necesita puțină magie: datorită varietății de firmware pentru ESP8266, conexiunea se poate face la viteze diferite. Viteza necesară poate fi determinată prin simpla căutare prin trei opțiuni: 9600, 57600 și 115200. Cum se caută? Conectați-vă la portul serial virtual din programul terminal setând următorii parametri: 9600 8N1, apoi reporniți modulul deconectand CH_PD (activare chip) de la sursa de alimentare (USB-TTL rămâne conectat la USB) și pornindu-l din nou (de ex. pur și simplu comutați CH_PD , de ce nu distorsionăm puterea - citiți, puteți, de asemenea, scurtcircuita RESET la masă pentru a reporni modulul) și observați datele din terminal. În primul rând, LED-urile de pe ESP8266 ar trebui să se aprindă așa cum este descris la începutul articolului din secțiune. În al doilea rând, în terminal ar trebui să vedeți un „gunoi” de diferite caractere care se termină cu linia „gata”. Dacă nu vedem „gata”, atunci ne reconectam cu terminalul cu o viteză diferită și repornim modulul din nou.

La una dintre opțiunile de viteză „gata”, veți vedea în continuare - felicitări, modulul dvs. este gata de utilizare. Dacă nu, atunci bine ați venit - vom încerca să vă ajutăm, dar citiți mai întâi.

Mai multe despre „gunoi”. Faptul este că atunci când firmware-ul pornește, UART-ul modulului ESP8266 comută la o rată de transmisie de 74.880 (chinezii ăia sunt atât de amuzanți), scoate informații de depanare către UART, apoi comută viteza portului la 115200 (sau 9600 sau 57600, în funcție de versiunea de firmware), așa că această informație de depanare ni se pare ca un gunoi, deoarece ne conectăm la modul cu o viteză diferită. Vă puteți conecta la ESP8266 la o viteză de 74.880 (suporta această viteză) și veți vedea aceste informații de depanare, va fi cam așa:

c suma 0x0d

resetare wdt

încărcare 0x40100000 , len 25052 , camera 16

coada 12

chksum 0x0b

ho 0 coada 12 camera 4

încărcare 0x3ffe8000 , len 3312 , camera 12

Ce să faci în continuare

Dacă aveți un modul nou, atunci cel mai probabil este flash cu unul dintre vechile firmware personalizate AT. Cel mai probabil, acesta este un fel de AI-THINKER AT v0.16 SDK v0.9.2. Puteți verifica versiunea de firmware folosind comanda „AT+GMR”, adică. direct în programul terminal, tastați AT+GMR fără ghilimele și apăsați Enter. Modulul ar trebui să răspundă „OK” și să afișeze versiunea de firmware (de exemplu, „0016000092” - în versiuni diferite Formatul de ieșire al versiunii firmware AT este diferit). Controlul modulului ESP8266 cu comenzi AT merită un articol separat, dar vă puteți da seama cu ușurință singur folosind una dintre cărțile noastre de referință despre comenzile AT:

La momentul scrierii acestui articol, versiunea actuală de firmware pentru ESP8266 este:

Actualizare firmware ESP8266

Modulul ESP8266 este remarcabil prin faptul că nu necesită un programator special - firmware-ul este actualizat pe același hardware pe care conectați modulul ESP8266 la computer, adică. de asemenea, printr-un convertor USB-TTL (sau Arduino sau RPi). Pentru a actualiza firmware-ul pe modulul ESP8266, procedați în felul următor:

1. Descărcați noua versiune de firmware de pe site-ul nostru din secțiune (aici este linkul către la momentul scrierii acestui articol)

2. Descărcați unul dintre utilitarele pentru intermiterea firmware-ului ESP8266, în funcție de dvs sistem de operare din secțiunea de pe site-ul nostru