#include <ESP8266WiFi.h> // librairie pour le wifi
#include <ESP8266WebServer.h> // librairie pour le serveur web
#include "DHT.h" // librairie pour la sonde DHT
#define DHTPIN 5 // GPIO 5, pin D1
#define DHTTYPE DHT22 // DHT11 ou DHT21
const char* ssid = "XXXX"; // votre ssid
const char* password = "YYYY"; // votre mdp ssid
ESP8266WebServer serveur(80); // on déclare un serveur web nommé serveur
DHT dht(DHTPIN, DHTTYPE); // on déclare une sonde DHT nommé dht
// la fonction handleRoot appelé à la racine du serveur
void handleRoot() {
serveur.send(200, "text/plain", "ajouter /dht a l'url pour voir les datas\r\n");
}
// la fonction sonde appelé à la page /dht du serveur
void sonde() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println(F("Erreur de lecture de la sonde DHT !!!"));
return;
}
String message = String(h);
message+= ";";
message+= String(t);
serveur.send(200, "text/plain", message);
}
void setup(void) {
Serial.begin(115200); // on démarre la com série
Serial.println();
WiFi.begin(ssid, password); // on se connecte au réseau
Serial.println();
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connexion à ");
Serial.println(ssid);
Serial.print("Addresse IP : ");
Serial.println(WiFi.localIP());
dht.begin(); // on démarre la sonde DHT
serveur.on("/", handleRoot); // on associe la fonction handleRoot à la racine du serveur
serveur.on("/dht", sonde); // on associe la fonction sonde à la page /dht
serveur.begin(); // on démarre le serveur
Serial.println("Serveur HTTP démarré");
}
void loop(void) {
serveur.handleClient(); // on écoute le serveur
}