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

Os alarmes de incêndio são essenciais em residências e edifícios, mitigando os riscos de incêndio e garantindo a segurança. Esses alarmes visam salvaguardar vidas e bens, alertando e iniciando procedimentos de emergência.

Neste projeto construiremos um sistema de alarme de incêndio utilizando ESP32, um sensor de chama e um sensor de gás MQ2. Este dispositivo acionará uma campainha e piscará um LED se detectar fumaça ou qualquer sinal de fogo. Ele enviará imediatamente um SMS e uma notificação por WhatsApp ao usuário.

Componentes necessários

  1. ESP32 x1
  2. Sensor de chama x1
  3. Sensor de gás MQ-2 x1
  4. Campainha x1
  5. LEDx1
  6. Resistores de 330Ω x2
  7. Botão de pressão x1

Conexões de circuito
Para construir este dispositivo de alarme de incêndio, faremos a interface do sensor de chama e do sensor de gás MQ2 com o ESP32. O sensor de chama detecta fumaça e fogo e o sensor de gás MQ2 detecta gases inflamáveis. Usaremos o DOIT ESP32 DevKit V1 como ESP32.

Vamos começar.

  • Para fazer a interface do sensor de chama, conecte seu pino de saída ao GPIO36 do ESP32.
  • Para fazer a interface do sensor de gás MQ2, conecte seu pino de saída digital ao GPIO39 do ESP32.
  • Em seguida, conecte os pinos de alimentação e aterramento de ambos os sensores aos pinos 3V3 e GND do ESP32, respectivamente.
  • Nota: o pino de saída analógica do sensor MQ2 permanece desconectado.
  • Conecte o buzzer ao GPIO23 do ESP32.
  • Conecte o ânodo do LED ao GPIO22 do ESP32 e o cátodo ao 3,3V do ESP32 por meio do resistor em série.
  • Conecte um botão ao GPIO21 do ESP32.

Como o ESP32 tem funcionalidade WiFi integrada, não há necessidade de conectar nenhum componente que habilite a Internet.

Aqui está o diagrama de circuito do sistema de alarme e alerta de incêndio baseado em ESP32.

API Whatabot
Usaremos a API Whatabot para enviar um aviso de risco de incêndio via WhatsApp. Confira este projeto para aprender como usar a API Whatabot com ESP32.

API do Twilio
Usaremos a API Twilio para enviar um alerta por SMS sobre risco de incêndio. Confira este projeto para aprender como usar a API Twilio com ESP32.

Esboço do Arduino

Como funciona
Este alarme utiliza um sensor de chama para detectar incêndio e um sensor de gás MQ2 para detectar gases inflamáveis. O sensor de gás deve ser calibrado ajustando o potenciômetro em sua placa de distribuição. Isso garante a emissão de um sinal assim que detectar uma concentração específica de gases inflamáveis.

Ambos os sensores têm uma saída digital e emitem um sinal LOW se fogo ou gás for detectado. O sensor de gás MQ2 também tem uma saída analógica, mas não é usada para este projeto.

Quando o alarme de incêndio é ligado, ele lê sinais dos sensores de chama e fumaça. Se a saída de qualquer um dos sensores for lida como BAIXA, o alarme de incêndio será acionado. A campainha está ligada e o LED pisca. Notificações por SMS e WhatsApp sobre risco de incêndio são enviadas ao usuário. A campainha e o LED permanecem acesos até que o botão seja pressionado para desligar o alarme.

O código
O esboço começa importando as bibliotecas WiFi.h, HTTPClient.h, UrlEncode.h e twilio.hpp.

  • A biblioteca WiFi.h é necessária para conectar-se ao ponto de acesso WiFi.
  • O HTTPClient.h é necessário para processar a solicitação HTTP GET.
  • O UrlEncode.h é necessário para codificar a URL de acordo com os padrões da Web.
  • A biblioteca twilio fornece acesso às funções necessárias para enviar mensagens SMS por meio de solicitações HTTP.

As variáveis ​​são declaradas para armazenar o SSID e a senha do ponto de acesso WiFi. Também são declaradas variáveis ​​para armazenar o número do celular para as chaves do WhatsApp e API (recebidas ao registrar o número do celular no Whatabot).

Para trabalhar com a API Twilio, as variáveis ​​devem ser declaradas para o SID da conta, token de autenticação, número do remetente (com código do país) e número do destinatário (com código do país). Este aplicativo usa o mesmo número de celular para enviar e receber um alerta SMS.

Em seguida, são declaradas variáveis ​​para as atribuições de pinos dos sensores de chama e gás, da campainha, do LED e do botão de pressão. Também é declarada uma variável para armazenar o status do alarme.

Na função setup , os pinos que conectam os sensores de chama e gás e o botão são configurados como entradas digitais. Os pinos que conectam a campainha e o LED são configurados como saídas digitais.

A campainha e o LED são desligados enviando um sinal ALTO. A taxa de transmissão é definida como 115.200 bps para enviar mensagens de depuração ao console. O ESP32 está conectado ao WiFi através das credenciais do usuário.

Na função loop , o ESP32 faz a leitura dos sinais dos sensores de chama e fumaça. Se uma leitura BAIXA for recebida de qualquer um dos sensores, o alarme será acionado por meio da função raiseAlarm . A função definida pelo usuário, send_whatsapp_message controla as notificações enviadas ao número do WhatsApp do usuário por meio da API Whatabot. A função definida pelo usuário, send_sms_alert, controla os alertas SMS enviados ao número de celular do usuário por meio da API Twilio. Estas notificações só são enviadas se o alarme de incêndio for acionado.

Resultados
Aqui estão as mensagens do console…

Aqui está uma demonstração em vídeo do funcionamento do alarme de incêndio.

contenido relacionado

Regresar al blog

Deja un comentario

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