/* Código para controlar leds y visualizar temperatura y humedad en el móvil */
#define BLYNK_PRINT Serial //Definimos instrucción para usar Blynk.
#include <ESP8266WiFi.h> //Libreria para usar los diferentes módulos WI-
FI. #include <DHT.h> //Librería para el sensor // Obtenemos nuestro Auto-token al crear el dispositivo. char auth[] = "Auto-token"; //Escribimos el Auto-token que se nos ha enviado al correo. // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "Nombre de la red"; //Escribimos el nombre de nuestra red WI-FI. char pass[] = "Contraseña de la red"; //Escribimos nuestra contraseña de nuestra Red. #define DHTPIN 4 // Pin al cual debemos conectar al Pin 2 del Wemos D1 mini // Para cada tipo de sensor, en nuestro caso usaremos el DHT 11 #define DHTTYPE DHT11 // usar si el sensor es un DHT 11 //#define DHTTYPE DHT22 // usar si el sensor es un DHT 22, AM2302, AM2321 //#define DHTTYPE DHT21 // usar si el sensor es un DHT 21, AM2301 DHT dht(DHTPIN, DHTTYPE); BlynkTimer timer; // Esta función envía el tiempo de actividad de Arduino cada segundo a Virtual (5). // En la aplicación, la frecuencia de lectura del Widget se debe establecer en segundos. // Esto significa que usted define con qué frecuencia enviar datos a la aplicación Blynk void sendSensor() { float h = dht.readHumidity(); float t = dht.readTemperature(); // o dht.readTemperature(true) para temperatura en Fahrenheit if (isnan(h) || isnan(t)) { Serial.println("Fallo al leer el sensor!"); //mensaje si el sensor falla. return; } // Puedes enviar cualquier valor en cualquier momento. // Por favor no enviar más de 10 valores por segundo. Blynk.virtualWrite(V5, h); //pin v5 para humedad Blynk.virtualWrite(V6, t); //pin v6 para temperatura. } void setup() { Serial.begin(9600); // Velocidad de trasmisión de datos. //Blynk.begin(auth, ssid, pass); //para usar el servidor de blynk //podemos usar nuestro propio servidor de alguna de las siguientes formas //Blynk.begin(auth, ssid, pass, "Escribe el enlace de tu servidor", 8080); //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080); dht.begin(); //Configurar una función para ser llamada cada segundo timer.setInterval(1000L, sendSensor); } void loop() { Blynk.run(); //Cargar Blynk timer.run(); }
Leer datos de un sensor de temperatura dth11, enviarlos por el puerto serial, para que sean recogidos por una aplicación de NodeJS, que emitirá por WebSockets los datos de 10 en 10 a una aplicación HTML para ser graficada