Tabla de contenido:

Temporizador inteligente ESP8266-01 IoT para automatización del hogar: 9 pasos (con imágenes)
Temporizador inteligente ESP8266-01 IoT para automatización del hogar: 9 pasos (con imágenes)

Video: Temporizador inteligente ESP8266-01 IoT para automatización del hogar: 9 pasos (con imágenes)

Video: Temporizador inteligente ESP8266-01 IoT para automatización del hogar: 9 pasos (con imágenes)
Video: 🔴DOMÓTICA en 2022 - Casa Inteligente DESDE 0!!! 2024, Mes de julio
Anonim
Temporizador inteligente ESP8266-01 IoT para automatización del hogar
Temporizador inteligente ESP8266-01 IoT para automatización del hogar
Temporizador inteligente ESP8266-01 IoT para automatización del hogar
Temporizador inteligente ESP8266-01 IoT para automatización del hogar
Temporizador inteligente ESP8266-01 IoT para automatización del hogar
Temporizador inteligente ESP8266-01 IoT para automatización del hogar

ACTUALIZACIONES

2018-09-30: Firmware actualizado a la versión 1.09. Ahora con el soporte básico de Sonoff

2018-01-10: Versión de prueba de firmware 1.10 disponible para probar en ESP8266-01 con problemas

Con las nuevas palabras de moda como Internet de las cosas (IoT) y Automatización del hogar, decidí mirar los elementos actuales dentro y alrededor de mi hogar que se controlan a través de algún tipo de dispositivo. Los ítems que se destacaron, son los siguientes:

  • Bomba de piscina
  • Llenadora de agua para piscina
  • Piscina y luces circundantes
  • Luces del gabinete del sistema de TV / entretenimiento

El elemento común que se utiliza para controlar estos dispositivos son los temporizadores de enchufe de pared estándar. Cada dispositivo está equipado con su propio temporizador y todos están ubicados en diferentes ubicaciones. Entonces, ¿por qué elegí estos elementos para comenzar con proyectos de Internet de las cosas o de automatización del hogar?

Bueno, vivir en Sudáfrica significa que los cortes de energía son algo habitual. Con las estadísticas de mi casa, tuve 35 cortes de energía en el último año, totalizando 40 horas. Normalmente, esto no es un problema, ya que todos los temporizadores instalados actualmente están equipados con una batería de respaldo para mantener el tiempo durante cortes de energía. Pero hay algunos problemas:

  • Estas baterías de respaldo solo duran uno o dos años, luego el temporizador debe ser reemplazado. Los temporizadores están construidos de manera que es necesario destruir el temporizador para acceder a la batería interna de Ni-Cad.
  • Cada vez que falla la energía, es necesario reprogramar los temporizadores con baterías defectuosas y establecer la hora.
  • La ubicación física del temporizador, cuando se conecta a la toma de corriente, hace que sea casi imposible leer las pantallas LCD viendo el temporizador desde la parte superior. Esto significa que es necesario desenchufar el temporizador o que tengo que acostarme en el suelo para configurar o ajustar los temporizadores después de un corte de energía.

Debido a las razones anteriores, decidí probar la posibilidad de reemplazar los temporizadores con un temporizador inteligente de IoT, conectado a mi red doméstica local.

La idea era diseñar un temporizador independiente que pudiera:

  • Ajustar automáticamente la hora actual usando Internet (IoT)
  • Operado sin ninguna acción del usuario (inteligente)
  • Activar / desactivar una salida según las horas establecidas (temporizador)
  • Programable y controlable a través de la red (domótica)

Paso 1: El diseño ESP8266-01

El diseño ESP8266-01
El diseño ESP8266-01
El diseño ESP8266-01
El diseño ESP8266-01

El diseño se realizó usando un módulo WiFi ESP8266-01, ya que esto es lo que tenía disponible. En su forma más simple, el ESP8266-01 tiene cuatro pines de E / S:

  • GPIO0
  • GPIO2
  • TX
  • RX

Modos de encendido del ESP8266-01

El estado lógico de los pines de E / S se utiliza para determinar en qué modo arrancará el ESP8266-01. El primer paso fue determinar cuál de los pines de E / S se puede utilizar para impulsar un relé de salida.

  • Para un encendido normal, GPIO0 y GPIO2 deben configurarse en lógica ALTA. Por lo tanto, está claro que estos dos pines no se pueden usar como salida digital.
  • El pin Tx se establece como una salida al encender y la salida se establece en alto. Este pin Tx también transmite algunos datos en serie durante el encendido. Por lo tanto, este pin tampoco se puede utilizar como salida.

El único pin restante es el pin Rx. Este pin se establece como entrada en el encendido y no tiene que ser elevado durante el encendido. Este pin es, por tanto, el más adecuado para ser utilizado como pin de salida.

Arrancar

Para garantizar el modo de arranque correcto del ESP8266-01 durante el encendido, los siguientes pines se elevan con resistencias de 10K:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Esto asegura que la unidad se inicie correctamente cada vez.

Relé de salida

El RX es el único pin adecuado para usarse como salida. Por lo tanto, este pin se utiliza para impulsar el relé de salida a través de un transistor NPN. Se agregaron las resistencias de base de transistor y diodo de volante estándar.

Botón MODE / SET

El botón está conectado a GPIO2, y con el botón suelto, una resistencia de 10K elevará GPIO2 hacia arriba. Con el botón presionado, GPIO2 se lleva a 0V.

Este botón se utiliza para dos funciones:

  • Configuración inicial para conectar la unidad a una red WiFi local
  • Para controlar manualmente la salida durante las operaciones normales

LED de indicación

El LED está conectado a GPIO0 e indica lo siguiente:

  • En el encendido inicial, parpadea RÁPIDO para indicar el modo de configuración de WiFi
  • Parpadea lentamente cuando la hora de la unidad no está configurada
  • indica el estado de encendido / apagado del relé de salida

Paso 2: la fuente de alimentación

La fuente de poder
La fuente de poder
La fuente de poder
La fuente de poder
La fuente de poder
La fuente de poder

Usaré el temporizador inteligente de IoT en diferentes niveles de voltaje, por lo tanto, hay dos opciones de fuente de alimentación disponibles:

12 - 24 V CC

El convertidor CC-CC utilizado es adecuado para suministros de hasta 28 V CC. La salida del convertidor es ajustable y está configurada en 5V. Esto debe hacerse antes de conectar el módulo ESP8266.

Se agregó un diodo para proteger contra la polaridad inversa en la entrada de suministro.

220 V CA Para esta opción, pude obtener una pequeña fuente de alimentación conmutada de 220 V / 5 V en eBay.

Independientemente del voltaje de entrada, el temporizador inteligente de IoT necesita dos fuentes de alimentación:

Carril de 5V

Con ambas opciones, el 5V DC se obtiene de una fuente de alimentación de modo conmutado y no de un regulador lineal. Esto significa que la fuente de alimentación genera un calor mínimo. Los 5 V se utilizan para impulsar el relé de salida.

Carril de 3,3 V

El 3.3V para el ESP8266-01 se obtiene de un regulador ASM1117 3.3. El ASM1117 3.3 es un regulador lineal y puede manejar hasta 500 mA. Sin embargo, el calor generado estará determinado por el voltaje de entrada al ASM1117. Para reducir el calor, el ASM1117 se alimenta desde el riel de 5V.

Filtrado de ruido

Para reducir la fluctuación de voltaje en el ESP8266-01, el riel de 3.3V está equipado con un capacitor de 100 - 1000uf. Los rieles de 5 V y 3,3 V también están protegidos de interferencias de alta frecuencia mediante condensadores de 0,1 uf.

Paso 3: Montaje de la placa de circuito impreso

Montaje de la placa de circuito impreso
Montaje de la placa de circuito impreso
Montaje de la placa de circuito impreso
Montaje de la placa de circuito impreso
Montaje de la placa de circuito impreso
Montaje de la placa de circuito impreso

La placa de circuito impreso se diseñó utilizando la versión gratuita de Eagle. Es una placa de una sola cara, que se puede hacer fácilmente en casa utilizando el método de transferencia de tóner.

Una vez hecha la placa de circuito impreso, monte la placa de circuito impreso en el siguiente orden:

  • Suelde el regulador ASM1117 y tres componentes SMD de 0,1 uf al lado de soldadura de la placa
  • Agregue el puente único al lado del componente de la placa
  • Suelde las resistencias y los diodos en su lugar
  • Agregue los encabezados para el módulo ESP8266-01
  • Agregue los pines de encabezado para el LED y el botón
  • Agregue los terminales de tornillo
  • Con los pines del cabezal, conecte el convertidor CC / CC a la placa.
  • Suelde el relé en su lugar
  • Complete la placa soldando el transistor y el condensador de 100 uf.

Una vez que todos los componentes estén soldados a la placa, verifique todos los puntos de soldadura y asegúrese de que no haya cortocircuitos entre las almohadillas.

! ! ! NOTA IMPORTANTE ! ! ! Para asegurarse de que la placa de circuito impreso pueda manejar grandes corrientes en los contactos de salida, aplique una cantidad decente de soldadura a las pistas entre los contactos del relé y los terminales de tornillo

Paso 4: Prueba de la placa de circuito impreso

Prueba de la placa de circuito impreso
Prueba de la placa de circuito impreso

! ! ! ¡Antes de aplicar energía! ! !

Retire el módulo ESP8266-01 de la unidad. Esto es para evitar el sobrecalentamiento del regulador ASM1117 antes de que se ajuste el suministro de 5V.

No hay muchas pruebas que se puedan realizar después del ensamblaje. El paso más importante es asegurar los niveles de voltaje correctos.

  • Aplique 12 - 24 V CC a la unidad.
  • Mida el voltaje de salida del convertidor DC / DC
  • Ajuste la salida del convertidor entre 5,0 y 5,5 V.
  • Luego, mida el suministro de 3.3V.
  • Si los suministros están bien, desconecte la energía de la unidad

Ahora puede insertar el módulo ESP8266-01 en los encabezados proporcionados.

! ! ! Nota !

Una vez que haya probado el temporizador de IoT y esté funcionando, use laca transparente para cubrir el lado de soldadura de la placa de circuito impreso. Esto evitará la oxidación de las vías y proporcionará un aislamiento adicional entre los contactos del relé y el resto del circuito

Paso 5: el recinto

El recinto
El recinto
El recinto
El recinto
El recinto
El recinto

El gabinete no es tan importante, siempre que la placa de circuito impreso y todo el cableado encajen de manera ordenada y segura en él.

Para facilitar la construcción, he creado un cable con el LED y el botón MODE / SETUP conectados a él. Esto me dio más flexibilidad para montar el LED y el botón en el gabinete. Luego, este cable se conecta al encabezado de la placa de circuito impreso.

Las fotos muestran una de las unidades de 12V utilizadas para luces LED.

Paso 6: Programación del ESP8266-01 / NodeMCU

Programando el ESP8266-01 / NodeMCU
Programando el ESP8266-01 / NodeMCU
Programando el ESP8266-01 / NodeMCU
Programando el ESP8266-01 / NodeMCU
Programando el ESP8266-01 / NodeMCU
Programando el ESP8266-01 / NodeMCU

Para programar el ESP8266-01, primero debe configurar el IDE de Arduino. No voy a entrar en estos detalles, ya que hay muchos excelentes Instructables disponibles sobre este tema. He elegido los siguientes enlaces en Instructables como referencia, sin ningún orden específico para los autores. Gracias por sus Instructables individuales.

Siga este ESP8266 y Arduino IDE para configurar el Arduino IDE para el módulo ESP8266.

A continuación, necesitará un programador para programar el ESP8266. Aquí hay dos enlaces:

Usando Arduino Uno

Tablero de programación de bricolaje

Bibliotecas

Deberá instalar bibliotecas adicionales para poder compilar el código. Nuevamente, consulte este Instructable:

Instalar y usar bibliotecas Arduino

No recuerdo qué bibliotecas tuve que instalar, pero sé que WiFiManager debe descargarse por separado. Las he incluido en el archivo Libraries.zip.

Paso 7: Configuración inicial

Configuración por primera vez
Configuración por primera vez
Configuración por primera vez
Configuración por primera vez
Configuración por primera vez
Configuración por primera vez

Cuando se usa por primera vez, el temporizador inteligente de IoT debe estar conectado a una red WiFi. Esta tarea se realiza mediante la biblioteca WiFiManager, por lo que no es necesario escribir SSID o contraseñas en el código.

Siga estos pocos pasos:

  • Enciende la unidad
  • El LED comenzará a parpadear rápidamente
  • Presione el botón MODE / SETUP
  • Cuando el LED se apague, suelte el botón
  • Espere unos segundos, luego abra las conexiones WiFi de su teléfono inteligente o dispositivo
  • Una nueva red WiFi llamada IoT Timer será visible
  • Seleccione este punto de acceso
  • Inicie sesión en el temporizador de IoT (no se requiere contraseña)
  • Espere hasta que su dispositivo esté conectado a la red IoT Timer
  • Abra cualquier navegador de Internet
  • En la barra de direcciones, escriba la siguiente dirección IP: 192.168.4.1
  • Se abrirá la consola WiFiManager
  • Seleccione Configurar WiFi
  • Se mostrará una lista con los puntos de redes WiFi disponibles.
  • Seleccione la red WiFi requerida y escriba la contraseña
  • A continuación, ingrese la dirección IP que desea usar para conectarse al temporizador de IoT
  • Ingrese la dirección IP de la puerta de enlace predeterminada, seguida de la máscara
  • Una vez que todas las configuraciones estén hechas, haga clic en el botón Guardar
  • Se abrirá una nueva ventana para confirmar que se guardaron las nuevas credenciales.
  • Cierra tu navegador

Una vez guardado, la red del temporizador de IoT se apagará y la unidad intentará conectarse a su red WiFi.

  • Conecte su teléfono inteligente o dispositivo a la misma red WiFi que se utilizó para el temporizador de IoT.
  • Abre tu navegador
  • En la barra de direcciones, escriba la dirección IP de su temporizador de IoT
  • Se abrirá la página de configuración del temporizador de IoT

Su temporizador de IoT ahora está listo para usar

Paso 8: configuración del temporizador de IoT

Configuración del temporizador de IoT
Configuración del temporizador de IoT
Configuración del temporizador de IoT
Configuración del temporizador de IoT
Configuración del temporizador de IoT
Configuración del temporizador de IoT
Configuración del temporizador de IoT
Configuración del temporizador de IoT

La página web incorporada de IoT Timer consta de cinco secciones:

Estado

Esto muestra el nombre del dispositivo, así como la hora actual y el estado de salida del temporizador.

Además, el modo de funcionamiento del temporizador se configura en esta sección. Hay tres modos:

  • Auto - La salida será controlada por los diferentes programas de temporizador.
  • Encendido: la salida está encendida y permanecerá encendida hasta que se cambie el modo.
  • Apagado: la salida se fuerza a APAGAR y permanecerá apagada hasta que se cambie el modo.

Programas

Esta sección contiene las horas de encendido y apagado del temporizador. Hay siete programas disponibles y cada programa se puede configurar individualmente.

Antes de cambiar el siguiente programa, presione el botón GUARDAR para guardar los cambios realizados en el programa actual.

Función de botón

El botón MODE / SETUP se puede utilizar para controlar el relé de salida durante el funcionamiento normal. Aquí, seleccione lo que debe hacer el botón cuando se presiona.

Marque la casilla "Actualizar función del botón" antes de presionar el botón Guardar para guardar la nueva configuración.

Configuración

Aquí puede cambiar el nombre del temporizador de IoT. Esto facilita la identificación entre varios temporizadores.

La hora en la unidad se obtiene de Internet a través de un servidor de hora NTP. Para mostrar la hora correcta, actualice la zona horaria de su región.

Si desea utilizar un servidor de hora NTP diferente, ingrese la nueva dirección IP en el espacio provisto.

Marque la casilla "Actualizar configuración" antes de presionar el botón Guardar para guardar la nueva configuración.

NOTA

Al cambiar la zona horaria, la nueva hora solo se configurará correctamente durante la próxima consulta de hora. La unidad está configurada para actualizar la hora cada 5 minutos.

Ajuste de tiempo

A veces, sucede que el servidor de tiempo NTP no responde en cada consulta de tiempo. En caso de que tarde demasiado en establecerse a través del servidor NTP, puede introducir la fecha y la hora manualmente.

Marque la casilla "Actualizar hora" antes de presionar el botón Guardar para guardar la nueva fecha y hora.

Sincronización de tiempo

La última parte de la página indica la hora y la fecha en que se sincronizó por última vez a través del servidor de hora NTP.

Recomendado: