Am pus mâna pe module ESP8266-12E din vânzare. De la început, tot ce știam despre asta era că era potrivit pentru IOT - internetul lucrurilor. Esența IoT este că puteți conecta orice dispozitiv la Internet. De ce? Ei bine, astfel încât să puteți obține informații de ex. despre temperatură, umiditate, dacă este depozitat în cutie, dacă frigiderul este deschis și cât de des, pentru cât timp, pentru a controla încălzirea centrală și multe altele. Modulul este mic pentru a fi utilizat în orice dispozitiv existent.

Este un modul care are un modul Wifi cu microprocesor și o memorie simplă. Se conectează printr-o interfață serială. Conform acestei descrieri, amintește destul de bine de o altă placă cunoscută pentru construirea prototipurilor - arduino. Și nu întâmplător. Mediul de programare Arduino IDE a fost modificat astfel încât programele să poată fi încărcate în module ESP. Modulul ESP diferă de Arduino nu numai prin faptul că nu are un port USB, ci doar o linie serială, ci și prin modul în care este încărcat programul. Modulul ESP are un mod standard în care pornește când este conectată alimentarea și un mod de programare în care pornește după conectarea alimentării. Tensiunea de alimentare pentru ESP este de 3,3V! De asemenea, semnalele de pe pinii IO utilizează o valoare logică de 0-3,3V. Aplicarea 5V la sursa de alimentare sau la unele intrări va deteriora modulul ESP în sine. Pentru aceste module, există un consum specific, pe care îl au de obicei și poate ajunge până la 800mA. Prin urmare, trebuie asigurată o sursă suficient de dimensionată în timpul programării și implementării. Adesea, un simplu port USB de pe un PC/Notebook nu este suficient pentru operare sau programare. Aceste porturi USB pot furniza până la 500mA (și va dura ceva cu convertorul/arduino).

esp8266
Conexiune de bază a ESP-12E

Imaginea de mai sus arată conexiunea ESP12E, conform căreia va trece la modul standard după conectarea sursei de alimentare. Dacă conectăm sursa de alimentare în timp ce apăsăm butonul S1, ESP va porni în modul de programare și putem încărca programul prin pinii IDD conectați TXD și RXD prin arduino IDE.

Există multe instrucțiuni pe Internet despre cum să încărcați un program în ESP utilizând convertoare USB-TTL. De asemenea, este posibil să înregistrați un program folosind o placă arduino. Nu contează pe cine decideți, fie că este arduino uno, nano sau mega.

Doar conectați RXD de pe ESP cu RXD de pe placa arduino, precum și pinii TXD. AVERTIZARE! nu invers. Conexiunea dintre RX la TX și TX la RX nu este corectă și înregistrarea cu o astfel de conexiune va eșua. Apoi, tot ce trebuie să faceți este să instalați placa prin intermediul managerului de placă în IDE arduino și programul este încărcat în același mod ca și în placa arduino. Cu toate acestea, este necesar să acordați atenție selecției corecte a plăcii și parametrilor suplimentari ai modulului. Am folosit parametrii din imagine pentru modulele mele ESP12 și pot fi folosiți pentru configurarea inițială.

Setările parametrilor modulului ESP-12E

Voi adăuga una dintre cunoștințele mele din lucrul cu aceste module. Dacă utilizați întreruperi (externe sau interne), funcțiile pentru gestionarea acestor întreruperi trebuie definite ca „funcție nulă ICACHE_RAM_ATTR ();”. Aceasta este de fapt pentru ca funcțiile de operare să fie în partea ICACHE RAM și nu în partea Flash. Fără această definiție, o întrerupere va provoca o resetare permanentă și modulul nu va porni sau rula programul încărcat.

Am testat arduino pe o placă prototip împreună cu un senzor DHT22 care măsoară umiditatea și temperatura aerului. Împreună cu biblioteca Thingspeak, aceste date au fost încărcate în mod regulat pe un server Thingspeak la distanță, unde pot să le vizualizez sau să le procesez în continuare printr-un site web sau o aplicație mobilă. Există o mulțime de aplicații pe Google Play care acceptă serverul Thingspeak. Serverul Thingspeak este conceput special pentru aceste aplicații IoT. Desigur, există și alte servere similare, alegeți-le numai pentru dvs...

ESP12E pe placa prototip și senzor DHT22.