Tabla de contenido:

MQTT / Google Home DoorBell con ESP-01: 6 pasos
MQTT / Google Home DoorBell con ESP-01: 6 pasos

Video: MQTT / Google Home DoorBell con ESP-01: 6 pasos

Video: MQTT / Google Home DoorBell con ESP-01: 6 pasos
Video: 453 Use your Arduino and ESP32/ESP8266 from your Smartphone. No Cloud! (RemoteXY) 2024, Noviembre
Anonim
MQTT / Google Home DoorBell con ESP-01
MQTT / Google Home DoorBell con ESP-01

¿Alguna vez te has perdido de contestar a un invitado que tocó el timbre de tu puerta solo porque estás en una parte de la casa que está demasiado lejos para escuchar el timbre de la puerta? como el sótano, el dormitorio con puertas cerradas, o tal vez estaba viendo la televisión o escuchando música.

Si, como yo, tiene uno o más altavoces domésticos de Google en varios lugares de su casa, este instructivo puede ser lo que necesita.

En este Instructable, le mostraré cómo agregar un cliente MQTT a un timbre de timbre existente para comunicarse con el bróker MQTT con un anuncio en google home / pushbullet, usando NodeRED. Este proyecto no reemplaza el interruptor del timbre ni el timbre. Todavía utiliza un pulsador mecánico regular para el timbre.

Agregaremos el módulo ESP-01 en el sistema de timbre de 16 VCA existente agregando la funcionalidad MQTT para enviar un mensaje al corredor MQTT (cuando se presiona el interruptor del timbre). El intermediario MQTT retransmitirá el mensaje a NodeRED. Al recibir el mensaje MQTT, NodeRED enviaría un anuncio a varios dispositivos domésticos de Google y también, opcionalmente, enviaría un mensaje al teléfono celular / navegador a través de pushbullet.

Me apasiona la domótica de bricolaje y, poco a poco, agrego IOT a mi hogar. Google Home ha sido una de las funciones centrales en mi domótica.

Mi hijo me dio la idea de este proyecto cuando me preguntó si podía hacer que Google Home anunciara cada vez que alguien tocaba el timbre. Tenemos casa de 2 pisos + sótano acabado, y muchas veces no pudimos escuchar el timbre cuando estamos en nuestro sótano o arriba en el dormitorio con la puerta cerrada o con la televisión encendida.

Tenemos 4 Google Home Mini en nuestra casa colocados en varios lugares / habitaciones, y al usar Google Homes para anunciar un timbre, sabemos inmediatamente en cualquier lugar de la casa si alguien toca el timbre.

En mi casa, uso RaspberryPi ZeroW para alojar el servidor Mosquitto MQTT y NodeRED. Ha estado funcionando durante más de un año sin ningún problema.

Referencias:

  • Diagramas de cableado del timbre:
  • Instale Mosquitto MQTT Broker en Raspberry Pi:
  • Instale NodeRED en Raspberry Pi:

Paso 1: Cree el circuito para conectar el ESP-01 y el timbre de puerta

Cree el circuito para conectar el ESP-01 y el timbre de puerta
Cree el circuito para conectar el ESP-01 y el timbre de puerta
Cree el circuito para conectar el ESP-01 y el timbre de puerta
Cree el circuito para conectar el ESP-01 y el timbre de puerta
Cree el circuito para conectar el ESP-01 y el timbre de puerta
Cree el circuito para conectar el ESP-01 y el timbre de puerta

El primer paso sería crear el circuito que sería la interfaz entre ESP-01 y Door Chime. El timbre de puerta típico se activa cuando hay 16 VCA entre los pines "TRANS (anterior)" y "DELANTERO / TRASERO", como se muestra en mi primera foto. El voltaje se presenta en esos pines cuando se presiona el botón del timbre.

El circuito que diseñé es para detectar esta señal de 16 VCA y convertirla en una señal digital de aproximadamente 3,3 VCC. Es un rectificador de media onda básico formado por D1 y C1. No necesitamos tener un rectificador de onda completa en esta situación, ya que hay muy poca carga en la salida de CC, lo que nos ahorra un poco de espacio en la placa. Quiero hacer el tablero lo menos posible para poder colocarlo dentro de mi timbre existente.

R1 y R2 forman un divisor de voltaje para reducir el voltaje máximo de CC a alrededor de 3.3V.

