meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
electronica:esp8266:webtemperatura [2016/08/30 18:10] – [Referencias] lcelectronica:esp8266:webtemperatura [2023/01/18 14:36] (actual) – editor externo 127.0.0.1
Línea 10: Línea 10:
 <note>En el esquema la patilla RSV a la que está conectado el sensor, es en la versión v3 del modeMCU la salida VU que corresponde con una salida  a 5V del propio puerto usb</note> <note>En el esquema la patilla RSV a la que está conectado el sensor, es en la versión v3 del modeMCU la salida VU que corresponde con una salida  a 5V del propio puerto usb</note>
 ==== Código ==== ==== Código ====
-<sxh javascript>+<sxh c>
    
 // Libreria para Sensores DHT // Libreria para Sensores DHT
Línea 56: Línea 56:
 Una vez que hemos comprobado por el serial que funciona correctamente, vamos a modificar el programa para obtener los datos desde el navegador Una vez que hemos comprobado por el serial que funciona correctamente, vamos a modificar el programa para obtener los datos desde el navegador
  
 +<sxh javascript>
 +// Librerias
 +#include "ESP8266WiFi.h"
 +#include "DHT.h"
 +
 +// WiFi p
 +const char* ssid = "miwifi";
 +const char* password = "mipassword";
 +
 +#define DHTPIN 4     // Pin del ESP8266 al que está conectado. El GPIO 4 corresponde al D2 del ESP8266-12E NodeMCU v3
 +
 +// Descomentar segun el tipo de sensor DHT usado
 +#define DHTTYPE DHT11   // DHT 11 
 +
 +WiFiServer server(80);
 +
 +// Inicializa el sensor
 +DHT dht(DHTPIN, DHTTYPE);
 +
 +
 +void setup() {
 +  Serial.begin(115200);
 +  dht.begin();
 +
 +  // Conectando a la WIFI
 +  Serial.println();
 +  Serial.println();
 +  Serial.print("Conectando a ");
 +  Serial.println(ssid);
 +  WiFi.begin(ssid, password);
 +  while (WiFi.status() != WL_CONNECTED) {
 +    delay(500);
 +    Serial.print(".");
 +  }
 +  // Iniciamos el servidor web
 +  server.begin();
 +  Serial.println("Servidor Iniciado");
 +  Serial.println("");
 +  Serial.println("Conectado a la WIFI");
 +  Serial.println("dirección IP: ");
 +  Serial.println(WiFi.localIP());
 +}
 +
 +void loop() {
 +  // Verifica si se ha conectado un cliente
 +  WiFiClient client = server.available();
 +  if (!client) {
 +    return;
 +  }
 +
 +  // Espera tres segundos entre mediciones
 +  delay(3000);
 +
 +  // Obtiene la Humedad
 +  float h = dht.readHumidity();
 +
 +  // Obtiene la Temperatura en Celsius
 +  float t = dht.readTemperature();
 +
 +  // Control de errores, valida que se obtuvieron valores para los datos medidos
 +  if (isnan(h) || isnan(t)) {
 +    Serial.println("Falla al leer el sensor DHT!");
 +    client.print("Falla al leer el sensor DHT");
 +    return;
 +  }
 +  // Preparamos la respuesta
 +  String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n";
 +  s += "\r\n<html><head><meta http-equiv=\"refresh\" content=\"5\"></head><body>\r\n"; // refresca automáticamente la página cada 5s
 +  s += "<h2>Medida de Temperatura y Humedad</h2>";
 +  s += "Humedad=" + String(h) + "%<br>";
 +  s += "Temperatura="+ String(t)+"*C<br>";
 +  s += "</body></html>\n";
 +  client.print(s);
 +
 +}
 +</sxh>
  
 ==== Referencias ==== ==== Referencias ====
   * http://www.instructables.com/id/Midiendo-temperatura-con-ESP8266-y-DHT11/?ALLSTEPS   * http://www.instructables.com/id/Midiendo-temperatura-con-ESP8266-y-DHT11/?ALLSTEPS
   * http://www.instructables.com/id/Autonomous-Weather-Station-With-ESP8266/?ALLSTEPS   * http://www.instructables.com/id/Autonomous-Weather-Station-With-ESP8266/?ALLSTEPS
 +  * http://arduinoamuete.blogspot.com.es/2015/12/creando-un-servidor-web.html