Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

Componentes y suministros

Raspberry Pi 2 Model B × 1
Arduino UNO × 1
Sensor DHT11 Temperatura y Humedad (4 pines) × 2
Higrómetro de suelo × 1
Arduino Pro Mini 5V × 2
Batería 9V (genérica) × 3
Bomba de agua (Opcional) × 1
nRF24l01+ × 3
Socket nRF24l01+ (Opcional) × 1
Transistor NPN (Opcional) × 1
Regulador de voltaje 3.3V × 2
Resistencia 10kΩ × 2
Condensador 10µF × 4
Condensador 47µF × 2
Perfboard × 3

Herramientas y máquinas necesarias

Aplicaciones y servicios en línea

Sobre este proyecto

Planeaba construir un sistema de automatización doméstica barato. Quería que fuera modular para poder añadir sensores y dispositivos sin muchos cambios. WARAN (Windows IoT, Azure, Raspberry Pi, Arduino, NRF24L01+) es un sistema modular de automatización doméstica que consta de un único Hub y múltiples módulos. El módulo será una combinación de microcontrolador y sensores que recopilan datos de diferentes ubicaciones de la casa y transmiten los datos al Hub vía RF. Toda la comunicación entre Hub y módulos ocurre vía RF. Habrá una app complementaria de Windows Phone para el Hub. Aquí hay un diagrama de flujo simple explicando la configuración.

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

¿Por qué Windows IoT?

Soy desarrollador de software aventurándome en IoT. Con mi experiencia previa en XAML/C# y Visual Studio (que considero el mejor IDE) fue muy útil para implementar esto rápidamente.

¿Por qué NRF24L01+?

Al buscar opciones inalámbricas, el NRF24L01+ surgió como una solución barata y de bajo consumo. Con librerías potentes disponibles, fue la mejor solución para mí.

¿Por qué Windows Azure?

Windows Azure es muy fácil de aprender y adaptar. Con poca configuración para levantar el servicio, podemos centrarnos más en desarrollo que en configuración y despliegue. Mi experiencia previa con Azure ayudó en la integración rápida.

El Hub

El Hub es el centro de control de WARAN. Está compuesto por RPI2, Arduino Uno y nRF24L01+. El RPI2 ejecuta Windows IoT Core. Ejecuta una Universal App que actúa como centro de control. El Hub se conecta a una pantalla grande (típicamente TV o monitor) para ver datos de los módulos y controlarlos. Un teclado y ratón conectados al RPI2 ayudan a añadir/quitar módulos del centro de control. Aquí está el diagrama de circuito (consulta archivo WARAN.Hub.fzz en el proyecto).

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

¿Cómo funciona?

Cada módulo tendrá una dirección única con la que el Hub se comunica. Añadiremos un módulo al centro de control usando esta dirección y dándole un nombre. Una vez añadido, el centro de control (Universal App) enviará datos al Arduino Uno vía I2C. El Arduino Uno enviará datos al módulo vía nRF24L01+ y el módulo leerá datos de los sensores o iniciará/detendrá un dispositivo según los datos recibidos y enviará datos de vuelta al Arduino Uno. El Arduino Uno enviará los datos al centro de control vía I2C. Estos datos se mostrarán en la TV/Monitor y también se enviarán a la nube. El Arduino Uno actúa solo como interfaz para que el RPI2 obtenga datos de sensores de otros módulos. Este proceso ocurre en tres escenarios:

  1. A intervalos específicos según el módulo.
  2. Cuando el usuario interactúa con el centro de control (vía Ratón/Teclado).
  3. Cuando se envía un trigger desde la nube (vía PubNub).
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

Así es como interactúan los componentes en el Hub y los módulos.

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

El Centro de Control

El centro de control es una Universal App que se ejecuta en el RPI2. Es la interfaz para que el usuario interactúe. Se comunica con los módulos y también con la nube. WARAN control center utiliza Azure Mobile Services y PubNub como backend en la nube. La información de cada módulo que añadimos se almacena localmente en SQLite DB y también se envía a Azure Mobile Service. Esto a su vez envía un mensaje PubNub o notificación push a la app móvil. No quiero explicar la parte de codificación aquí y convertir este artículo en un lío. El código fuente del proyecto, documentación y detalles de despliegue se encuentran en https://bitbucket.org/arjunganesan/waran (estoy actualizando la documentación completamente, pronto estará lista). Así funciona el centro de control.

La App Móvil

La app móvil es una app de Windows Phone (desarrollaré para otras plataformas luego) que actuará como app complementaria del Hub. Podemos ver todos los datos de sensores desde cualquier parte del mundo. Si hay información importante de un módulo (como alerta de fuga de gas de un módulo monitor de gas) recibiremos notificación push. También podemos disparar alguna acción en el módulo (como iniciar bomba en el módulo Plant Waterer) desde el móvil. Como todo ocurre vía nube, no hace falta que el móvil esté cerca del Hub.

