Tabla de contenido:

Automatización del hogar con Android y Arduino: abra la puerta cuando llegue a casa: 5 pasos
Automatización del hogar con Android y Arduino: abra la puerta cuando llegue a casa: 5 pasos

Video: Automatización del hogar con Android y Arduino: abra la puerta cuando llegue a casa: 5 pasos

Video: Automatización del hogar con Android y Arduino: abra la puerta cuando llegue a casa: 5 pasos
Video: 7 PRODUCTOS BÁSICOS PARA HACER TU CASA INTELIGENTE |NQUEH 2024, Septiembre
Anonim
Automatización del hogar con Android y Arduino: abra la puerta cuando llegue a casa
Automatización del hogar con Android y Arduino: abra la puerta cuando llegue a casa

Este Instructable trata de configurar un sistema de automatización del hogar que se controlará a través de un teléfono inteligente, utilizando una conexión a Internet, de modo que se pueda acceder a él desde cualquier lugar que lo necesite. Además, realizará ciertas acciones siempre que se cumpla un criterio (como, por ejemplo, encender la luz cuando el teléfono inteligente se conecta a la red wifi doméstica, abrir la puerta cuando ingresa a un área determinada por GPS, o todo lo demás que pueda desear).

Se utilizará una aplicación de Android existente, que requiere la menor cantidad de codificación posible: simplemente cargue el código y listo. El cerebro, el microcontrolador, será una placa Arduino o compatible con Arduino, como una Aruino Uno con un escudo Ethernet o una NodeMCU ESP8266.

Para activar el sistema cuando se cumple una condición (posición GPS, hora, ecc…) usaremos el notorio Tasker; más sobre eso más tarde.

Al realizar el sistema, se han tenido en cuenta los siguientes puntos clave:

  • Tiene que ser barato.
  • Tiene que ser accesible desde fuera de la red doméstica local (es decir, su wifi).
  • Tiene que ser REALMENTE fácil y rápido de construir y configurar.
  • Tiene que ser confiable.

Dicho esto, todo el proyecto costará unos 20 € (7,50 € para un ESP8266, 8 € para una placa de relés, el resto para hardware adicional), y le llevará unos 30 minutos configurarlo todo, nada mal..

Entonces, si está interesado, siga esta guía simple y rápida, ¡y configure la suya!

Paso 1: configuración del hardware

Configuración del hardware
Configuración del hardware

Una vez que haya reunido todos sus componentes, lo primero que debe hacer es conectarlo todo.

En este ejemplo, conectaremos una bombilla al ESP8266; Tenga en cuenta que debe tener mucho cuidado al trabajar con voltajes principales: las casas usan 220 V, ¡eso puede matarlo! Siempre corte la energía antes de trabajar en él, y si no está seguro, busque la ayuda de un experto.

Dicho esto: para manejar tales niveles de tensión y corriente (que quemarán el pequeño ESPR8266) necesitamos usar un relé adecuado (como este, que es lógica de 5V, adecuado para el Arduino estándar, o este, un relé de nivel lógico de 3.3V, adecuado para el pinout de 3.3V del ESP82666); las conexiones son bastante sencillas, sigue el diagrama que hemos adjuntado.

Tenga en cuenta que algunas placas de relés (como la que hemos vinculado) son ACTIVAS BAJAS; esto significa que debe conectar el relé a tierra para que se encienda, y viceversa. Si este es tu caso, Homotica ofrece una buena solución; veremos cuál en el siguiente párrafo.

Paso 2: Configuración de ESP8266

Configuración ESP8266
Configuración ESP8266
Configuración ESP8266
Configuración ESP8266
Configuración ESP8266
Configuración ESP8266

Ahora que hemos configurado el hardware del sistema de automatización, tenemos que programar el microcontrolador.

Para hacer eso, necesitaremos el software Arduino para cargar el boceto proporcionado al ESP8266; así que navegue hasta la página de descarga de Arduino y elija la versión más adecuada para usted.

Una vez descargado, instálelo.

Ahora que tenemos nuestro IDE instalado, necesitamos la biblioteca necesaria para que el boceto funcione; para instalarlo, abra la aplicación Github Repo y elija Descargar desde el botón verde en el lado derecho.

