5. Monitoreo del Ambiente Doméstico¶
En este capítulo, utilizaremos Blynk para crear un monitor de ambiente doméstico. Puedes medir la temperatura, humedad e intensidad lumínica de una habitación usando el DHT11 y un fotoresistor. Al enviar estos valores a Blynk, podrás conocer el estado del ambiente de tu hogar a través de internet.
Componentes Necesarios
Para este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ELEMENTOS EN ESTE KIT |
ENLACE |
---|---|---|
3 in 1 Starter Kit |
380+ |
También puedes comprarlos por separado en los enlaces a continuación.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
---|---|
- |
1. Construir el Circuito
Nota
El módulo ESP8266 requiere una alta corriente para proporcionar un entorno operativo estable, así que asegúrate de que la batería de 9V esté conectada.
2. Editar el Tablero de Mandos
Para registrar valores de humedad, crea un Datastream de tipo Virtual Pin en la página de Datastream. Configura el TIPO DE DATO a Double y el MIN y MAX a 0 y 100. También establece las unidades a Percentage, %.
Luego crea un Datastream de tipo Virtual Pin para registrar la temperatura. Configura el TIPO DE DATO a
Double
, MIN y MAX a-30
y50
, y las unidades a Celsius, °C.También crea un Datastream de tipo Virtual Pin para registrar la intensidad lumínica. Utiliza el tipo de dato predeterminado - Integer, con MIN y MAX configurados a
0
y1024
.Ve a la página de Wed Dashboard, arrastra dos widgets Label y configura sus flujos de datos a V4 y V5 respectivamente, y arrastra un widget Gauge y configura el flujo de datos a V6. También en la configuración del widget, puedes activar Cambiar color según el valor y seleccionar el color apropiado para que el widget se vea mejor y más intuitivo.
3. Ejecutar el Código
Abre el archivo
5.home_environment_monitoring.ino
en la ruta3in1-kit\iot_project\5.home_environment_monitoring
, o copia este código en Arduino IDE.Nota
Aquí se utiliza la
DHT sensor library
, puedes instalarla desde el Library Manager.
Sustituye el
Template ID
,Device Name
yAuth Token
por los tuyos. También necesitas ingresar elssid
y lapassword
del WiFi que estás utilizando. Para tutoriales detallados, por favor consulta 1.4 Conectando la placa R3 a Blynk.Tras seleccionar la placa y puerto correctos, haz clic en el botón Upoad.
Abre el monitor Serial(configura la tasa de baudios a 115200) y espera a que aparezca un aviso como una conexión exitosa.
Nota
Si aparece el mensaje
ESP is not responding
al conectar, sigue estos pasos.Asegúrate de que la batería de 9V esté conectada.
Restablece el módulo ESP8266 conectando el pin RST a GND durante 1 segundo, luego desenchúfalo.
Presiona el botón de reset en la placa R3.
A veces, puede ser necesario repetir la operación anterior de 3 a 5 veces, por favor ten paciencia.
Ahora, verás la temperatura ambiental actual, la humedad y la intensidad de luz en Blynk.
Si quieres usar Blynk en dispositivos móviles, consulta ¿Cómo usar Blynk en dispositivos móviles?.
¿Cómo funciona?
Estas dos funciones se utilizan para obtener la temperatura, humedad e intensidad lumínica de la habitación.
int readLight(){
return analogRead(lightPin);
}
bool readDHT() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (it's a very slow sensor)
humidity = dht.readHumidity();
// Read temperature as Celsius (the default)
temperature = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return false;
}
return true;
}
Con el Timer
de Blynk, la temperatura ambiente, humedad e intensidad de luz se obtienen cada segundo y se envían al flujo de datos en Blynk Cloud, desde donde los widgets muestran los datos.
void myTimerEvent()
{
bool chk = readDHT();
int light = readLight();
if(chk){
Blynk.virtualWrite(V4,humidity);
Blynk.virtualWrite(V5,temperature);
}
Blynk.virtualWrite(V6,light);
}