- Componentes necessários
- Diagrama de circuito
- Configuração IFTTT para campainha Wi-Fi
- Explicação do código
- Caixa impressa em 3D para campainha Smart Wi-Fi
- Testando a campainha Smart Wi-Fi
Hoje em dia, o sistema de segurança é um dos campos mais pesquisados e com o aumento das ameaças à segurança, as empresas estão lançando novos produtos de segurança inteligentes para combater essas ameaças. A IoT é uma vantagem adicional neste campo que pode desencadear automaticamente um evento, como chamar a polícia, corpo de bombeiros ou o seu vizinho, em caso de qualquer emergência. Anteriormente, construímos muitos sistemas de segurança como o sistema de monitoramento Raspberry Pi Visitor, câmera de vigilância por vídeo, campainha sem fio, alarme de segurança de porta baseado em IoT, etc. Hoje usaremos ESP32 e câmera para construir uma campainha Wi-Fi inteligente.
Em outro tutorial, aprendemos sobre ESP32-CAM e como usá-lo para streaming de vídeo, agora faremos uma campainha de vídeo Smart Wi-Fi usando ESP32-CAM. Esta campainha inteligente pode ser facilmente alimentada por uma tomada AC e sempre que alguém na porta apertar o botão da campainha, ela tocará uma música específica no seu telefone e enviará uma mensagem de texto com um link da página de streaming de vídeo onde você pode ver a pessoa em a porta de qualquer lugar do mundo.
Componentes necessários
- ESP32-CAM
- Placa de Programação FTDI
- Conversor 220V AC para 5V DC
- Buzzer
- Botão de apertar
- LED (2)
Diagrama de circuito
O diagrama do circuito para esta campainha Smart Wi-Fi é muito simples, basta conectar dois LEDs, um botão e uma campainha aos pinos GPIO ESP32. Uma campainha é usada para emitir um som sempre que o botão é pressionado. Um LED é usado para indicar o status de energia e o outro LED é usado para indicar o status da rede. O LED da rede estará em um estado alto se o ESP estiver conectado a uma rede, caso contrário, ele piscará.
Esta é a aparência da configuração da campainha de vídeo Wi-Fi na caixa impressa em 3D:
Configuração IFTTT para campainha Wi-Fi
IFTTT é um serviço gratuito baseado na web que permite aos usuários criar cadeias de declarações condicionais simples, chamadas de “receitas”, que são acionadas com base em alterações em outros serviços da web, como Gmail, Facebook, Instagram e. IFTTT é uma abreviatura de “If This Then That”.
Neste projeto, o IFTTT é utilizado para enviar um e-mail sempre que a temperatura ou umidade ultrapassar um limite pré-definido. Anteriormente, usamos IFTTT em muitos projetos baseados em IoT para enviar e-mails ou SMS sobre eventos específicos, como consumo excessivo de eletricidade, pulso alto, entrada de intruso, etc.
Primeiro faça login no IFTTT com suas credenciais ou cadastre - se se você não tiver uma conta nele.
Agora procure por 'Webhooks' e clique na seção Webhooks em serviços.
Agora, na janela Webhooks, clique em 'Documentação' no canto superior direito para obter a chave privada.
Copie esta chave. Ele será usado no programa.
Após obter a chave privada, agora criaremos um miniaplicativo usando Webhooks e serviços de e-mail. Para criar um miniaplicativo, clique no seu perfil e, em seguida, clique em ' Criar. '
Agora, na próxima janela, clique no ícone 'Este' .
Agora procure Webhooks na seção de pesquisa e clique em ' Webhooks. '
Agora escolha a trigger ' Receber um Web Request' e na próxima janela, insira o nome do evento como button_pressed e clique em criar uma trigger.
Agora, para completar o miniaplicativo, clique em 'Aquele' para criar uma reação para o evento button_pressed .
Aqui, reproduziremos uma música específica no telefone quando o botão da campainha IoT for pressionado. Para isso, procure por 'dispositivo Android' na seção de pesquisa.
Agora no dispositivo Android, escolha o gatilho ' Reproduzir uma música específica' .
Agora digite o título da música que você deseja tocar quando o botão da campainha for pressionado. No meu caso, estou tocando uma música chamada '123' no Google Play Music. Você também pode usar o Spotify ou outros aplicativos de música.
Depois disso, clique em ' Criar ação' e em 'Concluir' para concluir o processo.
Agora crie outro miniaplicativo para enviar uma mensagem com o link da página da web para o telefone quando o botão da campainha for pressionado.
Portanto, para criar este miniaplicativo, escolha ' Webhooks ' na seção ' esta ' e na seção 'aquela' escolha ' SMS Android .'
Agora, ele pedirá para inserir o número do telefone e o corpo da mensagem. Para este projeto de campainha Wi-Fi, estamos enviando uma mensagem com o link do servidor Web para que você possa ver o vídeo ao vivo diretamente.
Explicação do código
O código completo com o vídeo para esta câmera de campainha Wi-Fi é fornecido no final deste documento. Também pode ser baixado aqui. Abaixo, explicamos algumas partes importantes do código.
Primeiro, inclua todos os arquivos de biblioteca necessários para este código.
#include "esp_camera.h" #include
Em seguida, insira as credenciais do Wi-Fi.
const char * ssid = "Nome do Wi-Fi"; const char * password = "Senha Wi-Fi";
Depois disso, insira o nome do host IFTTT e a chave privada que você copiou do site IFTTT.
const char * host = "maker.ifttt.com"; const char * privateKey = "Sua chave privada";
Defina todos os pinos que você está usando neste projeto. Estou usando os pinos GPIO 2, 14 e 15 para conectar o botão, LED e campainha.
const int buttonPin = 2; const int led1 = 14; const int buzzer = 15;
Dentro do loop de configuração vazio , defina o pino do botão como entrada e os pinos do LED e da campainha como saída.
void setup () {pinMode (buttonPin, INPUT); pinMode (led1, OUTPUT); pinMode (buzzer, OUTPUT);
Ele tentará se conectar ao Wi-Fi usando as credenciais fornecidas e, quando conectado a uma rede, o estado do LED mudará de baixo para alto.
WiFi.begin (ssid, senha); led int = LOW; enquanto (WiFi.status ()! = WL_CONNECTED) {atraso (500); Serial.print ("."); digitalWrite (led1, led); led =! led; } Serial.println (""); Serial.println ("WiFi conectado"); digitalWrite (led1, HIGH);
Enquanto estiver desconectado de uma rede, o ESP32 será reiniciado até se conectar a uma rede.
while (WiFi.status () == WL_DISCONNECTED) {ESP.restart (); digitalWrite (led1, LOW); Serial.print ("Conexão perdida");
O ESP32 irá ler o estado do botão, e se o botão estiver no estado LOW (puxado para cima), ou seja, um botão foi pressionado, ele envia o evento e liga a campainha por 3 segundos.
leitura interna = digitalRead (buttonPin); if (buttonState == LOW) {send_event ("button_pressed"); Serial.print ("botão pressionado"); digitalWrite (campainha, ALTO); atraso (3000); digitalWrite (campainha, LOW);
Caixa impressa em 3D para campainha Smart Wi-Fi
Aqui eu projetei uma caixa impressa em 3D para esta câmera de campainha sem fio. Para isso, medi as dimensões da placa ESP32, botão, campainha e LED usando meu compasso de calibre vernier e o design ficou mais ou menos assim abaixo quando foi feito.
Depois disso, eu exportei como um arquivo STL, cortei com base nas configurações da impressora e, finalmente, imprimi. O arquivo STL está disponível para download no Thingiverse e você pode imprimir seu próprio gabinete usando-o.
Depois de imprimir o case, montei o circuito no meu case e tudo se encaixou bem, como vocês podem ver aqui.
Se você quiser saber mais sobre uma impressora 3D e como ela funciona, você pode ler este artigo no Guia para Iniciantes de Introdução à Impressão 3D e também pode verificar nossos outros projetos onde usamos invólucros impressos em 3D como Robô Bípede, Braço Robótico, etc.
Testando a campainha Smart Wi-Fi
Depois de montar o circuito, ligue a campainha usando um soquete CA. Agora, sempre que o botão da campainha IoT é pressionado, o smartphone começa a tocar uma música chamada '123' e uma mensagem será recebida com um link de uma página da web conforme mostrado abaixo, onde o feed de vídeo ao vivo pode ser visto.
O código completo e o vídeo de trabalho para esta campainha Smart Wi-Fi podem ser encontrados no final do documento ou você pode baixar o código aqui. Se você tiver alguma dúvida sobre este projeto, deixe-a na seção de comentários.