Dirígete a la carpeta de descargas en tu PC y, usando un software como WinRar o WinZip, descomprime el archivo; abra la carpeta recién creada "homotica-master" y copie la carpeta interna llamada "Homotica" a la carpeta Arduino Editor Libraries (normalmente puede encontrarla en C: / Users / your_user_name / Documents / Arduino / libraries). Elimina los archivos restantes en "homotica-master", no los necesitaremos

Falta un paso para cargar el código en el ESP8266: necesitamos obtener la biblioteca para que el IDE de Arduino se comunique con la placa, ya que no es oficialmente compatible.

Para hacer eso, siga estos pasos (créditos: Github ES8266 Arduino Repo):

  • Inicie Arduino y abra la ventana Archivos> Preferencias.
  • Ingrese "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (sin comillas) en el campo URL adicionales del administrador del tablero. Puede agregar varias URL, separándolas con comas.
  • Abra Boards Manager desde Tools> Board menu e instale la plataforma esp8266 (busque "esp8266" y descargue "esp8266 by ESP8266 Community").

Todo está configurado. Cuidemos el código del boceto.

Abra Archivo> Ejemplo> Homotica> Homotica ESP8266, copie TODO el código en un nuevo boceto y modifique los siguientes parámetros:

  • ssid: inserte aquí el nombre de su red inalámbrica
  • contraseña: tu contraseña wifi
  • ip, puerta de enlace, subred: probablemente no tendrá que tocar esta configuración; cambie la ip si desea que su ESP8266 tenga una dirección diferente
  • mUdpPort: el puerto que abriremos en el enrutador más adelante; si no sabes que es no lo toques
  • código: un código único de 8 caracteres que se utilizará para autenticar su aplicación; puedes elegir lo que quieras.

Si está utilizando una configuración ACTIVE LOW, no olvide llamar a homotica.setActiveLow () como se muestra en el código de ejemplo.

Para terminar: agregue homotica.addUsedPin (5) (como se muestra en el ejemplo) para decirle al ESP8266 qué GPIO tiene que manejar, entre el bucle while y homotica.set (mUdpPort, código); borre todas las líneas homotica.simulateUdp (…).

Este es el código que debería dejar:

#incluir

#include #include const char * ssid = "mywifiname"; const char * contraseña = "wifipassword"; Dirección IP ip (192, 168, 1, 20); Puerta de enlace IPAddress (192, 168, 1, 1); Subred de dirección IP (255, 255, 255, 0); unsigned int mUdpPort = 5858; código de cadena estático = "aBc159"; Homotica homotica; configuración vacía () {WiFi.config (ip, puerta de enlace, subred); WiFi.begin (ssid, contraseña); while (WiFi.status ()! = WL_CONNECTED) {retraso (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- solo si lo necesita homotica.set (mUdpPort, code); } bucle vacío () {homotica.refresh (); }

Cuando todo esté configurado correctamente, cambie la configuración del compilador desde el menú Herramientas de acuerdo con la captura de pantalla adjunta, y seleccione el puerto que su ESP8266 está conectado en su computadora en Herramientas> Puerto.

Ahora, haga clic en cargar. ¡Su microcontrolador está todo configurado y listo para funcionar!

Paso 3: enrutador e IP

Enrutador e IP
Enrutador e IP
Enrutador e IP
Enrutador e IP

Para comunicarnos con el ESP8266 desde todas las redes, necesitaremos decirle al enrutador que deje entrar el comando que le enviamos.

Para hacerlo, vaya a la página de configuración de su enrutador (generalmente 192.168.1.1) y busque algo como "servidor virtual" o "reenvío de puertos"; puede localizar la configuración precisa para su modelo de enrutador buscando en Google.

En el reenvío de puertos, cree una nueva regla que permita todas las conexiones al ESP8266 (el configurado anteriormente) a través del puerto ESP8266 (nuevamente, el configurado anteriormente). Nómbrelo Homotica, inserte la IP ESP8266 en el campo IP y guarde.

Si el enrutador que estás usando no te permite hacer esto, no te preocupes: no podrás usar la aplicación desde la red móvil, pero funcionará perfectamente bien desde el interior de la red wifi de tu hogar.

Ahora, para referirnos a nuestro enrutador desde el mundo exterior, necesitamos conocer su IP pública; la desventaja es que la mayoría de los proveedores de Internet no le dan una IP estática, sino una dinámica, que cambia con el tiempo.

¡Pero espera, podemos resolver esto!

Diríjase a NoIp, cree una nueva cuenta, luego cree un nuevo nombre de host (vea la imagen adjunta). Tome nota del nombre de host que tiene (en mi ejemplo: https://yourhostname.ddns.net) y continúe con el siguiente paso.

(Nota: es posible que desee que su PC sincronice automáticamente la IP de su enrutador con su nombre de host NoIp: descargue su aplicación gratuita para hacerlo)

Paso 4: Configuración de la aplicación

Configuración de la aplicación
Configuración de la aplicación
Configuración de la aplicación
Configuración de la aplicación
Configuración de la aplicación
Configuración de la aplicación

Cuidemos la aplicación, ¿de acuerdo?

Descarga la aplicación desde la página de Play Store y ábrela.

Abra el menú de la izquierda, seleccione Tableros y cree uno nuevo. Completaremos los parámetros que definimos previamente en el código de boceto ESP8266:

  • Nombre de Arduino: lo que quieres (que sea ESP8266)
  • IP de host: esto podría ser

    • la IP estática del enrutador a la que se hace referencia a través del enlace NoIp
    • la IP ESP8266 si desea usarla solo desde el interior de la red wifi de su hogar 192.168.1.20
  • Puerto de host: el que configuramos y abrimos antes 5858
  • Código de autenticación: el código de 8 caracteres que definimos en el boceto aBc195

Ahorrar. Abra el menú nuevamente, cree un nuevo dispositivo; Adjuntaremos una bombilla para demostración:

  • Nombre: luz
  • Nombre del botón: usaremos On, elige lo que prefieras
  • Número de pin: el pin al que adjuntamos la bombilla. ¡Ten cuidado! En el ESP8266, las etiquetas de los pines (D1, D2…) NO corresponden al nombre del pin GPIO. Busque en Google para determinar qué pin es qué GPIO (en nuestro ejemplo: el pin 5 está etiquetado como D1)
  • Comportamiento: puede elegir entre encender, apagar, cambiar el estado de "empujar" (encender y apagar) el dispositivo.

Ahorrar. Si ha configurado todo correctamente hasta ahora, presionar Encendido debe encenderse.

Genial, ¿no?

Ahora puede divertirse agregando más dispositivos, incluso más tableros y organizándolos en escenas.

Pero para usar a pleno rendimiento lo que acaba de crear, tendremos que usar Tasker.

Paso 5: Integración de Tasker

Integración Tasker
Integración Tasker
Integración Tasker
Integración Tasker
Integración Tasker
Integración Tasker

Si tienes Tasker, o quieres comprarlo, ¡sigue leyendo! Lo usaremos para decirle a Homotica qué hacer y cuándo hacerlo.

En este ejemplo, vamos a encender la luz cada vez que nos conectemos al wifi de nuestro hogar Y la hora es entre las 4 p.m. y las 6 p.m.

Tasker abierto; cree una nueva tarea (llamémosla Encender la luz), seleccione Agregar> Complemento> Homotica, presione el lápiz para configurar el complemento. Seleccione Light> On and Save. Vuelva al menú principal cree un nuevo perfil, seleccione Estado> WiFi conectado, inserte el nombre del tour Wifi en el campo SSID; presione atrás y seleccione Encender la luz cuando ingrese la actividad. Ahora, mantenga presionada la parte izquierda del perfil recién creado, seleccione Agregar> Hora> De 4 p.m. a 6 p.m., luego cierre.

Hemos terminado. Nuestra luz se encenderá cuando entremos a casa a la hora que establezcamos.

¡Eso es útil!

Ahora es tu turno: sé creativo con Homotica y Tasker, ¡y no olvides mostrarnos lo que has creado!

Recomendado: