Tutorial ESP32: Conectividade Wi-Fi e Sistema de Alarme
Sensor Magnético com ESP32: Segurança e Automação IoT
Os sensores magnéticos de porta e janela são componentes essenciais📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada. em sistemas de segurança residencial e comercial. Eles permitem detectar quando uma porta ou janela é aberta, acionando alarmes ou notificações. Neste artigo, vamos explorar em profundidade como integrar esses sensores com o ESP32, criando um sistema eficiente de monitoramento.
Introdução aos Sensores Magnéticos🔗
Os sensores magnéticosSelecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência., também conhecidos como interruptores magnéticos ou reed switches, consistem em dois componentes principais:
1. Interruptor Magnético (Reed Switch): É um pequeno dispositivo que contém duas lâminas de metal que se aproximam ou se afastam na presença de um campo magnético.
2. Ímã Permanente: Este ímã aciona o interruptor magnético, fechando ou abrindo o circuito conforme a proximidade.
Quando o ímã está próximo ao reed switch, o campo magnético faz com que as lâminas metálicas se aproximem, fechando o circuito. Ao afastar o ímã, o circuito é aberto.
Funcionamento Básico
- Porta/Janelas Fechadas: O ímã está próximo ao reed switch, circuito fechado.
- Porta/Janelas Abertas: O ímã se afasta, circuito aberto.
Essa mudança no estado do circuito pode ser facilmente detectada pelo ESP32O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.
Componentes Necessários🔗
Para este projeto, vamos precisar dos seguintes componentes📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT.:
- ESP32 DevKit V1
⏲ Temporizador Universal com Controle por NFCDescubra como integrar NFC e ESP32 em sistemas inteligentes para controle de dispositivos residenciais e industriais garantindo automação, segurança e precisão.
- Sensor Magnético
Aprimorando o Sistema de Alarme com Sensores AdicionaisDescubra como aprimorar sistemas de alarme com ESP32 adicionando sensores como magnéticos, de fumaça, vibração e ultrassônico, garantindo segurança máxima. de Porta/Janela
- Resistor Pull-up de 10kΩ
- Protoboard
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! e Jumpers
Montando o Circuito🔗
Antes de começarmos a programar, é importante montar o circuito corretamente.
Conexão do Sensor Magnético
O sensor magnéticoAprimorando o Sistema de Alarme com Sensores AdicionaisDescubra como aprimorar sistemas de alarme com ESP32 adicionando sensores como magnéticos, de fumaça, vibração e ultrassônico, garantindo segurança máxima. funciona basicamente como um interruptor. Vamos conectá-lo ao ESP32 da seguinte forma:
1. Terminal 1 do Reed Switch: Conecte ao pino GPIOInteração com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. do ESP32 (por exemplo, GPIO 15).
2. Terminal 2 do Reed Switch: Conecte ao GND do ESP32O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.
3. Resistor Pull-up de 10kΩ: Conecte um lado ao pino GPIOInteração com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. (mesmo pino onde o reed switch está conectado) e o outro lado ao VCC (3.3V) do ESP32.
Esquema do Circuito
O resistor pull-up é fundamental para garantir que o pino GPIOInteração com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. não fique em estado flutuante quando o circuito está aberto.
Entendendo Resistor Pull-up🔗
Um resistor pull-up é usado para garantir que o pino de entrada tenha um estado definido (alto) quando o interruptor está aberto. Sem ele, o pino poderia captar interferências📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. e apresentar leituras erráticas.
Por que 10kΩ?
O valor de 10kΩ é comumente usado porque fornece uma resistência suficiente para manter o pino em nível alto sem consumir muita correnteDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!.
Programando o ESP32🔗
Agora que o circuito está montado, vamos programar o ESP32 para ler o estado do sensorProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. e realizar ações com base nisso.
Configurando o Ambiente
Certifique-se de que você tem o Arduino IDE instalado com as configuraçõesInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns. para o ESP32.
Código Básico
Vamos começar com um código simples que lê o estado do sensor e imprime no monitor serialConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização..
#define SENSOR_PIN 15
void setup()
{
Serial.begin(115200);
pinMode(SENSOR_PIN, INPUT_PULLUP);
}
void loop()
{
int sensorValue = digitalRead(SENSOR_PIN);
if (sensorValue == LOW)
{
Serial.println("Porta/Janela ABERTA!");
}
else
{
Serial.println("Porta/Janela FECHADA.");
}
delay(1000);
}
Explicação do Código
- Definição do SENSOR_PIN: Estamos usando o GPIO 15 para conectar o sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código..
- Função
setup()
:- Inicializamos a comunicação serial
Enviando Dados do ESP32 para o ArduinoDescubra como enviar dados do ESP32 para o Arduino com comunicação serial simples e robusta, garantindo integração e monitoramento em tempo real. a 115200 baud.
- Configuramos o pino do sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. como entrada com pull-up interno.
- Inicializamos a comunicação serial
- Função
loop()
:- Lemos o estado do sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código..
- Se o valor for LOW, significa que o circuito está fechado (porta/janela fechada).
- Se o valor for HIGH, o circuito está aberto (porta/janela aberta).
- Imprimimos no monitor serial
Configurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização. o estado atual.
- Adicionamos um delay de 1 segundo para evitar flooding de mensagens.
- Lemos o estado do sensor
Notas Importantes
- Uso de INPUT_PULLUP: O ESP32 possui resistores pull-up internos que podem ser ativados usando esta configuração
Instalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns., dispensando o resistor externo em alguns casos.
- Inversão de Lógica: Com o pull-up, quando o circuito está fechado, o pino lê LOW.
Testando o Sistema🔗
Após carregar o códigoDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! no ESP32:
2. Observe as mensagens ao abrir e fechar a porta ou janela.
3. Certifique-se de que as mensagens correspondem ao estado físico do sensorProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código..
Integrando com uma Sirene🔗
Vamos adicionar uma sireneSelecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência. ao sistema que será acionada quando a porta ou janela for aberta.
Componentes Adicionais
- Buzzer Piezoelétrico ou Sirene
Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência.
- Transistor NPN
Adicionando Sirene e LEDs ao Sistema de Alarme com ESP32Integre sirene e LEDs ao sistema de alarme ESP32 com alertas visuais e sonoros que elevam a segurança e garantem resposta imediata a intrusões. (por exemplo, 2N2222)
- Resistor de 1kΩ
Circuito da Sirene
1. Coletor do Transistor: Conecte ao negativo do buzzer.
2. Emissor do Transistor: Conecte ao GND do ESP32O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.
3. Base do Transistor: Conecte ao pino GPIOInteração com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. definido (por exemplo, GPIO 14) através de um resistor de 1kΩ.
4. Positivo do Buzzer: Conecte ao VCCConectando Sensores de Movimento PIR ao ESP32Aprenda a integrar sensores PIR com ESP32 neste tutorial completo, explorando montagem, ajustes e programação na Arduino IDE. (5V ou 3.3V, conforme especificação do buzzer).
Código Atualizado
#define SENSOR_PIN 15
#define BUZZER_PIN 14
void setup()
{
Serial.begin(115200);
pinMode(SENSOR_PIN, INPUT_PULLUP);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(BUZZER_PIN, LOW);
}
void loop()
{
int sensorValue = digitalRead(SENSOR_PIN);
if (sensorValue == LOW)
{
Serial.println("Porta/Janela ABERTA!");
digitalWrite(BUZZER_PIN, HIGH);
}
else
{
Serial.println("Porta/Janela FECHADA.");
digitalWrite(BUZZER_PIN, LOW);
}
delay(1000);
}
Explicação Adicional
- Controle do Buzzer: Quando a porta/janela está aberta, o buzzer é acionado.
- Transistor NPN
Adicionando Sirene e LEDs ao Sistema de Alarme com ESP32Integre sirene e LEDs ao sistema de alarme ESP32 com alertas visuais e sonoros que elevam a segurança e garantem resposta imediata a intrusões.: Usado para controlar a corrente
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! que vai para o buzzer, já que o ESP32 não suporta correntes altas diretamente em seus pinos.
Enviando Notificações via Wi-Fi🔗
Vamos melhorar nosso sistema para enviar notificações ao smartphone quando a porta ou janela for aberta.
Utilizando o Blynk
O Blynk é uma plataforma que permite controlar e monitorar dispositivos IoTIntegração do ESP32 com Plataformas de Automação Residencial (ex: Home Assistant)Aprenda a integrar o ESP32 com Home Assistant de forma prática e segura, configurando Wi-Fi, MQTT, sensores e atuadores para uma casa inteligente..
Configurando o Blynk
1. Baixe o aplicativo Blynk no seu smartphone.
2. Crie um novo projeto e anote o Auth TokenSegurança e Autenticação em APPsDescubra estratégias essenciais para implementar HTTPS, autenticação JWT e segurança robusta em APPs conectados ao ESP32 para IoT..
3. Adicione um widget de notificação.
Código com Blynk
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define SENSOR_PIN 15
#define BUZZER_PIN 14
char auth[] = "SEU_AUTH_TOKEN";
char ssid[] = "SUA_REDE_WIFI";
char pass[] = "SUA_SENHA_WIFI";
void setup()
{
Serial.begin(115200);
pinMode(SENSOR_PIN, INPUT_PULLUP);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(BUZZER_PIN, LOW);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
int sensorValue = digitalRead(SENSOR_PIN);
if (sensorValue == LOW)
{
Serial.println("Porta/Janela ABERTA!");
digitalWrite(BUZZER_PIN, HIGH);
Blynk.notify("Alerta: Porta/Janela Aberta!");
}
else
{
Serial.println("Porta/Janela FECHADA.");
digitalWrite(BUZZER_PIN, LOW);
}
delay(1000);
}
Considerações
- Incluindo Bibliotecas
Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP.: Necessitamos das bibliotecas
Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP. do Blynk e WiFi.
- Autenticação
Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados.: Substitua o
auth
,ssid
eConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização.
pass
pelas suas informações. - Função
Blynk.run()
: Deve ser chamada constantemente no loop principalHospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP..
- Notificações: Ao detectar a abertura, enviamos uma notificação para o smartphone.
Segurança na Comunicação🔗
Ao conectar o ESP32 à internet, é importante considerar aspectos de segurançaSegurança em MQTT: Autenticação e Criptografia no ESP32Descubra como proteger conexões MQTT em aplicações IoT com ESP32, implementando autenticação e criptografia TLS para segurança máxima. para evitar acessos não autorizados.
Protocolos Seguros
- HTTPS
Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados.: Utilize protocolos seguros para comunicação.
- Criptografia
Segurança em MQTT: Autenticação e Criptografia no ESP32Descubra como proteger conexões MQTT em aplicações IoT com ESP32, implementando autenticação e criptografia TLS para segurança máxima.: Considere criptografar os dados enviados.
Boas Práticas
- Atualizações: Mantenha o firmware
📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada. atualizado.
- Senhas Fortes
Segurança Básica para seu Web Server com ESP32Proteja seu web server com ESP32 aplicando práticas essenciais: atualize o firmware, configure HTTPS, use autenticação forte e restrinja acessos indesejados.: Utilize senhas
Configurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização. complexas para o Wi-Fi e serviços.
Expansão do Sistema🔗
Este sistema pode ser ampliado para monitorar múltiplas portas e janelas.
Múltiplos Sensores
- Utilize diferentes pinos GPIO
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. para cada sensor.
- Modifique o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! para ler cada sensor individualmente.
Identificação de Portas/Janelas
- Atribua nomes ou IDs para cada sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código..
- Envie notificações específicas para cada ponto monitorado.
Alimentação por Bateria🔗
Para maior confiabilidade, considere alimentar o sistema com baterias e implementar opções de economia de energia📱 Controlador Universal para Experimentos FísicosDescubra o controlador ESP32 que revoluciona experimentos físicos integrando sensores, comunicação BLE e processamento em tempo real para educação STEM..
ESP32 em Modo Deep Sleep
O ESP32 pode ser configurado para entrar em modo de baixo consumo🔑 Autenticador Físico 2FA com E-InkDescubra como os autenticadores físicos com display E-Ink garantem segurança 2FA offline, unindo durabilidade e baixa energia. Inove agora..
Exemplo
if (sensorValue == LOW)
{
// Ação quando a porta/janela é aberta
}
else
{
// Coloca o ESP32 em deep sleep
esp_sleep_enable_ext0_wakeup(GPIO_NUM_15, 0);
esp_deep_sleep_start();
}
Considerações de Energia
- Sensores Magnéticos
Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência.: Consomem pouca energia, ideais para sistemas a bateria.
- Despertar pelo Sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código.: Configure o ESP32 para acordar apenas quando o sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. detectar uma mudança.
Solução de Problemas🔗
Sensor Não Detecta Mudanças
- Verifique as Conexões: Certifique-se de que todos os fios estão conectados corretamente.
- Teste o Sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código.: Utilize um multímetro para verificar o funcionamento do reed switch.
ESP32 Não Conecta ao Wi-Fi
- Credenciais: Verifique se SSID e senha
Configurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização. estão corretos.
- Intensidade do Sinal: Certifique-se de que o ESP32 está dentro do alcance
Comparação Rápida: Alcance, consumo de energia, custos e complexidade de cada tecnologiaGuia completo sobre conectividade ESP32: análise das 10 principais tecnologias sem fio em termos de alcance, consumo, e custo. Leia e descubra! do roteador.
Conclusão🔗
Integrar sensores magnéticos de porta e janela com o ESP32 é uma maneira eficaz de criar sistemas de segurança🔒 Sistema de Bike Sharing com Trava EletrônicaDescubra como implementar um sistema de bike sharing com ESP32, integrando NFC, cobrança automática e recursos de segurança para cidades inteligentes. personalizados. Com a capacidade de enviar notificações em tempo real e acionar alarmes, você pode monitorar seu ambiente de forma confiável. Além disso, a possibilidade de expansão e integração com outros dispositivos IoT abre um leque de oportunidades para projetos futuros.
Próximos Passos🔗
- Adicionar Sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. Adicionais: Integre sensores de movimento
Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência. ou fumaça.
- Interface Web
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade.: Crie um servidor web no ESP32
Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP. para monitoramento via navegador.
- Integração
Integração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. com Assistentes Virtuais: Conecte o sistema com Amazon Alexa ou Google Assistant para controle por voz
🌀 Escultura Cinética Controlada por VozDescubra como integrar hardware, TensorFlow Lite e controle de motores para criar uma escultura cinética interativa e cheia de inovações tecnológicas..
Lembre-se sempre de considerar os aspectos de segurançaSegurança em MQTT: Autenticação e Criptografia no ESP32Descubra como proteger conexões MQTT em aplicações IoT com ESP32, implementando autenticação e criptografia TLS para segurança máxima. e privacidade ao desenvolver sistemas conectados à internet. Com planejamento e cuidado, é possível criar soluções robustas e eficientes para 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🔗
- Arduino IDE Official Website: arduino.cc
- Documentação da Espressif: docs.espressif.com
- Documentação de Apresentação do ESP32: espressif.com/en/products/socs/esp32
- Documentação do ESP32 Arduino Core: docs.espressif.com/projects/arduino-esp32
- Repositório do ESP32 Arduino Core: github.com/espressif/arduino-esp32