Así se ve la App Móvil:


Módulos

El módulo es una combinación de componentes que trabajan juntos y reciben/envían datos hacia/desde el Hub vía RF. Puede ser una combinación como Arduino Pro Mini con sensores o RPI2 con sensores, etc. Todo lo que necesita es recibir datos/comando del Hub vía RF y responder apropiadamente. Esto da infinitas posibilidades de módulos. Para empezar añado 2 módulos:

  1. Plant Waterer (Regador de plantas)
  2. Temperature Monitor (Monitor de temperatura)

Plant Waterer

El regador de plantas monitoriza el nivel de agua en las plantas y la temperatura del entorno. En caso de agua insuficiente se envía alerta a la app móvil. Podemos iniciar la bomba desde la app móvil desde cualquier lugar. También podemos configurarlo para iniciar automáticamente la bomba cuando el nivel de agua baje del umbral. Consiste en Arduino Pro Mini, DHT11, Higrómetro de suelo y nRF24L01+. Aquí el diagrama de circuito (consulta PlantWaterer.fzz en el proyecto).

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

La energía de la batería de 9V va al pin RAW del Arduino Pro Mini. El regulador integrado da 5V en Vcc. Usamos esto para alimentar el DHT11. También damos la energía de 9V como entrada al regulador de 3.3V que usamos para alimentar el nRF24L01+. El nivel de agua del higrómetro se leerá en el pin analógico A3. La lectura de temperatura del DHT11 se leerá en el pin digital 6. En el pin digital 5 enviaremos una señal a un transistor o relé para iniciar/detener una bomba. Para demo usaré una bomba DC y un transistor como interruptor. Aquí el flujo de funcionamiento:

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

No quería que el circuito quedara en protoboard, así que lo pasé a perfboard. Quería mantenerlo compacto así que lo hice así. Puedes consultar el diagrama de circuito y crear tu propio layout.

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

Y abajo hay un vídeo de cómo funciona.

Temperature Monitor

El monitor de temperatura vigilará la temperatura en una habitación (ej. dormitorio) y nos mantendrá informados de temperatura y humedad. También podemos encender/apagar o ajustar un dispositivo (Termostato, AC, etc.) desde el Hub o móvil. Para demo encenderé/apagaré un LED conectado al Arduino. El circuito consiste en Arduino Pro Mini, DHT11 y nRF24L01+. Abajo el diagrama de circuito (consulta TemperatureMonitor.fzz en el proyecto).

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

La energía de la batería de 9V va al pin RAW del Arduino Pro Mini. El regulador integrado da 5V en Vcc. Usamos esto para alimentar el DHT11. También damos la energía de 9V como entrada al regulador de 3.3V para alimentar el nRF24L01+. La lectura de temperatura y humedad del DHT11 se leerá en el pin digital 5. En el pin 6 enviaremos señal a un transistor o relé para iniciar/detener un dispositivo (ej. Termostato, AC). Para demo usaré un LED para mostrar encendido/apagado. Aquí el flujo de funcionamiento:

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

Así lo monté en perfboard. Puedes crear tu propio layout basado en el diagrama.

Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes
Kit de automatización doméstica WARAN: Raspberry Pi, Arduino, sensores y componentes

Y aquí cómo funciona.

Problemas conocidos

Planes futuros

Me gustaría hacer de esto una plataforma abierta para que la gente implemente su propio sistema de automatización. Estabilizaré el Hub y la app móvil. Añadiré muchos más módulos. Comandos de voz y respuesta están en la hoja de ruta. Ahora trabajo en:

Todos estos módulos combinados y funcionando como una sola unidad vía Hub darán el sistema de automatización que siempre quise. Iré añadiendo nuevos módulos como proyectos separados en Hackster. Todos son bienvenidos a añadir módulos y expandir. Actualizaré la wiki sobre cómo añadir nuevos módulos.

Código

Bitbucket

https://bitbucket.org/arjunganesan/waran

Esquemáticos

WARAN.Hub.fzz PlantWaterer.fzz TemperatureMonitor.fzz

Proceso de manufactura

  1. Construye sistema domótico con Raspberry Pi para control remoto
  2. Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
  3. Mando USB para juegos DIY con Arduino – Construye tu propio gamepad de alto rendimiento
  4. Interfaz Física Robusta para Control de Domótica
  5. Pixel Chaser: Juego LED Interactivo de Un Toque con Arduino Nano
  6. Sistema inteligente de riego para plantas con Arduino Nano
  7. Levitación magnética repulsiva con Arduino: Circuito simple y guía DIY
  8. Controlador doméstico Arduino con Alexa: Automatización inteligente simplificada
  9. Pong Neón en Matriz NeoPixel con Arduino Nano
  10. Juego Ruleta LED DIY: Crea un Arcade para Una Persona con Arduino Nano
  11. Cómo la tecnología de hogar inteligente transforma la vida cotidiana