Já ficou curioso em saber se o carteiro realmente tentou fazer uma entrega, mora em uma casa onde a campainha não pode ser ouvida em todos os cômodos ou deseja ser avisado que alguém está na porta mas não quer tomar um susto com o barulho? Neste post veremos uma solução para esses problemas, uma campainha inteligente que envia uma mensagem para o seu celular toda vez que é apertada.
Materiais Necessários para Campainha Inteligente
Para montagem desse projeto serão necessários os seguintes componentes:
Circuito
A montagem desse projeto é extremamente simples, as conexões podem ser vistas no esquema abaixo. A fonte pode ser ligada ao conector micro USB do Wemos D1 mini ou ser conectada diretamente nos pinos GND e de 5V.
O pushbutton representa o botão usado para acionar a campainha. Os fios que estavam conectados ao botão da campainha agora devem ser ligados ao relé, caso não queira mais ouvir o barulho da sua campainha basta não utilizar o relé e isolar a Fase e o Retorno da Campainha.
Configuração do Telegram
Já abordamos aqui no blog como criar um Robô no Telegram para o ESP32 no post “Controle seu ESP32 usando Telegram“. Para o nosso projeto, basta criar uma conta e seguir os passos apresentados na seção “Criação de um Bot Telegram para o ESP32” do post citado anteriormente. Precisamos também obter a nossa Chat ID do Telegram, para isso, basta enviar /getid para @myidbot.
Código
Utilizaremos apenas a biblioteca Universal Telegram Bot, que pode ser encontrada no Gerenciador de Bibliotecas da Arduino IDE.
Antes de fazer upload do código no ESP, basta substituir o nome e senha da sua rede WiFi, assim como o Token e Chat ID obtido durante a configuração no Robô no Telegram.
/* #-----------------------# | CAMPAINHA | | INTELIGENTE | | Ítalo Coelho | #-----------------------# */ #define MySSID "insira-aqui-o-nome-do-wifi" #define MyWifiPassword "insira-aqui-a-senha-do-wifi" #define CHAT_ID "insira-aqui-o-chat-id" #define BOT_TOKEN "insira-aqui-o-bot-token" #define relayPin D3 #define buttonPin D8 #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <WiFiClientSecure.h> #include <UniversalTelegramBot.h> ESP8266WiFiMulti WiFiMulti; WiFiClientSecure secured_client; X509List cert(TELEGRAM_CERTIFICATE_ROOT); UniversalTelegramBot bot(BOT_TOKEN, secured_client); void setup() { pinMode(relayPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); WiFi.mode(WIFI_STA); WiFiMulti.addAP(MySSID, MyWifiPassword); while(WiFiMulti.run() != WL_CONNECTED) { delay(500); } configTime(0, 0, "pool.ntp.org"); secured_client.setTrustAnchors(&cert); } void loop() { static uint64_t then = millis(); if(millis() - then >= 5000) { if(!digitalRead(buttonPin)) { digitalWrite(relayPin, HIGH); delay(1000); digitalWrite(relayPin, LOW); bot.sendMessage(CHAT_ID, "Alguem esta na porta!", ""); then = millis(); } } }
Utilização da Campainha Inteligente
Com tudo montado, basta entrar na conversa com o seu robô do Telegram e digitar /start. Sempre que alguém apertar sua campainha uma mensagem será enviada para o seu smartphone. Você pode usar esse projeto como base para criar outras maneiras de ser notificado quando alguém apertar a campainha como, por exemplo, piscar uma lâmpada ou mudar a cor de uma fita de LED.
Gostou de aprender como fazer uma Campainha Inteligente?
Se você tiver dúvidas, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.
Gostei muito do conteúdo deste post, parabéns aos envolvidos!