Ce prezinta articolul?
Desi microcontrolerul ESP32 este unul dintre cele mai noi produse fabricate de compania Espressif, in zona de IoT si „home automation” inca se foloseste ESP8266 (care are la baza microcontrolerul ESP-12E).
Acesta este ideal in aplicatii unde este necesar un consum mic de energie, unde costul de productie este mic, unde conectivitatea Bluetooth nu este necesara (dar cea WiFi este) si unde nu avem nevoie de inca un nucleu de procesare.
Caracteristici ESP-01
Acest microcontroler a aparut pe piata in anul 2014, luna August, sub forma placii de dezvoltare ESP-01 si are urmatoarele caracteristici:
Procesor: L106 32-bit, RISC, bazat pe Tensilica – Xtensa Diamond Standard 106Micro care ruleaza la 80 MHz;
Memorie:
- 32 KB RAM pentru instructiuni;
- 32 KB RAM pentru cache-ul instructiunilor;
- 80 KB RAM alocat utilizatorului;
- 16 KB ETS system-data RAM;
- Flash QSPI externa de pana la 16 MiB;
IEEE 802.11 – b/g/n WiFi;
16 pini GPIO;
SPI, I2C, I2S;
UART pe pinii dedicati, plus GPIO-ul 2 poate fi selectat ca pin aditional;
ADC cu rezolutia de 10 biti;
Transmite pachete in < 2 ms;
Consumul de energie in modul standby de < 1.0mW (DTIM3);
Cum folosim ESP8266 cu Arduino IDE?
Pentru a folosi placa de dezvoltare impreuna cu Arduino IDE, in primul rand trebuie sa accesam File -> Prefrences, iar la sectiunea „Aditional Board Manager URLs:” trebuie sa adaugam urmatorul link:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Nota: Daca mai aveti si alte link-uri in lista, navigati pana la finalul continutului, adaugati ” , ” si copiati link-ul de mai sus.
Dupa care, trebuie sa navigati catre Tools -> Board -> Board Manager, cautati ESP8266 si instalati „pachetul” de placi de dezvoltare. Dupa ce instalarea s-a efectuat cu succes, navigati catre Tools -> Board si selectati placa dvs. de dezvoltare (in cazul in care aceasta este achizitionata de la un producator cunoscut) sau folositi Generic ESP8266.
Deoarece sunt multe tipuri de placi de dezvoltare ESP8266 (de la diversi producatori), la unele este necesar sa tinem apasat butonul BOOT in timp ce incarcam cod pe placa, pentru a intra fortat in „UART Download Mode”.
Cu ce este diferit ESP8266 fata de Arduino Uno / Nano / Pro mini?
Tensiunea logica
In primul rand, o diferenta intre placile de dezvoltare Arduino si ESP8266 este tensiunea logica. In timp ce majoritatea placilor de dezvoltare Arduino au tensiunea logica de 5V, ESP8266 are 3.3V, iar de acest lucru trebuie sa tinem cont cand cream un circuit deoarece putem avea consecinte neplacute (se poate ajunge pana la distrugerea placii in caz de neatentie).
Numar limitat de pini pentru intrerupere
Fata de placile de dezvoltare Arduino, care au un numar limitat de pini pentru intrerupere (2 pentru Arduion Uno / Nano / Pro mini), la ESP8266 toti pinii pot fii configurati ca pini de intrerupere, acest lucru oferindu-ne posibilitatea de a emula diferite protocoale.
Cantitatea memoriei flash si RAM
Cantitatea memoriei flash si RAM este mult mai mare la placile de dezvoltare ESP8266 fata de Arduino, acest lucru oferindu-ne resursele necesare pentru a crea o interfata mai prietenoasa si mai avansata (in caz ca avem un display atasat), sau pur si simplu ne ofera posibilitatea de a avea mult mai multe variabile in programul nostru. Datorita faptului ca memoria flash a modulului de dezvoltare ESP12E este externa, daca dorim, putem sa o schimbam cu una mai mare (in cazul in care codul ne ocupa mai mult spatiu decat poate accepta placa, dar totusi trebuie sa tinem cont de faptul ca memoria maxima pe care o suporta este de 16 MB).
Consumul de energie
Desi placa de dezvoltare ESP8266 vine cu atatea beneficii in plus fata de Arduino, mai este un factor de care trebuie sa tinem cont: consumul de energie. Consumul unei placi de dezvoltare Arduino poate varia intre 20mA si 200mA, in timp ce ESP8266 poate consuma de la 15 uA – 400 mA. Deci placa de dezvoltare ESP, consuma putin mai mult curent electric (in modul activ) fata de Arduino. Daca luam in considerare si existenta modului „Deep Sleep” in care ESP8266 consuma doar 0.5 uA, in timp ce o placa Arduino Nano consuma pana la 25 uA, putem spune ca in „Sleep mode”, putem spune ca modulul ESP devine inca o data castigator.
Viteza de procesare
De asemenea viteza de procesare a ESP8266 este mai mare decat cea a modulelor Arduino. Astfel, putem afirma ca placa de dezvoltare ESP este si destul de economica, fiind perfecta pentru proiecte IoT ce vor rula pe baza unor baterii reincarcabile.
Care este diferenta de programare dintre ESP8266 si Arduino?
Diferenta de programare intre cele doua placi de dezvoltare nu este foarte mare deoarece folosim acelasi IDE si acelasi limbaj (C++). Singura diferenta notabila ar fi denumirea diferita a pinilor folositi (denumirea acestora o gasim in dreptul pinilor de pe placa). De asemeana, modulul ESP prezentat dispune de WiFi integrat, deci nu mai trebuie sa atasam Shield-uri catre placa de dezvoltare pentru a avea conectivitate WiFi (ca in cazul Arduino).
Era un perfect ESP daca se putea ascunde ssid-ul..
Poate inteleg gresit.. dar eu am SSID ascuns la router si am doua ESP-uri conectate la el..
La router da, dar ESP are functie de AP(Access Point) sau CM (Client Mode).
Ma refer la faptul ca faci o conexiune intre doua ESP-uri dar sa nu fie vizibila pentru altii..
Sunt extrem de stabile… si parca am conectat una la SSID ascuns.
ESP32 sunt cumva spre zona smart, mai inteligente si eficiente.
Lucrez si eu la un proiect cu ESP8266-01, folosind comenzi AT, reusesc sa il conectez la internet, reusesc sa fac o conexiunea TCP cu serverul pe care am baza de date mysql, insa cand trimit datele, in baza de date sql nu ajunge nimic, daca ma poate ajuta cineva cu un sfat