Guia Técnico Avançado: Detector de Presença com ESP8266

Detectores de presença são componentes críticos em sistemas de segurança e automação residencial. Este guia técnico detalha a construção de um detector usando o ESP8266 capaz de enviar notificações por e-mail em tempo real, combinando princípios de eletrônica, programaçãoSistema de controle de cortinas automatizadas com ESP8266Sistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética. embarcada e comunicação IoT. Você aprenderá desde a configuração do hardware até técnicas avançadas de integração com serviços de e-mail (SMTP), além de explorar aplicações escaláveis para ambientes residenciais, comerciais e industriais.

Aplicações Práticas:

Tabela de Conteúdo🔗

1. Componentes Necessários

2. Princípio de Funcionamento do Sensor PIRAlarme de segurança com ESP8266 e sensor de movimentoAlarme de segurança com ESP8266 e sensor de movimentoAprenda a construir um alarme de segurança com ESP8266 e sensor PIR. Configuração, programação e notificações via Telegram e SMS para proteger seu ambiente.

3. Montagem do CircuitoDetector de fumaça com ESP8266 e alarme sonoroDetector de fumaça com ESP8266 e alarme sonoroMonte um detector de fumaça inteligente com ESP8266 e MQ-2. Tutorial que ensina montagem, programação e integração IoT para sistemas residenciais.

4. Configuração do Serviço de E-mail

5. Programação do ESP8266Monitor de nível de água com ESP8266 para reservatóriosMonitor de nível de água com ESP8266 para reservatóriosAprenda a monitorar e gerenciar reservatórios com sensores, ESP8266 e integração IoT em aplicações agrícolas e residenciais, de forma prática e precisa.

6. Otimização do Sistema

7. Testes e Validação

8. Aplicações Avançadas

Componentes Necessários🔗

ComponenteEspecificações TécnicasFunção no Projeto
ESP8266 (NodeMCU)80MHz, 4MB Flash, Wi-Fi 802.11 b/g/nProcessamento e comunicação
Sensor PIR HC-SR501Ângulo: 110°, Alcance: 7mDetecção de movimento
Fonte de alimentação5V DC, 1AEnergia para o sistema
Protoboard e jumpers-Conexões elétricas
Resistor 10kΩ1/4WPull-down para sinal do PIR

Configuração Física:

graph LR A[ESP8266] -->|D2| PIR[PIR Sensor] A -->|3.3V| PIR A -->|GND| PIR E[Fonte 5V] -->|5V| A E -->|5V| PIR

Princípio de Funcionamento do Sensor PIR🔗

Sensores PIRAlarme de segurança com ESP8266 e sensor de movimentoAlarme de segurança com ESP8266 e sensor de movimentoAprenda a construir um alarme de segurança com ESP8266 e sensor PIR. Configuração, programação e notificações via Telegram e SMS para proteger seu ambiente. (Passive Infrared) detectam variações na radiação infravermelha emitida por corpos em movimento. O HC-SR501 utiliza dois elementos piroelétricos que geram tensão quando expostos a mudanças de calor:

$$ \Delta V = \frac{\partial P}{\partial t} \cdot d_{33} $$
  • Onde:
  • \( \Delta V \): Tensão gerada
  • \( P \): Polarização elétrica
  • \( d_{33} \): Coeficiente piezoelétrico

Ajustes Críticos:

  • Tempo de Retardo: Define a duração do sinal alto pós-detecção (0.3s a 5min).
  • Sensibilidade: Controla a distância de detecção (3m a 7m).

Funcionamento Prático:

1. O sensor analisa a radiação infravermelha ambiente.

2. Movimentos alteram o padrão térmico, gerando um sinal digital HIGH.

3. O ESP8266Sistema de automação residencial com ESP8266 e controle de luzesSistema de automação residencial com ESP8266 e controle de luzesEste tutorial aborda a implementação de automação residencial com ESP8266, destacando segurança, eficiência energética, integração MQTT e interface web. interpreta o sinal e aciona rotinas de notificação.

Montagem do Circuito🔗

graph LR subgraph NodeMCU [ESP8266 NodeMCU] D2[D2] V3[3V3] NMC_GND[GND] VIN[VIN] end subgraph PowerSupply [Power Supply] PS5V[5V] end PIR[PIR Module<br/> VCC, GND, OUT] %% Conexões do NodeMCU para o PIR (com resistor de 10kΩ no caminho da saída) D2 ---|10kΩ pulldown<br/>via PIR OUT| PIR V3 -->|3V3<br/>para PIR VCC| PIR NMC_GND -->|GND<br/>para PIR GND| PIR %% Conexões da Fonte de Alimentação PS5V -->|5V<br/>para NodeMCU VIN| VIN PS5V -->|5V<br/>para PIR VCC| PIR

Boas Práticas:

  • Posicione o sensor a 1.5-2m do chão.
  • Evite fontes de calor diretas (lâmpadas, janelas).
  • Use blindagem contra interferência eletromagnética.

Configuração do Serviço de E-mail🔗

Opção 1: SendGrid (Recomendado para Produção)

1. Crie uma conta em sendgrid.com.

