Étape 3 :
Programme :
#include
#include
#include
#include
#include « DHT.h »
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE) ;
const char * ssid = « UNE_7586 » ;
const char * mot de passe = « 12345678 » ;
ESP8266WebServer server(80) ;
const int mené = 13 ;
void handleRoot() {}
Message de chaîne = « ESP8266 Server Nodemcu\n\n » ;
Lecture de température ou humidité prend environ 250 millisecondes !
Lectures du capteur peuvent également être jusqu'à 2 secondes « ancienne » (c’est un capteur très lent)
flotter h = dht.readHumidity() ;
Lire la température en degrés Celsius (la valeur par défaut)
flotteur t = dht.readTemperature() ;
Lire la température en degrés Fahrenheit (isFahrenheit = true)
flotteur f = dht.readTemperature(true) ;
Vérifier si des lectures a échoué et arrêter prématurément (pour réessayer).
Si (isnan(h) || isnan(t) || isnan(f)) {}
Serial.println ("Impossible de lire du capteur DHT!") ;
retour ;
}
Calculer l’indice de chaleur en degrés Fahrenheit (par défaut)
flotteur hif = dht.computeHeatIndex (f, h) ;
Calculer l’indice de chaleur en degrés Celsius (isFahreheit = false)
flotteur hic = dht.computeHeatIndex (t, h, false) ;
message = message & "humidité:" ;
message += h ;
message += « \t % » ;
message = message & "température:" ;
message += t ;
message = message & "* C" ;
message += f ;
message = message & "* F\t" ;
message = message & "indice de chaleur:" ;
message += hic ;
message = message & "* C" ;
message += hif ;
message = message & "* F \n" ;
digitalWrite (voyant, 1) ;
Server.Send (200, "text/plain", message) ;
digitalWrite (led, 0) ;
}
void handleNotFound() {}
digitalWrite (voyant, 1) ;
Message de chaîne = « Fichier non Found\n\n » ;
message = message & "URI:" ;
message += server.uri() ;
message = message & "\nMethod:" ;
message = message & (server.method() == HTTP_GET)? » TÉLÉCHARGEZ":"POST";
message = message & "\nArguments:" ;
message += server.args() ;
message += « \n » ;
pour (uint8_t i = 0; i
message += "" + server.argName(i) + ":" + server.arg(i) + « \n » ;
}
Server.Send (404, "text/plain", message) ;
digitalWrite (led, 0) ;
}
void setup(void) {}
pinMode (led, sortie) ;
digitalWrite (led, 0) ;
Serial.Begin(115200) ;
DHT.Begin() ;
WiFi.begin (ssid, mot de passe) ;
Serial.println("") ;
Attente de connexion
tandis que (WiFi.status()! = WL_CONNECTED) {}
Delay(500) ;
Serial.Print(".") ;
}
Serial.println("") ;
Serial.Print ("lié à") ;
Serial.println(SSID) ;
Serial.Print ("adresse IP:") ;
Serial.println(WiFi.localIP()) ;
Si (MDNS.begin("esp8266")) {}
Serial.println ("MDNS répondeur a commencé") ;
}
Server.on ("/", handleRoot) ;
Server.on ("/ inline », [] () {}
Server.Send (200, "text/plain", « cela fonctionne aussi bien ») ;
});
server.onNotFound(handleNotFound) ;
Server.Begin() ;
Serial.println ("serveur HTTP a commencé") ;
}
void loop(void) {}
server.handleClient() ;
}