Géiser de agua basado en IoT

En este artículo controlaremos el géiser de nuestra casa desde cualquier parte del mundo. La vida es rápida y agitada, y todos queremos disfrutar de los beneficios de la tecnología en nuestra vida cotidiana, automatizando donde y cuando podamos.

En este experimento, automatizaremos nuestro géiser en integración con nuestra aplicación de alarma para que cada vez que nos despertemos, podamos obtener agua caliente instantánea. Esto lo lograremos utilizando el protocolo MQTT IoT. MQTT es un protocolo de transmisión de datos de bajo peso y bajo ancho de banda. Para obtener más detalles, puede consultar nuestros artículos anteriores.

Informaciones técnicas
Utilizando IoT, es posible controlar cualquier objeto físico conectado a Internet. Al cablear tu casa con sensores y luego conectarlos a Internet, podrás controlarlos desde tu teléfono celular desde tu computadora portátil.

Un géiser de agua basado en IoT ofrece control desde su dispositivo móvil y utiliza el protocolo MQTT como protocolo de comunicación. Puedes controlar el géiser desde una aplicación, que puedes instalar en tu teléfono celular o computadora portátil.

Red básica de nuestro sistema de control de géiseres.
El géiser está conectado a una unidad con un módulo ESP programado con un programa cliente MQTT para conectarse a un corredor MQTT. El módulo ESP se conecta a un enrutador Wi-Fi para conectividad a Internet. El corredor está alojado en la nube, por lo que no será necesario abrir ningún puerto en el enrutador interno.

La anatomía del proyecto completo.
Nota: Para comprender los conceptos básicos de MQTT e IoT, consulte los artículos anteriores.

El ESP8266 está conectado al corredor y recibe instrucciones a través de la aplicación móvil.

Analicemos en detalle las funciones principales:

  • Para controlar el géiser hay una aplicación móvil que es básicamente una aplicación de alarma diaria, puedes configurar una alarma para cualquier momento adecuado.
  • La aplicación calcula horas y minutos hasta que suena la alarma y envía los minutos al broker seguido del comando “on”, en el tema “ToESP”, el módulo ESP está suscrito al tema.
  • Cuando el módulo ESP recibe el comando "on", almacena los minutos en un número entero.
  • Luego, el valor convertido se pasa a una función que calcula el tiempo en segundos y otros formatos y devuelve el segundo.

  • Para medir el tiempo en ESP, hay un bloque de código que contiene un bucle for que actualiza el valor de una variable de conteo cada segundo. Así es como se compara el tiempo con el tiempo recibido.

  • La variable “time_in_switch_on” ahora se modifica en función del tiempo que tarda el géiser en calentar el agua. Cuando configuras una alarma para las 5 a. m., el géiser comenzará a las 4:50 a. m. y el agua se calentará en 10 minutos.

  • La variable "time_in_switch_on" almacena el valor en segundos y se compara con una variable "tick_segundos" en una función "función_to_trigger_gyeser_on".

  • Después de encender el géiser, comienza a contar hasta 15 minutos exactamente, y cuando pasan 15 minutos, el géiser se apaga y se envía el mensaje a la App.

También hay una función donde puedes apagar o encender el géiser en cualquier momento en la aplicación móvil. Así es como se puede controlar el géiser a través de Internet.

Nota: Estamos utilizando una biblioteca de código abierto para publicar y suscribirnos a través del cliente ESP. No vamos a cambiar nada en estas bibliotecas públicas.

Código fuente:

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.