2. Gere uma API Key com permissão de envio.

3. Verifique domínio para evitar bloqueios.

Parâmetros SMTP:

Servidor: smtp.sendgrid.net
Porta: 465 (SSL)
Autenticação: PLAIN

Opção 2: Gmail (Para Testes Rápidos)

1. Ative "Aplicativos menos seguros" ou gere uma senha de aplicativo.

2. Use a biblioteca ESP_Mail_Client para simplificar a integração.

Parâmetros SMTP:

Servidor: smtp.gmail.com
Porta: 465 (SSL)
Autenticação: PLAIN

Programação do ESP8266🔗

Exemplo 1: Usando SendGrid (Conexão Direta)

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
const char* ssid = "SUA_REDE";
const char* password = "SENHA_REDE";
const int pirPin = D2;
void sendEmailAlert() {
  WiFiClientSecure client;
  client.setInsecure(); // SSL sem certificado
  if (!client.connect("smtp.sendgrid.net", 465)) {
    Serial.println("Falha na conexão SMTP");
    return;
  }
  client.println("EHLO example.com");
  client.println("AUTH LOGIN");
  client.println("BASE64_API_KEY"); // API Key em Base64
  client.println("MAIL FROM:<[email protected]>");
  client.println("RCPT TO:<[email protected]>");
  client.println("DATA");
  client.println("From: ESP8266 <[email protected]>");
  client.println("Subject: Alerta de Movimento!");
  client.println("Movimento detectado em " + WiFi.localIP().toString());
  client.println(".");
}
void setup() {
  pinMode(pirPin, INPUT);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) delay(500);
}
void loop() {
  if (digitalRead(pirPin)) {
    sendEmailAlert();
    delay(30000); // Debounce de 30s
  }
}

Exemplo 2: Usando ESP_Mail_Client (Gmail)

#include <ESP_Mail_Client.h>
#define SMTP_HOST "smtp.gmail.com"
#define SMTP_PORT 465
#define AUTHOR_EMAIL "[email protected]"
#define AUTHOR_PASSWORD "senhaApp"
SMTPSession smtp;
void sendEmailAlert() {
  SMTP_Message message;
  message.sender.email = AUTHOR_EMAIL;
  message.subject = "ALERTA: Movimento Detectado!";
  message.addRecipient("Destinatário", "[email protected]");
  message.text.content = "Movimento detectado pelo sensor PIR.";
  if (!MailClient.sendMail(smtp, message)) {
    Serial.println("Falha no envio");
  }
}
void setup() {
  smtp.setLogin(SMTP_HOST, SMTP_PORT, AUTHOR_EMAIL, AUTHOR_PASSWORD);
  smtp.setSecure(true);
}

Otimização do Sistema🔗

1. EEPROM para Credenciais:

#include <EEPROM.h>
void saveCredentials(String ssid, String pass) {
  EEPROM.begin(512);
  EEPROM.put(0, ssid);
  EEPROM.put(128, pass);
  EEPROM.commit();
}

2. Fila de Mensagens:

  • Use um buffer circular para armazenar alertas durante falhas de conexão.

3. Conexão Segura:

client.setTrustAnchors(&cert); // Certificado raiz do SendGrid/Gmail

Testes e Validação🔗

Procedimentos:

1. Simule movimento com uma fonte de calor móvel.

2. Meça a latência entre detecção e recebimento do e-mail.

3. Teste a estabilidade em diferentes distâncias e ângulos.

Métricas de Desempenho:

ParâmetroValor Esperado
Latência de notificação< 15s
Alcance efetivo5m (ângulo 110°)
Consumo energético80mA (ativo)

Aplicações Avançadas🔗

1. Integração com TelegramDetector de movimento com ESP8266 para animais de estimaçãoDetector de movimento com ESP8266 para animais de estimaçãoDescubra como monitorar seus animais de estimação com IoT utilizando ESP8266 e sensores PIR, enviando alertas via Telegram, MQTT e muito mais.:

#include <UniversalTelegramBot.h>
void sendTelegramAlert() {
  bot.sendMessage(CHAT_ID, "⚠ Movimento detectado!");
}

2. Registro em Firebase:

#include <FirebaseESP8266.h>
void logToFirebase() {
  Firebase.setString("logs", "Movimento em " + getTime());
}

3. Sistema Multi-zona com MQTTSistema de controle de cortinas automatizadas com ESP8266Sistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética.:

4. Machine Learning para Anomalias:

  • Utilize bibliotecas como TensorFlow Lite para detectar padrões fora do comum.

Considerações Finais🔗

Este projeto serve como base para sistemas IoT complexos. Para ambientes críticos:

  • Implemente alimentação por bateria com painel solar.
  • Adicione criptografia TLS/SSL em todas as comunicações.
  • Utilize atualização OTA para manutenção remota.
  • Explore integrações com plataformas cloud (AWS IoT, Azure).

Combinando hardware acessível e programaçãoSistema de controle de cortinas automatizadas com ESP8266Sistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética. avançada, é possível criar soluções de segurança robustas e adaptáveis a diversas necessidades.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados