El proyecto domocontrol ha consistido en el análisis, diseño e implementación de un sistema de automatización de viviendas haciendo uso de dos plataformas de hardware libre como son Raspberry-Pi y Arduino.
Actualmente el sistema consta de un entorno web haciendo uso de técnicas de diseño adaptativo donde se permite a los usuarios crear, gestionar y controlar su propia instalación domótica desde cualquier dispositivo dotado de un navegador web.
También se ha diseñado y construido una máqueta a escala real de una casa unifamiliar para utilizarse como banco de pruebas de las tecnologías y funcionalidades desarrolladas.
El objetivo de este trabajo es continuar el trabajo realizado en Domocontrol incorporando nuevas características tales como:
- Implementación de la capa de datos en una base de datos SQL relacional, para mejorar la estabilidad y la integridad de los datos de la base de datos actual (MongoDB No-SQL) en fase Beta para procesadores ARM.
- Perfeccionar y terminar la implementación de las interfaces de los entornos de configuración y control.
- Añadir nuevas funcionalidades como por ejemplo: programaciones horarias de eventos, creación de escenarios, control de cámaras, gestión de video, espacios multimedia…
- Mejora de los algoritmos de regulación climática y lumínica.
- Redes de arduinos para el caso de instalaciones distribuidas.
Cómo tecnologías principales para su implementación se han utilizado: HTML5, JavaScript, CSS, Bootstrap y JQuery Mobile para el desarrollo de las capas de presentación e interfaces, y NodeJS, MongoDB y Firmata, cómo tecnologías utilizadas para la elaboración de la capa lógica de negocio y capa de datos.
Metología:
Para la realización de este trabajo se sugiere seguir la metología SCRUM, aunque se estudiará utilizar otra distinta en función del alumno que realize este trabajo, sus preferencias, así como la intensificación que esté cursando.
El trabajo se desarrollará en las siguientes etapas:
- Estudio del sistema Domocontro y de las distintas técnicas para abordar el problema
- Estudio de la tecnología hardware y software que permita implementar las ampliaciones propuestas
- Diseño de las nuevas funcionalidades
- Implementación
- Validación y pruebas
Cómo tecnologías principales para su implementación se utilizarán: HTML5, JavaScript, CSS, Bootstrap y JQuery Mobile para el desarrollo de las capas de presentación e interfaces, y NodeJS, MongoDB y Firmata, cómo tecnologías utilizadas para la elaboración de la capa lógica de negocio y capa de datos.