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.

Related Content

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.