L’objectif de cet atelier est de créer un système qui permet le contrôle de température et d’humidité au sein des domiciles en utilisant esp8266 et dht11 et les visualiser via une page HTML
Matériels :
ESP8266 v1 : (Module Wifi) permet aux microcontrôleurs de se connecter à un réseau Wi-Fi
Figure 1: ESP8266 v1
Pour plus d’information visiter : https://andrologiciels.wordpress.com/materiels-android/esp8266/esp01/
DHT11 : Capteur qui permet la mesure de température et l’humidité de l’environnement
Figure 2: Capteur DHT11
BreadBoard : permet de réaliser le prototype d'un circuit électronique et de le tester, sans aucune soudure.
Figure 3: BreadBoard
Carte Arduino UNO (dans cet atelier nous allons enlever le microcontrôleur de la carte arduino)
Figure 4: Carte Arduino Uno R3
Comment enlever le microcontrôleur : https://youtu.be/Hi5CsIsq28M
Câbles : pour la liaison des différents composants du système (dans cet atelier nous allons utiliser 2 types de câbles male-femelle male-male)
Résistance
Code Source:
// Librairies
#include <ESP8266WiFi.h>
#include <DHT.h>
#define DHTPIN 2 // what digital pin we're connected to
#define DHTTYPE DHT11 // Sensor used DHT 11
const char* ssid = ""; // Your ssid example AndroidAP
const char* password = ""; // Your Password example 12345
WiFiServer server(80);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
delay(10);// waits for a 10 ms
Serial.println();
WiFi.mode(WIFI_STA);
Serial.println();
// Connecting to network
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println(WiFi.localIP());
}
void loop() {
delay(2000); // waits for a 2 s
float h = dht.readHumidity();// Humidity
float t = dht.readTemperature();// temperature Celsius
float f = dht.readTemperature(true);// temperature Fahrenheit
// isnan : is not a number
if (isnan(h) || isnan(t) || isnan(f)) {
return;
} else {
float hif = dht.computeHeatIndex(f, h);// temperature Fahrenheit & Humidity
float hic = dht.computeHeatIndex(t, h, false);// temperature Celsius & Humidity
//code to visualize data in the serial monitor for IDE Arduino
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
WiFiClient client = server.available();
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 60");
client.println();
// HTML code to visualize data
client.println("<!DOCTYPE html>");
client.println("<html xmlns='http://www.w3.org/1999/xhtml'>");
client.println("<head>\n<meta charset='UTF-8'>");
client.println("<title>Temperature & Humidity</title>");
client.println("<meta http-equiv='refresh' content=2>");
client.println("</head>\n<body bgcolor='#E0FFFF'>");
client.println("<div style='margin: auto; padding: 20px; text-align: center; font-family: Impact, Charcoal, sans-serif; color: white'>");
client.println("<H1>ESP8266 & DHT11/22 Sensor</H1>");
client.println("<div style='font-size: 8em; color: gold'>");
client.print("Temperature<br /><b>");
client.print((float)t, 2);
client.println("°C</b><br />");
client.print("Humidity<br /><b>");
client.print((float)h, 2);
client.println("%</b><br />");
client.println("</div>");
client.println("");
client.println("</div>");
client.print("</body>\n</html>");
}
Circuits :
Circuit 1 : permet de telverser le programme Arduino à esp8266.
Composants :
Carte Arduino uno
es8266
Câbles
Figure 5: Montage 1
Comment réaliser ce circuit: https://www.youtube.com/watch?v=-Ie33mxLekM&feature=youtu.be
Circuit 2 : permet la collecte des valeurs de température et d’humidité puis les transférer via wifi
Composants :
Carte Arduino uno
esp8266
Câbles
Résistance
dht11
Figure 6: Montage 2
Comment réaliser ce circuit: https://youtu.be/-wslrHr8xyI
Résultat :
Auteur:
Fatima Zahra Fagroud, Student
HASSAN 2 University, Casablanca,
Faculty of Sciences Ben M'Sik. Morocco