Tabla de contenido:

Sensor de temperatura y pulsador de timbre de puerta: 6 pasos
Sensor de temperatura y pulsador de timbre de puerta: 6 pasos

Video: Sensor de temperatura y pulsador de timbre de puerta: 6 pasos

Video: Sensor de temperatura y pulsador de timbre de puerta: 6 pasos
Video: Haz TU CASA mas EFICIENTE sin gastar mucho (MUY FACIL) | TAPO Ecosistema 2024, Mes de julio
Anonim
Sensor de temperatura y pulsador de timbre de puerta
Sensor de temperatura y pulsador de timbre de puerta

Esto mejora un timbre de puerta cableado estándar con un módulo esp-12F (esp8266).

Se instala en el propio timbre para evitar cualquier cambio en el cableado. Proporciona las siguientes funciones

  • Detecta los empujes del timbre de la puerta
  • Envía notificaciones al teléfono a través de IFTTT
  • Almacena la actividad del timbre de la puerta en un servidor easyIOT (opcional)
  • Activar otra actividad a través de una URL cuando se presione el timbre de la puerta

    Capturo una instantánea en una cámara web junto a la puerta y puedo ver las capturas recientes del timbre de la puerta en mi teléfono

  • Sensor de temperatura integrado opcional (DS18B20) que forma parte del control de temperatura de mi casa

Paso 1: Hardware y materiales

Hardware y materiales
Hardware y materiales
Hardware y materiales
Hardware y materiales

Se necesitan los siguientes materiales

  • Módulo wifi / cpu ESP-12F (ESP8266)
  • Convertidor DC Buck para suministro de 3.3V
  • Diodo rectificador (por ejemplo, 1N4001)
  • Condensador electrolítico 220uF 35V
  • Condensador electrolítico 220uF 16V
  • Diodo Zener 3.3 o 2.6V
  • Resistencias
  • Pedazo de tablero de tiras
  • Conectores si es necesario
  • Sensor de temperatura digital DS18B20 si es necesario

El esquema muestra el circuito utilizado. Se asume una campana alimentada por CA de bajo voltaje, que es el tipo más común de campana simple cableada. La unidad de campana recibe energía de un transformador de campana externo típicamente alrededor de 10V CA. Esto no es crítico, ya que la única restricción es el voltaje máximo en el convertidor reductor. El que uso es el MP2307 con una entrada máxima de 23 V CC (~ 16 V CA).

Normalmente hay 3 terminales activos. Con el timbre, haga la conexión de un lado del suministro de CA al solenoide del timbre. El módulo utiliza los dos terminales de CA para producir la energía de CC a través de un rectificador de media onda simple. La detección de empuje de campana se realiza monitoreando el voltaje a través del solenoide real. Esto normalmente estará conectado a tierra, pero cuando se active la campana será el aire acondicionado completo. Un resistor / diodo zener recorta esto para que un pulso de 0 - 3.3V 50 Hz se alimente a un pin GPIO. El software procesa esto para proporcionar una única activación por pulsación de campana.

Construí el circuito en un trozo de placa de tira y este es lo suficientemente pequeño como para caber fácilmente en la unidad de campana. Utilizo conectores de puente simples para facilitar la instalación e incluirlos específicamente en línea con la fuente de alimentación de CA principal para que se pueda restablecer la energía fácilmente si es necesario.

El esquema que se muestra incluye un sensor de temperatura DS18B20. Esto es opcional. Lo uso como parte de una red que monitorea la mayoría de las áreas de mi casa. Si se incluye, es bueno cablear el sensor con unos centímetros de cable para permitir que esté aislado de cualquier efecto de calentamiento local.

Paso 2: software

La unidad de empuje de la puerta utiliza un boceto de Arduino disponible en github

Esto debe ajustarse para adaptarse a las condiciones locales y luego compilarse en un entorno Arduino esp8266. Se necesitan las siguientes bibliotecas, son estándar o se pueden agregar.

  • ESP8266WiFi
  • WifiCliente
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClienteSeguro
  • IFTTTMaker
  • Servidor DNS
  • WiFiManager (uso opcional)
  • OneWire
  • DallasTemperatura

Los elementos del boceto que se cambiarán incluyen

  • Detalles de acceso wifi local (ssid, contraseña) si no usa WifiManager
  • Código de autorización para acceso web AP_AUTHID. Es bueno que tenga una longitud decente. Puede contener caracteres alfanuméricos.
  • firmware OTA contraseña update_password
  • WifiManager contraseña WM_PASSWORD

    Wifi se puede configurar manualmente comentando WM_NAME

  • Clave de fabricante IFTTT (ver el paso de notificación)

Los cambios opcionales incluyen

  • Cambio de pin de entrada para detector de timbre
  • Pasador de cambio para sensor de temperatura
  • Cambio del puerto de acceso web predeterminado 80

Una vez hecho esto, primero debe compilarse y cargarse mediante la carga en serie convencional. La actualización posterior se puede realizar compilando un binario de exportación en el entorno Arduino y luego accediendo a la interfaz OTA en ip / firmware.

El empuje del timbre de la puerta se detecta en el software mediante la detección de interrupciones del borde ascendente del primer pulso del circuito detector. Todas las interrupciones posteriores se ignoran. Se utiliza un tiempo de espera para reactivar el detector después del BELL_MIN_INTERVAL que se establece en 10 segundos.

Se puede acceder a otras actividades en el servidor web esp8266

  • ip / reciente muestra la actividad reciente del timbre de la puerta
  • ip / reloadConfig vuelve a cargar espConfig
  • ip / bellPush simula un timbre

Paso 3: configuración

Tal como está construido, el software obtiene su configuración de un servidor web local. El módulo carga los datos de configuración en función de su dirección Mac. Esto hace que sea muy conveniente ejecutar varios módulos utilizando el mismo binario y también facilita la actualización de la configuración sin volver a compilar. Sería posible omitir esto y poner los datos de configuración directamente en el código.

Guardo el archivo de configuración en mi servidor EasyIOT que tiene una carpeta en easyIOT / html donde el archivo de configuración se puede recuperar fácilmente.

El archivo se llama espConfig y es un archivo de texto simple que almacena una serie de parámetros (12) para cada posible dirección Mac. Un módulo solo carga los parámetros establecidos para su dirección Mac.

Un ejemplo del archivo es

#Sala

#Mac address123456ABCDEF

#Nombre del módulo

esp8266-hall

# máscara de modo de servidor (1 = sensor de temperatura, 4 = modo de caldera, 4 = timbre)

9

Nodo #EIOT para temperatura

N9S0

#no usado

-1

# intervalo de temperatura mínima en segundos

60

# intervalo de temperatura máximo en segundos

300

#intervalo de potencia de la caldera

0

Nodo de potencia de caldera #EasyIOT

-1

Nodo de pulsador de campana #EasyIOT

N10S0

# IFTTT notificar valor

parte delantera

#IFTTT notificar nombre de evento

timbre de la puerta

# URL de acción

192.168.0.2/snap.php

Se ignora cualquier línea que comience con #. Todas las líneas deben estar presentes. -1 se utiliza para ignorar los parámetros.

El archivo de configuración se lee cuando el módulo se inicia por primera vez. También se puede recargar en un sistema en ejecución (cuando se ha cambiado la configuración) accediendo a ip / reloadConfig

La parte del modo de caldera de la configuración no es relevante aquí, pero se usa en mis sensores de temperatura conectados a la salida de la tubería de calefacción central, ya que detecta cuando la caldera se está calentando y puede calcular el consumo de energía promedio.

Paso 4: Notificaciones

Cuando se detecta un timbre de puerta, intenta notificarlo mediante IFTTT o PushOver. Ahora hago PushOver, ya que da una respuesta más rápida.

Para IFTTT necesitas una cuenta y activar el canal Maker WebHoooks. La MakerKey de este canal debe compilarse en el código.

Configure una acción IF usando Maker WebHooks y use el nombre de evento del mismo nombre que en la configuración (por ejemplo, timbre). La acción ENTONCES debería ser una notificación IFTTT. Puede agregar value1 a la notificación que estará en el archivo de configuración. Esto puede resultar útil si tiene 2 o más detectores.

Debe instalar la aplicación IFTTT en su teléfono y luego aparecerán notificaciones cada vez que se active el timbre.

Para PushOver, necesita una cuenta PushOver y siga las instrucciones para recibir notificaciones de la API. Debe configurar los tokens NOTIFICATION_APP y NOTIFICATION_USER en el software con los valores de su cuenta PushOver.

Debe instalar la aplicación PushOver en su teléfono y pagar una pequeña tarifa única para recibir notificaciones. En mi opinión, vale la pena para obtener una respuesta mucho más rápida.

Paso 5: Integración EasyIOT

El software puede enviar informes de presión de timbre y temperatura a un servidor EasyIOT. La automatización EasyIOT se puede utilizar para tomar acciones adicionales basadas en estos informes.

Configure un servidor EasyIOT (por ejemplo, en una Raspberry Pi). Configure la dirección IP y la contraseña del nombre de usuario en el software esp8266 y compile.

Ahora agregue un controlador virtual en la configuración EASYIOT. Elija Temperature Analog Input y anote el nombre del nodo EasyIOT. Esto debe colocarse en la parte del nombre del nodo de temperatura del archivo espConfig.

Agregue un segundo controlador virtual. Elija Entrada digital de puerta, anote el nombre del nodo y colóquelo en el archivo espConfig.

Paso 6: Otras acciones de timbre

El software tiene una rutina llamada actionBellOn. Tal como está escrito, esto puede hacer 3 cosas.

  • IFTTT notificar
  • Informe EasyIOT
  • Realizar una URL de acción

La URL se puede utilizar para activar otra actividad de otros servidores web. La URL utilizada está en el archivo espConfig.

Si el servidor de la URL está autenticado, el nombre de usuario y la contraseña deben configurarse y compilarse en el código.

Utilizo esto para acceder a una URL llamada snap.php en una cámara al lado de la puerta. Esto toma un-j.webp

Yo uso cámaras basadas en Raspberry Pi que hacen esta operación muy fácil. cámara

Recomendado: