Domotizando telefonillo (Parte 1. Hardware)

Introducción

Se plantea como objetivo la domotización de un telefonillo común. El objetivo es permitir realizar la apertura de la puerta del portal desde el teléfono móvil, tablet o cualquier dispositivo con la aplicación Home Assistant, junto con esto se procederá a la integración de este dispositivo en HomeKit y en Google Home o Alexa.

La domotización se inicia con una necesaria investigación sobre el funcionamiento de los tipos de telefonillos y su funcionamiento y específicamente el modelo que se utilizará, aunque el sistema debe ser extendible a todos los tipos de telefonillo.

Para realizarlo se utilizará una placa de desarrollo ESP32 junto con otros componentes según lo requiera el proyecto.

Funcionamiento del telefonillo

El dispositivo instalado es un modelo muy habitual en la mayoría de casas, Fermax CITYMAX basic blanco 80447 y su funcionamiento se realiza mediante cinco hilos a través de los que llegan las diferentes señales.

Telefonillo CITYMAX basic blanco

Para poder establecer su funcionamiento, es necesario desmontar el dispositivo y acceder a la conexión con la centralita del telefonillo para determinar de que forma llegan las diferentes señales al dispositivo.

Los elementos básicos del telefonillo son el conmutador que determina si el auricular se encuentra colgado en su posición o fuera de su sitio, este se encuentra en la parte superior izquierda y se activa mediante una palanca de presión cuando el auricular se encuentra en su posición. Mientras se encuentra colgado se recibe el tono de llamada al pulsar el botón en el portal, en caso de que no se encuentre colgado no se produce el tono de llamada.

Interior del telefonillo y panel de conexión

En la parte derecha, encontramos un pequeño panel de conexión cableado de color blanco con 4 hilos para la conexión del auricular en la parte inferior.

En la parte derecha, una palanca metálica que actúa de pulsador al activar el botón del dispositivo y que activa el sistema de apertura de puerta.

En la parte inferior, en verde, la conexión del cableado con la centralita del edificio, es este el punto que hay que analizar adecuadamente para determinar la funcionalidad de cada hilo y determinar la forma en la que se realizará la domotización.

Para identificar cada cable, nos hemos remitido a las instrucciones oficiales de Fermax disponibles en el siguiente enlace: https://intranet.fermax.com/Archivos/22074/94120b%20Telefono%20Universal%20%20Citymax%20Ref%208039%20V04_12.pdf

Con este esquema ya podemos determinar que terminales nos interesan y cual es el funcionamiento de este tipo de dispositivos, existe un hilo común con el neutro que es el número 3.

  • Hilo 1: ejerce de abrepuertas y cuando el telefonillo se encuentra descolgado provee de alimentación al micrófono de condensador que utiliza el dispotivo.
  • Hilo 2: conexión del micrófono del dispositivo.
  • Hilo 3: masa común o hilo común (neutro).
  • Hilo 4: terminal de llamada.
  • Hilo 5: altavoz del dispositivo.

En nuestro caso, el dispositivo se encuentra en modo ‘llamada analógica’, lo que implica que los hilos 4 y 5 están compartidos ya que es el altavoz del auricular el que produce el sonido de llamada. En caso de estar en modo electrónico, estaría diferenciado y posiblemente contaría con algún dispositivo para generar el sonido de la llamada independiente del altavoz. A pesar de esto, no debería afectar al proyecto que estamos realizando.

Con esta información ya tenemos claro que la apertura de la puerta se realiza simplemente puenteando los hilos 1 (abrepuertas) y 3 (hilo común) por lo tanto ya podemos establecer que para la apertura de la puerta necesitamos hacer uso de un relé conectado a nuestra placa.

En cuanto a la señal de llamada, resulta necesario determinar como se genera y que forma tiene para poder diseñar un dispositivo para capturar esa señal y poder notificar la llamada a Home Assistant y resto de sistema domótico.

Procedemos a la medición con un polímetro en los terminales 3 y 4 mientras se pulsa el botón de llamada en el portal. Aunque en las especificaciones, este dispositivo trabaja entre 8 y 24 v se obtiene un voltaje de 1,8v en estos terminales. Parece que la señal tiene la frecuencia del tono de llamada que se genera por el altavoz. Al no disponer de un osciloscopio no se puede verificar esta deducción pero parece lo más razonable.

Una vez determinado sobre que hilos se debe actuar y la señal que se obtiene en cuando se realiza la llamada, pasamos a determinar los componentes que necesitamos para realizar este proyecto.

Materiales utilizados

  • 1x Placa de desarrollo ESP32. Optamos por una placa de AZDelivery Node MCU con WIFI y Bluetooth (Amazon)
  • 2x Rele de la misma marca que la placa aunque se puede utilizar de cualquier tipo similar compatible con ESP32. (Amazon)
  • 1x Resistencia de 330 ohm.
  • 1x Fuente de alimentación AZ Delivey 220V a 5V (Amazon)
  • Placa Prototipos Doble Cara con 40 Pines 2.54mm Conector de Cabeza Macho Hembra y 5mm Bloque de Terminales de Tornillo (Amazon)

Fase 1. Apertura de puerta mediante relé

Se trata de la parte más sencilla del proyecto, utilizar uno de los relés para conectar los hilos 1 y 3 del telefonillo emulando el pulsador. Para realizar esta tarea conectamos el relé a la salida de 5v, a GND y la conexión de datos para activar el relé, en nuestro caso lo conectamos al puerto GPIO21. La salida del relé es la que debemos conectar a los hilos del telefonillo de forma que se conecten los hilos 1 y 3.

Esquema de conexión del sistema de apertura de puerta

Con esta configuración, cuando pasemos a la parte software y de configuración, solo tendremos que activar el puerta GPIO21 para que se active la apertura de la puerta.

Fase 2. Detección de la pulsación de llamada

Esta parte del proyecto es ligeramente más compleja ya que en es necesario encontrar una formula para detectar la pulsación del botón. Como explicamos en la parte de información del telefonillo, la señal que llega cuando se realiza la pulsación del botón de llamada en el portal es de 1,8 v por lo que debemos utilizar algún sistema para conseguir que esta tensión active el otro rece para a su vez emplearlo para activar una de las entradas GPIO de la placa ESP32.

Para ello, alimentamos con nuestra fuente de alimentación el relé a 5v y conectamos la masa (GND) al hilo común del telefonillo (Hilo 3) y el puerto de datos al hilo de llamada (Hilo 4). En las pruebas se verifica que la pulsación de la llamada activa el relé y mientras el botón de llamada se encuentra pulsado el relé se encuentra en modo HIGH por lo que podemos hacer uso de esta conexión para detectar la pulsación en el portal.

Explicación sobre resistencias pull-down y pull-up

Para detectar la activación de un puerto de nuestra placa podemos conectar directamente la salida de tensión a uno de los pines a través del relé o bien la salida GND. En ambos casos, al realizarse la pulsación obtendremos un estado HIGH en el caso de conectar a +5V o un estado LOW al conectar a GND.

Este diseño puede parecer acertado pero genera un problema ya que funciona correctamente cuando el relé se activa pero cuando el circuito se encuentra abierto, el estado que se puede leer en el puerto GPIO es indeterminado, por este motivo se hace necesario que si al activar queremos detectar estado HIGH, el estado sin activar debe ser LOW y así recíprocamente.

Para asegurar esto podemos buscar una formula que permita mantener por ejemplo el estado LOW por defecto y conectar a 5V cuando se cierre el relé.

La solución podría ser algo como lo siguiente:

Al revisar cualquiera de estos dos esquemas podemos observar que el estado por defecto cuando no está activado el pulsador está determinado. En el primero es LOW ya que esta conectado a GND y en el segundo HIGH ya que está conectado a +5V.

El problema es que tal y como se observa, en el momento en el que activemos el relé o pulsador, en lugar de cambiar el estado conectamos directamente la salida de tensión a GND provocando un cortocircuito.

Dada esta situación, se hace necesario hacer uso de un circuito ligeramente más complejo para poder determinar el estado del relé. Este circuito se conoce como Resistencia Pull-Down o Resistencia Pull-Up en función de como se utilice.

Resistencia Pull-Down | Resistencia Pull-Up

En este último esquema se aprecia el uso de estas resistencias, tanto en la modalidad Pull-Down, la empleada en nuestro proyecto como en la modalidad Pull-Up. En el primer caso, el estado por defecto del Pin del ESP32 es LOW y cuando se activa el relé pasa a estado HIGH evitando mediante la resistencia provocar un cortocircuito.

