I.V.I.

Domótica

El sistema principal está instalado en una Raspberry Pi, donde se encuentra el core y el resto de módulos. Programado en su mayoría en C++, con algunos scripts para funciones auxiliares en Python y Bash. Utiliza una base de datos MySQL permitiendo cambiar de idioma con solo añadir la base de datos correspondiente, siendo el nombre de la base ivi-es, ivi-en, etc. La propia Raspberry sirve la interfaz web a través de Apache.

Un módulo Arduino se utiliza para el control y monitorización de sensores y motores. La conexión con los sensores se realiza através de módulos Xbee.

El control se puede realizar por comandos de voz, interfaz web desde cualquier dispositivo con conexión a la red, por consola o por email.

Las funciones implementadas o en desarrollo hasta el momento son las siguientes:

  • Síntesis de voz con Festival
  • Control de persianas, permite controlar hasta 5 persianas motorizadas.
  • Control de termostato, implementado para termostato Heatmiser.
  • Definiciones, utilizando la palabra clave "define" se puede obtener la descripción o definición de cualquier palabra. Para ello se utiliza la api de Wikipedia
  • Previsión metereológica, actual o hasta una semana. Se utiliza la api de Openweathermap
  • Reproducción de música, con varios modos de funcionamiento, especificando canción, grupo o aleatoria.
  • Programación de tareas.
  • Modo "perro guardián" para vigilancia y alarma.
  • Monitorización continua de gas metano, monóxido de carbono, temperatura interior y exterior, humedad, luz exterior y presencia en las distintas habitaciones.
  • Sistema de notificación a través de correo electrónico ante la detección de alguna alerta o recordatorio de tareas.
  • Monitorización de los servicios del sistema y dispositivos conectados a la red mediante Nagios
  • Sistema de notificación a través de correo electrónico ante la detección de alguna alerta o recordatorio de tareas.
IVI

Módulo principal

El módulo principal contiene todo el sistema, es el cerebro y corazón de I.V.I.

  • Raspberry Pi modelo B (recomendable modelo B+ por el mayor número de puertos usb) raspberrypi.org
  • Arduino UNO arduino.cc
  • Módulo Xbee serie 2 y placa Xbee Explorer regulada digi.com
  • Placa para multiplexar señal e interfaz para control remoto de persianas.
  • Placa del control remoto de persianas emisor ED5-W4
  • Adafruit Trinket de 3.3v y anillo Neopixel de 12 leds rbg para visualización de estado adafruit.com

A la salida de audio de la Raspberry se conecta la base de un sistema de altavoces inalámbricos, de esta manera no es necesario cablear para colocar altavoces en las habitaciones.

Módulo de sensores

Este es el módulo de sensores principal situado en la cocina. Se trata de un Arduino Mini Pro que se comunica con el sistema principal a través de un módulo Xbee configurado como "router AT".
En el display se muestra alternativamente la temperatura y humedad, o una alarma si se detecta gas.
Dispone de los siguientes sensores:

  • PIR SR501 detector de presencia
  • MQ-4 detector de gas metano
  • DHT22 sensor de temperatura y humedad
  • Dos LDR medidor de luz, interior y eterior
  • Display de 7 segmentos Adafruit

Dispone de un led para indicar cuando se detecta movimiento con el sensor PIR. La información se envía al módulo principal cada 20 segundos.

Descargar código para ArduinoDescargar código para Arduino - Descargar -

Módulo de habitaciones

Este es el módulo para las habitaciones, en cada habitación hay uno de estos módulos. Se trata de un Adafruit Trinket (5V) que se comunica con el sistema principal a través de un módulo Xbee configurado como "router AT".
Dispone de los siguientes sensores:

  • PIR SR501 detector de presencia
  • LDR medidor de luz

Dispone de un led para indicar cuando se detecta movimiento con el sensor PIR. La información se envía al módulo principal cada 30 segundos.

Descargar código para Trinket - Descargar -

Descargar modelo 3D (frontal) - Descargar -

Descargar modelo 3D (trasero) - Descargar -

Módulo de puerta

Este es el módulo de sensores situado en la puerta principal. Se trata de un Adafruit Trinket (5V) que se comunica con el sistema principal a través de un módulo Xbee configurado como "router AT".
Dispone de los siguientes sensores:

  • MQ-7 detector de monóxido de carbono
  • Sensor de apertura de puerta

La información se envía al módulo principal cada 30 segundos.

Descargar código para Arduino - Descargar -

Imágenes

Módulos

Módulos Grupo

Core

Core Luz de estado

Anillo

Anillo Detalle

Sensores

Módulo Sensores

Esquema

Sensores Esquema

Habitaciones

Módulo Habitaciones

Esquema

Habitaciones Esquema

Puerta

Módulo Puerta

Esquema

Puerta Esquema

Arriba