Descripción del problema

Análisis del problema

“Be smart, be iHouse style”

La creciente necesidad de disminuir el impacto ambiental producto de la actividad del hombre. La inseguridad que se ha instalado en los hogares por la creciente tasa de robos. El interés de “estar conectados” con lo que pasa en nuestro alrededor o lo que sucede en los hogares con los hijos mientras los padres no se encuentran. Estos son algunos de los problemas que si bien tienen solución por separado, mediante la adquisición de diversas tecnologías o servicios, no han sido capaces de implementarse en un único diseño o plataforma.

Developed by:

Ignacio Ambiado & Renato Casas-Cordero


Programación Orientada a Objetos [ELO329]

Analizadas las causas del problema, creemos que la solución está en entregar al usuario una solución global y con tecnología cercana al uso cotidiano. Con esto nos referimos a un sistema embebido expansible a una aplicación para smartphone.


Para lograr esto, se hace uso de la tecnología de microcontroladores. Los que mediante programación y circuitería son capaces de sensar, enviar y recibir datos, además de obtener y realizar acciones que están sucediendo en tiempo real.

En este caso en particular se hizo uso de una polataforma de hardware libre llamada Arduino. Dentro de las características presentes destacan:


  1. Lenguaje de programación Wiring.

  2. Entorno de desarrollo Processing.

  3. Entradas análogas y digitales.

  4. Transmisión serial.

  5. Capacidad de extender funcionalidades (Shields).

Algunos Casos de USO...


  1. Nombre : Encender leds.

  2. Propósito : El usuario desea encender leds a través de interfaz web/aplicación.

  3. Actor : Usuario.

  4. Pre-condición : Existe conexión web entre Usuario-Arduino.

                              Se cuenta con diversos leds conectados al Arduino.

                              Se cuenta con interfaz gráfica Java. (Applet)

  1. Evento : El usuario activa los led (Enciende/Apaga/Intensidad).

  2. Post-condición : El estado del led cambia.

  3. Tipo : Manual.

ACTOR

SISTEMA

  1. 1.El compila y/o ejecuta corre programa Java iHouse.


  1. 3.Usuario selecciona pestaña “Sensor de Temperatura”.


  1. 5.Usuario  selecciona “iniciar Gráfico”.








8. Usuario cierra modalidad gráfico.  

  1. 2.Arduino reconoce conexión entrante de usuario.


  1. 4.Interfaz gráfica despliega opciones de “Sensor de Temperatura”.


  1. 6.Sistema inicia conexión RXTX entre aplicación Java y hardware Arduino (sensor).


  1. 7.Sistema despliega gráfico en tiempo real de temperatura percibida por sensor


9. Se interrumpe conexión RXTX y sistema vuelve a su estado inicial de espera de interrupción.

Taste it HERE!

Arduino Code

Java Code

Dificultades

Posibles Mejoras

Dentro del desarrollo de la solución al problema, surgieron algunas problemáticas que en su mayoría fueron solucionadas. Las más relevantes se detallan a continuación:


  1. Dificultad en implementar applet que pudiese estar embebida en una página web.

  2. Lograr transmisión RXTX de diversos sensores que estuviesen constantemente pendiente de interrupciones relializadas por el usuarios a través de la interfaz gráfica.

Pensando en las potencialidades o posibles mejoras que puede tener el proyecto, hemos pensado en:


  1. Montar un servidor para poder acceder al servicio de iHouse desde cualquier lugar, a través de una conexión web.

  2. Conectar el dispositivo Arduino a través de un dispositivo inalámbrico, posiblemente aumentando sus capacidades con el uso de “shields” con tecnología wifi.

________________________________________________________________



  1. Nombre : Medición de temperatura.

  2. Propósito : El usuario desea controlar ventilador a través de interfaz web/aplicación.

  3. Actor : Usuario.

  4. Pre-condición : Existe conexión web entre Usuario-Arduino.

                              Se cuenta con un sensor de temperatura conectado al Arduino.

                              Se cuenta con interfaz gráfica Java. (Applet)

  1. Evento : El usuario observa gráfica de temperatura a través de un gráfico.

  2. Tipo : Manual.

________________________________________________________________



  1. Nombre : Controlar ventilador.

  2. Propósito : El usuario obtiene datos en tiempo real de la temperatura de una pieza.

  3. Actor : Usuario.

  4. Pre-condición : Existe conexión web entre Usuario-Arduino.

                              Se cuenta con un servomotor conectado al Arduino.

                              Se cuenta con interfaz gráfica Java. (Applet)

  1. Evento : El usuario modifica barra de intensidad del ventilador.

  2. Post-condición : La potencia del ventilador se ve alterada.

  3. Tipo : Manual.

ACTOR

SISTEMA

  1. 1.El compila y/o ejecuta corre programa Java iHouse.


  1. 3.Usuario selecciona sección “Control de Luces”.


  1. 5.Usuario  interactúa con algún led en particular mediante los botones ON/OFF o intensidad.






8. Usuario recibe feedback de sus instrucciones mediante cambios en intensidad de los led.  

  1. 2.Arduino reconoce conexión entrante de usuario.


  1. 4.Interfaz gráfica despliega opciones de “Control de Luces”.


  1. 6.Sistema inicia conexión RXTX entre aplicación Java y hardware Arduino (sensor).


  1. 7.Luces led interactúan según las instrucciones dadas por el usuario en la gráfica.

ACTOR

SISTEMA

  1. 1.El compila y/o ejecuta corre programa Java iHouse.


  1. 3.Usuario selecciona sección “Control de Ventilador”.


  1. 5.Usuario  selecciona manipula potencia del ventilador mediante barra deslizante, al igual que modo ON/OFF.





 

  1. 2.Arduino reconoce conexión entrante de usuario.


  1. 4.Interfaz gráfica despliega opciones de “Control de Ventilador”.


  1. 6.Sistema inicia conexión RXTX entre aplicación Java y hardware Arduino (sensor).


  1. 7.Ventilador interactúan según las instrucciones dadas por el usuario en la gráfica.