En el segundo caso, la modalidad Pull-Up, mantiene el estado HIGH con el relé abierto y una vez que se activa cambia al estado LOW.

Construyendo la placa

Dado que el material empleada viene encapsulado y preparado, en primer lugar ha sido necesario realizar una modificación en los relés adquiridos para poder utilizarlos posteriormente en una placa realizada a medida utilizando cableado y con una estructura modular, lo que permite conectar los componentes, la posibilidad de intercambiarlos e incluso se utiliza el espacio bajo la primera capa para la instalación de los conectores.

En la siguiente galería de imágenes, se muestra la modificación que se practica a los relés, como se observa se procede a desoldar el sistema de conexión que incluye y modificarlo por pines para poder conectarlo verticalmente.

De esta forma ya es posible conectar en la placa verticalmente lo que resulta mucho más compacto para el proyecto que se está realizando y posteriormente poder integrarlo cerca del telefonillo sin que quede a la vista.

El primer paso consiste en soldar sobre la placa el cableado de conexión, la resistencia, los jumper de conexión de los dispositivos y las conexiones a la corriente y al telefonillo.

Posteriormente se suelda el transformador/rectificador adquirido en su ubicación para alimentar la placa directamente a 220v.

Una vez realizados estos pasos, observamos que para reducir en la medida de lo posible el tamaño de la placa, la conexión al telefonillo (puente de tres conexiones) se sitúa bajo el segundo relé. Será necesario retirar el relé para realizar la conexión, para dada la facilidad para su conexión y que una vez instalada nuestra placa, debería no ser necesario realizar ninguna modificación, este diseño parecía el más adecuado para aprovechar al máximo el espacio disponible.

En el caso de la entrada de corriente de 220v, no se sitúa bajo el relé porque hemos preferido respetar una distancia mínima de seguridad entra la parte del circuito que trabaja a 220v AC y el resto del circuito que funciona a 5v en CC.

El cableado de los componentes se realiza por la parte superior de la placa para evitar en la medida de lo posible su deterioro y porque en este caso, dado que los componentes se encuentran insertados sobre el sistema de conexión y no soldados, disponemos de un espacio adicional para realizar los circuitos y mantener limpia la parte inferior.

El cableado y la interconexión de los componentes se ha realizado utilizando la suma de los dos esquemas presentados anteriormente mientras se realizaba el proyecto de forma teórica. El esquema combinado de las dos fases es el siguiente:

Con esto finaliza el desarrollo de la placa de control que permitirá recibir una notificación a través de Home Assistant, HomeKit y Google Home, también se implementará un sistema para que remita un mensaje vía Telegram cuando alguien llame al portal. A su vez permitirá realizar la apertura de la puerta a través de cualquiera de estas aplicaciones, incluido un sistema de apertura a través de un mensaje de Telegram.

Para realizar las pruebas y la configuración hemos dejado la placa simplemente colgando del telefonillo. En el momento en el que se encuentre completamente operativa se integrará en una caja de registro próxima al telefonillo.

IMPORTANTE: A la hora de realizar la conexión física con los terminales del telefonillo, en función de la resistencia del altavoz puede suceder que el relé no reciba potencia suficiente para activarse ya que la señal que llega a través del hilo 4 es extremadamente justa y modulada para generar el sonido. En caso de que suceda esto existen dos soluciones, utilizar un amplificador operacional, para ampliar la señal y garantizarnos la activación del relé o en su defecto, desconectar este hilo del panel de conexión del telefonillo y conectar nuestra placa directamente al cable que viene de la calle. Al puentearlo garantizamos que la tendrá suficiente potencia para activar el relé, la única pega es que la señal de llamada no sonará en nuestro telefonillo aunque si lo hemos integrado siguiendo nuestros artículos incluso resulta más practico ya que la notificación de llamada se realiza a través de Google Home, Telegram y en nuestro caso a través del Gateway de Xiaomi que emite un sonido cuando alguien llama.

En la siguiente publicación se detalla todo lo relativo a la configuración e integración en Home Assistant, HomeKit, Google Home, Telegram y sobre su funcionamiento.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *