Como construir um alarme de incêndio com alertas SMS e WhatsApp

Cómo construir una alarma contra incendios con alertas por SMS y WhatsApp

Las alarmas contra incendios son esenciales en hogares y edificios, ya que mitigan los riesgos de incendio y garantizan la seguridad. Estas alarmas tienen como objetivo salvaguardar vidas y propiedades alertando e iniciando procedimientos de emergencia.

En este proyecto construiremos un sistema de alarma contra incendios utilizando ESP32, un sensor de llama y un sensor de gas MQ2. Este dispositivo hará sonar un timbre y parpadeará un LED si detecta humo o cualquier señal de fuego. Inmediatamente enviará una notificación por SMS y WhatsApp al usuario.

Componentes necesarios

  1. ESP32x1
  2. Sensor de llama x1
  3. Sensor de gas MQ-2 x1
  4. Timbre x1
  5. LEDx1
  6. Resistencias 330Ω x2
  7. Pulsador x1

Conexiones de circuito
Para construir este dispositivo de alarma contra incendios, conectaremos el sensor de llama y el sensor de gas MQ2 con ESP32. El sensor de llama detecta humo y fuego y el sensor de gas MQ2 detecta gases inflamables. Usaremos DOIT ESP32 DevKit V1 como ESP32.

Vamos a empezar.

  • Para conectar el sensor de llama, conecte su pin de salida al GPIO36 de ESP32.
  • Para interconectar el sensor de gas MQ2, conecte su pin de salida digital al GPIO39 del ESP32.
  • Luego, conecta los pines de alimentación y tierra de ambos sensores a los pines 3V3 y GND del ESP32, respectivamente.
  • Nota: el pin de salida analógica del sensor MQ2 permanece desconectado.
  • Conecte el timbre al GPIO23 del ESP32.
  • Conecte el ánodo del LED al GPIO22 del ESP32 y el cátodo a los 3.3V del ESP32 a través de la resistencia en serie.
  • Conecte un botón al GPIO21 del ESP32.

Dado que el ESP32 tiene funcionalidad WiFi incorporada, no es necesario conectar ningún componente que permita Internet.

Aquí está el diagrama de circuito del sistema de advertencia y alarma contra incendios basado en ESP32.

API de Whatabot
Usaremos la API de Whatabot para enviar una advertencia de riesgo de incendio a través de WhatsApp. Consulte este proyecto para aprender a utilizar la API de Whatabot con ESP32.

API de Twilio
Usaremos la API de Twilio para enviar una alerta por SMS sobre riesgo de incendio. Consulte este proyecto para aprender a utilizar la API de Twilio con ESP32.

Bosquejo de Arduino

Como funciona
Esta alarma utiliza un sensor de llama para detectar incendios y un sensor de gas MQ2 para detectar gases inflamables. El sensor de gas debe calibrarse ajustando el potenciómetro en su tablero de distribución. Esto garantiza que se emita una señal tan pronto como detecte una concentración específica de gases inflamables.

Ambos sensores tienen una salida digital y emiten una señal BAJA si se detecta fuego o gas. El sensor de gas MQ2 también tiene una salida analógica, pero no se utiliza para este proyecto.

Cuando la alarma contra incendios está activada, lee las señales de los sensores de llama y humo. Si la salida de cualquiera de los sensores indica BAJA, se activará la alarma de incendio. El timbre está encendido y el LED parpadea. Se envían al usuario notificaciones por SMS y WhatsApp sobre riesgo de incendio. El timbre y el LED permanecen encendidos hasta que se presiona el botón para apagar la alarma.

Código
El esquema comienza importando las bibliotecas WiFi.h, HTTPClient.h, UrlEncode.h y twilio.hpp.

  • Se requiere la biblioteca WiFi.h para conectarse al punto de acceso WiFi.
  • Se requiere HTTPClient.h para procesar la solicitud HTTP GET.
  • Se requiere UrlEncode.h para codificar la URL de acuerdo con los estándares web.
  • La biblioteca twilio proporciona acceso a las funciones necesarias para enviar mensajes SMS a través de solicitudes HTTP.

Las variables se declaran para almacenar el SSID y la contraseña del punto de acceso WiFi. También se declaran variables para almacenar el número de móvil para WhatsApp y las claves API (recibidas al registrar el número de móvil con Whatabot).

Para trabajar con la API de Twilio, se deben declarar variables para el SID de la cuenta, el token de autenticación, el número del remitente (con código de país) y el número de destinatario (con código de país). Esta aplicación utiliza el mismo número de móvil para enviar y recibir una alerta por SMS.

Luego se declaran las variables para las asignaciones de pines de los sensores de llama y gas, el zumbador, el LED y el pulsador. También se declara una variable para almacenar el estado de la alarma.

En la función de configuración, los pines que conectan los sensores de llama y gas y el botón se configuran como entradas digitales. Los pines que conectan el zumbador y el LED están configurados como salidas digitales.

El zumbador y el LED se apagan enviando una señal ALTA. La velocidad en baudios está establecida en 115.200 bps para enviar mensajes de depuración a la consola. ESP32 está conectado a WiFi a través de credenciales de usuario.

En la función de bucle, el ESP32 lee las señales de los sensores de llama y humo. Si se recibe una lectura BAJA de cualquiera de los sensores, la alarma se activará mediante la función riseAlarm. La función definida por el usuario send_whatsapp_message controla las notificaciones enviadas al número de WhatsApp del usuario a través de la API de Whatabot. La función definida por el usuario, send_sms_alert, controla las alertas SMS enviadas al número de móvil del usuario a través de la API de Twilio. Estas notificaciones solo se envían si se activa la alarma de incendio.

Resultados
Aquí están los mensajes de la consola...

Aquí hay un video de demostración de cómo funciona la alarma contra incendios.

Regresar al blog

Deja un comentario

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