Índice:
- Etapa 1: Crie o circuito para fazer a interface ESP-01 e o carrilhão da porta
- Etapa 2: Fonte de alimentação de 3,3 VCC para ESP-01
- Etapa 3: Atualizando o ESP-01
- Etapa 4: execução de teste
- Etapa 5: Integrando a placa e a fonte de alimentação no carrilhão
- Etapa 6: toque final
Vídeo: MQTT / Google Home DoorBell usando ESP-01: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Você já deixou de atender um hóspede que tocou a campainha só porque você está em uma parte da casa que é muito longe para ouvir a campainha? como porão, quarto com porta fechada ou talvez você estivesse assistindo TV ou ouvindo música.
Se, como eu, você tiver um ou mais alto-falantes domésticos do Google em vários locais da sua casa, talvez este seja o que você precisa.
Neste Instructable, irei mostrar a você como adicionar o cliente MQTT a um carrilhão de campainha existente para se comunicar com o corretor MQTT com anúncio para google home / pushbullet, usando NodeRED. Este projeto não substitui o interruptor da campainha nem o carrilhão. Ele ainda usa botão mecânico normal para a campainha.
Vamos adicionar o módulo ESP-01 ao sistema de campainha 16VAC existente, adicionando a funcionalidade MQTT para enviar mensagem ao corretor MQTT (quando o botão da campainha é pressionado). O broker MQTT retransmitiria a mensagem para NodeRED. Ao receber a mensagem MQTT, o NodeRED enviaria o anúncio para vários dispositivos domésticos do Google e também, opcionalmente, enviaria a mensagem para o celular / navegador via pushbullet.
Eu tenho uma paixão por automação residencial DIY e, lentamente, adicionando IOT à minha casa. O Google Home tem sido uma das funções centrais na minha automação residencial.
Meu filho me deu a ideia para este projeto quando me perguntou se eu posso fazer a home do google anunciar cada vez que alguém toca nossa campainha. Temos 2 andares + térreo em casa, e muitas vezes não conseguíamos ouvir o carrilhão quando estávamos em nosso porão ou no andar de cima em um quarto com a porta fechada ou com a TV ligada.
Temos 4 google home mini em nossa casa colocados em vários lugares / cômodos, e usando o google home para anunciar uma campainha, sabemos imediatamente em qualquer lugar da casa se alguém tocar a campainha.
Em minha casa, eu uso o RaspberryPi ZeroW para hospedar o servidor Mosquitto MQTT e o NodeRED. Está em execução há mais de um ano sem nenhum problema.
Referências:
- Diagramas de fiação da campainha:
- Instale o Mosquitto MQTT Broker no Raspberry Pi:
- Instale o NodeRED no Raspberry Pi:
Etapa 1: Crie o circuito para fazer a interface ESP-01 e o carrilhão da porta
O primeiro passo seria criar o circuito que seria a interface entre o ESP-01 e o carrilhão da porta. O carrilhão típico da porta é ativado quando há um 16VAC entre os pinos "TRANS (anterior)" e "FRONT / TRASEIRO", conforme mostrado na minha primeira foto. A voltagem se apresenta nesses pinos quando o botão da campainha é pressionado.
O circuito que projetei é para detectar esse sinal de 16 VCA e convertê-lo para cerca de um sinal digital de 3,3 VCC. É um retificador básico de meia onda formado por D1 e C1. Não precisamos ter um retificador de onda completa nesta situação, pois há muito pouca carga na saída CC, economizando um pouco de espaço na placa. Quero deixar o quadro o menos possível para que possa colocá-lo dentro do meu carrilhão existente.
R1 e R2 formam o divisor de tensão para reduzir a tensão CC de pico para cerca de 3,3V.
R3, TR1 e R4 formam um inversor para fornecer lógica reversa para o ESP-01 GPIO-2. Isso é necessário para fornecer a lógica ALTA durante a inicialização (com o pull-up R4 e R5) para o ESP-01 inicializar a partir do flash. Quando o botão da campainha é pressionado apresenta lógica LOW para o GPIO-2. TR1 pode ser qualquer transistor NPN de pequena potência, no meu caso usei 2N3904.
A V1 é uma fonte de alimentação de 3,3 VCC que construí usando um antigo carregador de celular de 5 V acoplado a um regulador de 3,3 VCC AMS1117 que mostrarei na próxima etapa.
Para o soquete ESP-01, eu uso um soquete IC padrão de 8 pinos, e corte as pontes de plástico que criam a lacuna entre as fileiras e, em seguida, colo as 2 fileiras.
Etapa 2: Fonte de alimentação de 3,3 VCC para ESP-01
Nesta etapa, iremos construir a fonte de alimentação de 3,3 VCC para o ESP-01. Eu tenho alguns adaptadores de carregador USB 5VDC de 500mA e 700mA que reaproveitei para este projeto. Também precisamos de um regulador de 3,3 VCC para diminuir a tensão de 5 V para 3,3 V, para isso estou usando um módulo regulador pré-construído barato baseado em AMS1117 que comprei no ebay. Você pode pesquisar por "módulo 3.3V AMS1117" e descobrir o que funciona para você.
Este módulo regulador de 3,3 V é muito pequeno e posso colocá-lo dentro da caixa do carregador USB de 5 V original, tornando-o mais seguro contra curto-circuito em potencial. Eu removi os pinos de parede CA do módulo do carregador e substituí-o por dois cabos que serão conectados a 120 VCA da parede atrás do meu carrilhão existente. Mas não remova os pinos nesta etapa até que façamos o teste na próxima etapa.
Se houver uma tomada de parede por perto, ou se você não se sentir confortável em conectar a fonte de alimentação diretamente à fiação da casa, você pode, opcionalmente, apenas conectar a fonte de alimentação modificada ao plugue da parede e passar o cabeamento ao carrilhão, embora pode não parecer tão limpo quanto conectá-lo diretamente à fiação da casa.
Veja uma das minhas fotos para ver que atrás do meu carrilhão está a fiação 120VAC e o transformador 16VAC para o carrilhão.
A saída do regulador de 3,3 V seria então conectada à placa de interface do ESP-01 de acordo com a etapa anterior.
Etapa 3: Atualizando o ESP-01
Nesta etapa, faremos um flash do ESP-01 com o esboço do arduino. Se você nunca atualizou o módulo ESP-01, pode seguir minhas instruções para começar:
Você pode encontrar meu esboço na minha página do github:
No esboço, você precisa, no mínimo, alterar as seguintes informações relativas à sua rede / configuração doméstica:
#define MQTT_SERVER "10.0.0.30" const char * ssid1 = "SSID"; const char * password1 = "MYSSIDpassword"; const char * ssid2 = "SSID1"; const char * password2 = "MYSSIDpassword";
Na minha rede doméstica, eu tenho 2 pontos de acesso diferentes que transmitem 2 SSIDs diferentes, e este esboço permitiria redundância conectando-se ao próximo SSID se a comunicação com o AP atual fosse perdida. Se você tiver apenas um SSID, preencha ssid1 e ssid2 com o mesmo valor.
Depois de fazer a modificação, carregue o esboço no ESP-01 e conecte o ESP-01 na placa de interface.
Etapa 4: execução de teste
Na etapa 1, construímos a placa de interface ESP-01 e, na etapa 2, temos a fonte de alimentação de 3,3 V para a placa ESP-01. Agora conectamos a saída da fonte de alimentação à placa de acordo com o diagrama do circuito, mostrado como V1.
Agora, a próxima etapa é conectar os terminais Trans / Porta do carrilhão às conexões da placa de interface mostradas como "Terminais do carrilhão da porta". Como meu carrilhão está montado no alto de uma parede, para o teste, passo temporariamente um longo par de cabos dos terminais do carrilhão até a placa para poder conectar a fonte de alimentação.
Para testar se nossa engenhoca funciona, o mais fácil seria monitorar mensagens MQTT na rede. Para fazer isso, você precisa abrir uma sessão SSH para o corretor mosquitto e emitir o seguinte comando:
mosquitto_sub -v -t '#'
O comando acima nos permitiria ver todas as mensagens MQTT chegando ao broker.
Agora conecte a fonte de alimentação à tomada da parede e, se tudo funcionar, em alguns segundos você deverá ver pelo menos a seguinte mensagem MQTT:
stat / DoorBell / LWT Online
Agora saia e toque a campainha, e você verá esta mensagem:
tele / campainha LIGADA
Se você vir essas mensagens, seu projeto é um sucesso.
Também incluí vários tópicos MQTT úteis no esboço que você pode usar:
"stat / DoorBellInfo": esta mensagem é enviada a cada minuto para fornecer tempo de atividade e outras informações.
"cmnd / DoorBellInfo": ESP-01 enviará informações se receber este tópico com valor de '1' (ascii = 49) "cmnd / DoorBellCPUrestart": ESP-01 será reiniciado se receber este tópico com valor de '1 '(ascii = 49) "cmnd / DoorBellCPUreset": ESP-01 será redefinido se receber este tópico com valor de' 1 '(ascii = 49)
"tele / FrontDoorBell": ESP-01 irá enviar mensagem neste tópico com valor de 'ON' se a campainha for pressionada
Etapa 5: Integrando a placa e a fonte de alimentação no carrilhão
Agora que nosso teste foi bem-sucedido, precisamos montar a placa e a fonte de alimentação dentro da campainha (se possível). No meu carrilhão existente, há um gabinete vazio que consegui cortar e abrir e colocar a fonte de alimentação dentro desse espaço. A placa ESP-01 não cabe naquele pequeno espaço, mas ainda cabe dentro da caixa geral de carrilhão. Acabei de usar uma fita dupla-face espessa para montar a placa de interface do ESP-01.
Agora podemos remover os pinos de metal de nosso carregador USB e substituí-los por um cabo mais grosso que podemos conectar à fiação da casa. Certifique-se de desligar o disjuntor que fornece eletricidade para o circuito do carrilhão.
Se não houver espaço suficiente para caber nosso projeto no carrilhão da porta existente, você precisará colocá-lo em uma caixa separada e montá-lo perto do carrilhão da porta.
Etapa 6: toque final
Agora que o projeto está funcionando e podemos publicar a mensagem MQTT para o broker, a próxima etapa é pensar em uma ideia o que fazer com isso.
Em meu projeto, eu uso o Node-RED para ouvir / assinar aquele tópico MQTT da campainha e anunciar para vários alto-falantes domésticos do Google. Além disso, também vinculei o fluxo a um nó de pushbullet para enviar notificação ao meu telefone android para que eu saiba se alguém toca a campainha, mesmo que eu não esteja em casa. Notificação pushbullet não é útil para alguns, mas tem sido muito útil algumas vezes para mim, juntamente com a câmera de vídeo na minha varanda, posso ver quem veio para entregar as entregas (geralmente eles tocam a campainha). Não posso confiar muito no recurso de detecção de movimento da câmera devido a várias interferências, principalmente sombras em movimento de árvores.
A imagem nesta etapa mostra o fluxo do Node-RED para fazer isso. Você também pode colar o fluxo da minha página do github em seu Node-RED:
O anúncio da página inicial do Google é apenas um exemplo para este projeto, mas acho que é o mais útil e prático. Você sempre pode fazer interface com outro ouvinte MQTT ou até mesmo usar o IFTTT para acionar outros dispositivos após o toque da campainha.
Divirta-se…
Recomendado:
Como fazer vários ESP falar via ESP-NOW usando ESP32 e ESP8266: 8 etapas
Como fazer vários ESP falarem via ESP-NOW usando ESP32 e ESP8266: No meu projeto em andamento, preciso de vários ESP para se comunicarem sem um roteador. Para fazer isso, estarei usando o ESP-NOW para fazer comunicação sem fio sem um roteador no ESP
MQTT / Google Home Flood / Water WIFI Sensor With ESP-01: 7 etapas
MQTT / Google Home Flood / Water WIFI Sensor With ESP-01: Neste instrutível, vou mostrar como construir um wi-fi de inundação / sensor de água com custo mínimo. Todo o projeto me custa menos de $ 8 para as peças que adquiro no ebay e minhas peças sobressalentes existentes. Neste projeto, usaremos ESP-01 para fornecer Wif
Primeiros passos com Esp 8266 Esp-01 com Arduino IDE - Instalando Placas Esp no Arduino Ide e Programando Esp: 4 Passos
Primeiros passos com Esp 8266 Esp-01 com Arduino IDE | Instalando placas Esp no Arduino Ide e programando Esp: Neste instructables, vamos aprender como instalar placas esp8266 no IDE Arduino e como programar esp-01 e fazer upload de código nele. Como as placas esp são tão populares, então pensei em corrigir um instructablesfor isso e a maioria das pessoas enfrentam problemas
Controle o ESP8266 a partir do Google Home usando GBridge.io: 4 etapas
Controle o ESP8266 no Google Home usando GBridge.io: Existem diferentes maneiras de controlar o ESP8266 no Google Home, mas a maioria das soluções que você pode encontrar na Internet usa IFTT, que não é muito fácil de configurar. gBridge.io permite tornar o processo mais fácil e agir perfeitamente.Neste guia de como fazer
ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 etapas
ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: Neste Instructable eu mostro como usei ESP-NOW na minha automação residencial. No esquema, você pode ver os fluxos de comunicação; eu mostro a você: como funciona o remetente; mostra o trabalho do receptor; mostra a comunicação serial com um Raspberry Pi;