R3, TR1 y R4 forman un inversor para proporcionar lógica inversa para el ESP-01 GPIO-2. Esto es necesario para proporcionar lógica ALTA durante el arranque (con los pull-up R4 y R5) para que ESP-01 arranque desde flash. Cuando se presiona el pulsador del timbre, presenta lógica BAJA al GPIO-2. TR1 puede ser cualquier transistor NPN de pequeña potencia, en mi caso usé 2N3904.

El V1 es una fuente de alimentación de 3,3 V CC que construí con un cargador de teléfono móvil de 5 V antiguo junto con el regulador AMS1117 de 3,3 V CC que mostraré en el siguiente paso.

Para el zócalo ESP-01, utilizo un zócalo IC estándar de 8 pines, y corto los puentes de plástico que crean el espacio entre las filas, y luego pego las 2 filas juntas.

Paso 2: Fuente de alimentación de 3.3VDC para ESP-01

Fuente de alimentación de 3.3VDC para ESP-01
Fuente de alimentación de 3.3VDC para ESP-01
Fuente de alimentación de 3.3VDC para ESP-01
Fuente de alimentación de 3.3VDC para ESP-01
Fuente de alimentación de 3.3VDC para ESP-01
Fuente de alimentación de 3.3VDC para ESP-01

En este paso, construiremos la fuente de alimentación de 3.3VDC para el ESP-01. Tengo algunos viejos adaptadores de cargador USB de 500mA y 700mA 5VDC que reutilicé para este proyecto. También necesitamos un regulador de 3.3VDC para bajar el voltaje de 5V a 3.3V, para esto estoy usando un módulo regulador basado en AMS1117 preconstruido y barato que compré en eBay. Puede buscar "módulo 3.3V AMS1117" y encontrar lo que funcione para usted.

Este módulo regulador de 3.3V es muy pequeño y realmente puedo meterlo dentro de la carcasa del cargador USB de 5V original, lo que lo hace más seguro contra un posible cortocircuito. Quité las clavijas de pared de CA del módulo del cargador y las reemplacé con dos cables que se conectarán a 120 VCA de la pared detrás de mi timbre existente. Pero no quite las clavijas en este paso hasta que hagamos una prueba en el siguiente paso.

Si hay un tomacorriente de pared cerca, o si no se siente cómodo con el cableado de la fuente de alimentación directamente al cableado de la casa, opcionalmente puede simplemente enchufar la fuente de alimentación modificada al enchufe de la pared y ejecutar el cableado hasta el timbre, aunque Puede que no se vea tan limpio como conectarlo directamente al cableado de la casa.

Vea una de mis fotos para ver que detrás de mi timbre está el cableado de 120 VCA y el transformador de 16 VCA para el timbre.

La salida del regulador de 3.3V luego se conectaría a la placa de interfaz ESP-01 de acuerdo con el paso anterior.

Paso 3: flasheo del ESP-01

En este paso, flashearemos el ESP-01 con el boceto arduino. Si nunca ha actualizado el módulo ESP-01, puede seguir mis instrucciones para comenzar:

Puedes encontrar mi boceto en mi página de github:

En el boceto, como mínimo debe cambiar la siguiente información relacionada con su red / configuración 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";

En mi red doméstica, tengo 2 puntos de acceso diferentes que transmiten 2 SSID diferentes, y este esquema permitiría la redundancia al conectarse al siguiente SSID si se pierde la comunicación con el AP actual. Si solo tiene un SSID, complete ssid1 y ssid2 con el mismo valor.

Una vez que haya realizado la modificación, cargue el boceto en el ESP-01 y conecte el ESP-01 en la placa de interfaz.

Paso 4: ejecución de prueba

Prueba de funcionamiento
Prueba de funcionamiento
Prueba de funcionamiento
Prueba de funcionamiento
Prueba de funcionamiento
Prueba de funcionamiento

Desde el paso 1 hemos construido la placa de interfaz ESP-01, y desde el paso 2 tenemos la fuente de alimentación de 3,3 V para la placa ESP-01. Ahora conectamos la salida de la fuente de alimentación a la placa de acuerdo con el diagrama del circuito, que se muestra como V1.

Ahora, el siguiente paso es conectar los terminales de puerta / transmisión de timbre a las conexiones de la placa de interfaz que se muestran como "Terminales de timbre de puerta". Dado que mi timbre está montado en lo alto de una pared, para la prueba de funcionamiento, coloco temporalmente un par largo de cable desde los terminales del timbre hasta la placa para poder enchufar la fuente de alimentación.

Para probar si nuestro artilugio funciona, lo más fácil sería monitorear los mensajes MQTT en la red. Para hacer eso, debe abrir una sesión SSH al broker mosquitto y emitir el siguiente comando:

mosquitto_sub -v -t '#'

El comando anterior nos permitiría ver todos los mensajes MQTT que ingresan al corredor.

Ahora conecte la fuente de alimentación a la toma de corriente y, si todo funciona, en unos segundos debería ver al menos el siguiente mensaje MQTT:

stat / DoorBell / LWT en línea

Ahora dirígete afuera y toca el timbre, y deberías ver este mensaje:

tele / DoorBell ON

Si ve esos mensajes, su proyecto es un éxito.

También incluí varios temas útiles de MQTT en el boceto que puede usar:

"stat / DoorBellInfo": este mensaje se envía cada minuto para proporcionar tiempo de actividad y otra información.

"cmnd / DoorBellInfo": ESP-01 enviará información si recibe este tema con valor de '1' (ascii = 49) "cmnd / DoorBellCPUrestart": ESP-01 se reiniciará si recibe este tema con valor de '1 '(ascii = 49) "cmnd / DoorBellCPUreset": ESP-01 se reiniciará si recibe este tema con un valor de' 1 '(ascii = 49)

"tele / FrontDoorBell": ESP-01 enviará un mensaje en este tema con el valor de 'ON' si se presiona el timbre

Paso 5: integración de la placa y la fuente de alimentación en el timbre

Integración de la placa y la fuente de alimentación en el timbre
Integración de la placa y la fuente de alimentación en el timbre
Integración de la placa y la fuente de alimentación en el timbre
Integración de la placa y la fuente de alimentación en el timbre
Integración de la placa y la fuente de alimentación en el timbre
Integración de la placa y la fuente de alimentación en el timbre

Ahora que tenemos nuestra prueba de funcionamiento exitosa, necesitamos ensamblar la placa y la fuente de alimentación dentro de nuestro timbre de timbre (si es posible). En mi timbre existente, hay un recinto vacío que pude abrir y colocar la fuente de alimentación dentro de ese espacio. La placa ESP-01 no cabe dentro de ese pequeño espacio, pero aún cabe dentro de la caja de timbre general. Solo utilicé una cinta gruesa de doble cara para montar la placa de interfaz ESP-01.

Ahora podemos quitar las clavijas de metal de nuestro cargador USB y reemplazarlas con un cable más grueso que podamos conectar al cableado de la casa. Asegúrese de apagar el disyuntor que suministra electricidad al circuito del timbre.

Si no hay suficiente espacio para colocar nuestro proyecto en el timbre de la puerta existente, deberá colocarlo en una caja separada y montarlo cerca del timbre de la puerta.

Paso 6: toque final

Toque final
Toque final

Ahora que tenemos el proyecto funcionando y podemos publicar el mensaje MQTT para el corredor, el siguiente paso es pensar en una idea de qué hacer con eso.

En mi proyecto, uso Node-RED para escuchar / suscribirme a ese tema de timbre MQTT y anunciarlo a varios oradores de Google Home. Además de eso, también vinculé el flujo a un nodo pushbullet para enviar una notificación a mi teléfono Android para saber si alguien toca el timbre, incluso si no estoy en casa. La notificación Pushbullet no será útil para algunos, pero ha sido bastante útil para mí un par de veces, junto con una cámara de video en mi porche delantero, puedo ver quién vino a dejar las entregas (generalmente suenan el timbre de la puerta). No puedo confiar mucho en la función de detección de movimiento de la cámara debido a varias interferencias, en particular, las sombras en movimiento de los árboles.

La imagen de este paso muestra el flujo Node-RED para lograr esto. También puede pegar el flujo de mi página de github en su Node-RED:

El anuncio de Google Home es solo un ejemplo de este proyecto, pero creo que es el más útil y práctico. Siempre puede interactuar con otro oyente MQTT, o incluso usar IFTTT para controlar otros dispositivos al presionar el timbre.

Divertirse…

Recomendado: