Sunteți pe pagina 1din 11

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatica si Microelectronica

Proiect de an Bazele Transmiterii de Date

A îndeplinit: St.gr. TI-17/FR Domenti Tudor

A controlat: conf.univ., dr. Ababii Victor

Chişinău – 2019
Introcudere
Modulul Wi-Fi ESP-01 este cel mai popular modul din seria ESP8266. Comunicarea cu un calculator sau cu un
microcontroler este realizată cu un UART folosind un set de comenzi AT. În plus, modulul poate fi folosit ca
dispozitiv independent, pentru aceasta trebuie să descărcați firmware-ul în acesta. Puteți programa și descărca
firmware-ul prin versiunea Arduino IDE de mai sus 1.6.5. Pentru a bloca modulul, aveți nevoie de un adaptor
USB UART. Modulul ESP-01 poate fi distribuit pe scară largă pentru utilizarea în dispozitivele IoT (Internet of
Things).

Caracteristicile tehnice ale modulului


 Wi-Fi 802,11 b / g / n
 Modurile WiFi: client, punct de acces
 Putere de ieșire - 19,5 dB
 Alimentare - 1.8-3.6 V
 Consumul de curent - 220 mA
 Porturile GPIO: 4
 Viteza procesorului - 80 MHz
 Cod de memorie
 RAM - 96 KB
 Dimensiuni - 13 × 21 mm

Conexiune
Luați în considerare modul de comenzi AT. Pentru a face acest lucru, conectăm modulul la
computer printr-un adaptor USB-UART. Scopul conductorului modulului (vezi Figura 1):
 VCC - +3,3 V
 GND - teren
 RX, TX - pini UART
 Ieșire CH_PD - Activare chip
 GPIO0, GPIO2 - contacte digitale
Modulul necesită o sursă externă de alimentare de 3,3 V.

Figura 1. Alocarea pinului modulului ESP-01


Diagrama conexiunii pentru comunicarea cu modulul în modul de comandă AT (Figura 2):

Figura 2. Schema de conectare a modulului ESP-01 la un calculator printr-un port serial


Figura 3. Diagrama de asamblare
Pentru a trimite comenzi AT în Mac OS X, puteți utiliza programul CoolTerm, în sistemul de
operare Windows, programul Termite. Viteza unui port COM pentru conectarea la un modul
poate fi găsită doar experimental, pentru diferitele firmware poate fi diferit. Pentru modulul
meu, viteza era de 9600 baud. În plus, a fost posibilă stabilirea schimbului numai după
deconectarea și reconectarea puterii ieșirii CH_PD. După conectare, tastăm terminalul AT și
trebuie să recepționăm răspunsul din modulul OK. Comanda AT + GMR dă numărul
versiunii modulului a modulului, comanda AT + RST reîncarcă modulul (vezi Figura 4). O
listă de comenzi AT de bază poate fi vizualizată în acest document
(ESP8266ATCommandsSet.pdf).
Figura 4. Trimiterea comenzilor AT la modulul din programul Termite

Dacă modul de comandă AT nu este convenabil pentru dvs., placa poate fi configurată
utilizând programul AppStack ESP8266 Config, care poate fi descărcat
la http://esp8266.ru/download/esp8266-utils/ESP8266_Config.zip . Apariția programului este
prezentată în figura 5. Modulul este configurat folosind o interfață grafică, în timp ce
execuția comenzilor poate fi văzută în monitorul programului (vezi figura 6). De asemenea,
puteți trimite comenzi AT din linia de comandă de pe monitor.
Figura 5. Configurația ESP8266 pentru AppStack
Figura 6. Programul de monitorizare serială AppStack ESP8266 Config

Există două opțiuni pentru utilizarea acestui modul:


 în combinație cu un microcontroler (de exemplu, Arduino), care va controla modulul
prin UART;
 scriind propriul firmware pentru a utiliza ESP8266 ca dispozitiv autonom.
Exemplul de utilizare
Luați în considerare un exemplu de conectare a unui senzor de umiditate și de temperatură DHT11 la
modulul ESP-01 și trimiterea de date către serviciul cloud ThingSpeak ( https://thingspeak.com/ ). Vom avea
nevoie de următoarele detalii:
 Modul ESP-01
 bord prototipuri
 senzor de umiditate și temperatură DHT11
 Resistor de 10 kΩ
 fire de conectare
 sursa de alimentare 3 - 3.6V
Mai întâi, conectați senzorul DS18B20 la modulul ESP-01. DS18B20 este un senzor digital de temperatură
care funcționează pe o interfață cu o singură fire de 1 fire. Schema de conectare a senzorului DS18B20 la
modul este prezentată în fig. 7.

Figura 7. Schema de conectare a senzorului DHT11 la modulul ESP-01.

Apoi, trebuie să creați un profil în serviciul ThingSpeak. Serviciul dispune de instrucțiuni


pentru trimiterea datelor la serviciu și primirea datelor de la serviciu.
Figura 8. Asamblare schematică.

Programul va fi scris în ID-ul Arduino pentru ESP8266. Vom folosi bibliotecile


ESP8266WiFi.h (built-in) și OneWire.h. Descărcați schița din lista 1 pe placa Arduino -
preluarea datelor de la un senzor de temperatură și trimiterea datelor către serviciul
ThingSpeak. Trebuie să introduceți datele pentru punctul de acces WiFi pentru modulul ESP-
01:
 const char * ssid;
 const char * parola;
precum și parametrul privateKey pentru aplicația dvs. în serviciul ThingSpeak. Listarea 1
// 3d-diy.ru
// Conectați biblioteca pentru a lucra cu esp8266
#include <ESP8266WiFi.h>
// Conectați biblioteca DHT pentru a lucra cu DHT11
#include <DHT.h>
// pin pentru a conecta contactul DATA
# define DHTPIN 4
// Senzorul DHT11
#define DHTTYPE DHT11

// crearea unei instanțe a unui obiect


DHT DHT dht (DHTPIN, DHTTYPE);

// ssid conexiune la rețea WiFi


const char ssid = "********";
//
parola de rețea WiFi pentru conectare const char password = "******";
// Serverul ThingSpeak
const char * host = "184.106.153.149";
// API KEY al aplicației dvs. ThingSpeak
const char * privateKey = "*****************";
// variabile pentru stocarea umidității
;
plutitoare a temperaturii și umidității;
// variabilă pentru intervalul de măsurare
unsigned long millis_int1 = 0;

void setup () {
// porniți portul serial
Serial.begin (115200);
întârziere (10);
Serial.print ("Conectare la WiFi");
Serial.println (ssid);
// Conectați prin WiFi
WiFi.begin (ssid, password);

în timp ce (WiFi.status ()! = WL_CONNECTED) {


întârziere (500);
}
Serial.println ("WiFi conectat");
// începe
dht dht.begin ();
}

void loop () {
// așteptați intervalul de 10 minute
dacă (milis () - millis_int1> = 10 * 60000) {
Serial.print ("conectați la ThingSpeak");
Serial.println (gazdă);

// Utilizați client WiFi


WiFiClient;
dacă (! client.connect (host, 80)) {
Serial.println ("conexiunea nu a reușit");
return;
}
// obține date de
temperatură temp = get_data_temperature ();
umiditate = get_data_humidity ();
// Creați o adresă URL cu cererea pentru server
String url = "/ update? Key =";
url + = privateKey;
url + = "& temp =";
url + = temp;
url + = "& umiditate =";
url + = umiditate;

// Trimiteți o cerere către server


client.print ("GET") + url + "HTTP / 1.1 \ r \ n" + " );
întârziere (10);

// server răspuns ThingSpeak


}
}
timp ce (client.
Serial.print (req);
}

Acum, în serviciul ThingSpeak, putem vedea graficul citirilor senzorului nostru de


temperatură DHT11 (Figura 9).

Figura 9. Diagrama citirii senzorului de temperatură DS18B20 din serviciul ThingSpeak.

Concluzie
Modulul Wi-Fi ESP-01 este cel mai popular modul din seria ESP8266. Comunicarea cu un calculator sau cu un
microcontroler este realizată cu un UART folosind un set de comenzi AT si se face destul de usor si cu un mare
success aceste microcontrolere pot avea un viitor mare si o gama larga de folosinta.