Paso 2: Arduino Programa
#include "ESP8266WiFi.h"
#include "WiFiClient.h"
#include "ESP8266WebServer.h"
#include "ESP8266mDNS.h"
#include "DHT.h"
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
const char * ssid = "UNE_7586";
const char * clave = "12345678";
Server(80) de ESP8266WebServer;
const int led = 13;
void handleRoot() {}
Cadena de mensaje = "ESP8266 Server Nodemcu\n\n";
Lectura de temperatura o la humedad toma alrededor de 250 milisegundos.
Lecturas del sensor también pueden ser hasta 2 segundos 'old' (es un sensor muy lento)
Float h = dht.readHumidity();
Lectura temperatura Celsius (predeterminado)
Float t = dht.readTemperature();
Leer temperatura Fahrenheit (isFahrenheit = true)
Float f = dht.readTemperature(true);
Compruebe si cualquier Lee falló y salir temprano (para intentarlo de nuevo).
Si (isnan(h) || isnan(t) || isnan(f)) {}
Serial.println ("error al leer del sensor DHT!");
retorno;
}
Calcular el índice de calor en grados Fahrenheit (predeterminado)
flotador de hif = dht.computeHeatIndex (f, h);
Calcular el índice de calor en grados Celsius (isFahreheit = false)
flotador de hic = dht.computeHeatIndex (t, h, false);
mensaje += "humedad:";
mensaje += h;
mensaje += "\t %";
mensaje += "temperatura:";
mensaje += t;
mensaje += "* C";
mensaje += f;
mensaje += "* F\t";
mensaje += "índice de calor:";
mensaje += hic;
mensaje += "* C";
mensaje += hif;
mensaje += "* F \n";
digitalWrite (led, 1);
Server.Send (200, "texto/llano", mensaje);
digitalWrite (led, 0);
}
void handleNotFound() {}
digitalWrite (led, 1);
Cadena de mensaje = "Archivo no Found\n\n";
mensaje += "URI:";
mensaje += server.uri();
mensaje += "\nMethod:";
mensaje += (server.method() == HTTP_GET)? " HAZ":"POST";
mensaje += "\nArguments:";
mensaje += server.args();
mensaje += "\n";
para (uint8_t i = 0; mensaje += "" + server.argName(i) + ":" + server.arg(i) + "\n";
}
Server.Send (404, "texto/llano", mensaje);
digitalWrite (led, 0);
}
void setup(void) {}
pinMode (led, salida);
digitalWrite (led, 0);
Serial.Begin(115200);
DHT.Begin();
WiFi.begin (ssid, contraseña);
Serial.println("");
Espera para la conexión
mientras que (WiFi.status()! = WL_CONNECTED) {}
Delay(500);
Serial.Print(".");
}
Serial.println("");
Serial.Print ("conectada");
Serial.println(SSID);
Serial.Print ("dirección IP:");
Serial.println(WiFi.localIP());
Si (MDNS.begin("esp8266")) {}
Serial.println ("MDNS respondedor comenzada");
}
Server.on ("/", handleRoot);
Server.on ("/ en línea", [] () {}
Server.Send (200, "texto/llano", "Esto funciona así");
});
server.onNotFound(handleNotFound);
Server.Begin();
Serial.println ("HTTP server iniciado");
}
void loop(void) {}
server.handleClient();
}