Fases del proyecto

El desarrollo del proyecto ha sido dividido en las siguientes fases (los objetivos en negrita ya han sido superados).

Alpha-1 (superada en 0.8)

Objetivos:

  1. Sistema operativo funcional
  2. Funcionamiento en red
  3. Interfaz web operativa (odcgi)
  4. Gestión de paquetes de software (odpkg)
  5. Soporte para múltiples repositorios
  6. Control de dispositivos eléctricos (soporte controlador de ejemplo) (odcontrol)
  7. Gestión de usuarios básica
  8. Persistencia de configuración
  9. Gestión de eventos (odevents)
  10. Sistema de videovigilancia (odvideo)

Una vez superada Alpha-1 (ver test de validación) ya tenemos un sistema operativo estable sobre el que desarrollar cómodamente. Una interfaz depurada nos permitirá experimentar con nuevas funcionalidades y el soporte para múltiples repositorios facilitará la distribución de nuevos paquetes de software.

 

Alpha-2 (superada en 0.8.5)

Objetivos:

  1. Soporte para audio activado
  2. Actualización del sistema base (odpkg)
  3. Sincronización multi-agente (oddiscovery)
  4. Soporte para múltiples idiomas (odcgi)
  5. Interfaz XML para integración (odcgi)
  6. Seguridad a nivel de IP (iptables)
  7. Envío de notificaciones por e-mail (email)
  8. Sintentizador de voz integrado y funcional (odspeech)
  9. Firmware para Arduino
  10. Controladores para Arduino y Micropik (odcontrol)

Conseguido un sistema de red estable, con persistencia en la configuración de todos los agentes, ya podemos implantar un sistema OpenDomo en una instalación real. La gestión del módulo de control, asi como la videovigilancia, proporcionan útiles funcionalidades a la distribución.

 

Beta (prevista para 0.9.0)

Objetivos:

  1. Sistema gráfico mínimo o acceso desde plataforma multimedia (Moovida)
  2. Soporte para sensores inalámbricos (odcontrol con X10)
  3. Autodescubrimiento de servicios (oddiscovery)
  4. Gestor de eventos propio (odevents)
  5. Envío de notificaciones por SMS
  6. Soporte del protocolo X10 o KNX
  7. Software de adiestramiento (odai)
  8. Acceso a través de https (cherokee)
  9. Tests automáticos a través de API

Otros objetivos interesantes para Beta es ofrecer soluciones integradas de OpenDomo con otros productos cuyas funcionalidades sean compatibles con un sistema domótico.

Comments

Integración con XBMC

No estaría mal integrar OpenDomo con XBMC como frontend gráfico para el control de cámaras de seguridad y activación/desactivación de escenas.

No encaja con la arquitectura

Incorporar todo un motor gráfico en un agente OpenDomo no va demasiado acorde con la arquitectura del sistema. Sería mucho más conveniente instalarlo en el terminal que deba ofrecer la interfaz visual (el que tenga físicamente conectada la pantalla) y que éste acceda mediante las APIs o a través de web al sistema OpenDomo. Hay multitud de plataformas multimedia que gestionan maravillosamente el potencial gráfico, que podrían funcionar como frontend del sistema.

Además, nuestro objetivo es ajustar las prestaciones (y por tanto coste y consumo) de los agentes, por lo que esta opción implicaría una desviación notable de ese objetivo.

Aún así, la flexibilidad de OpenDomo permitiría implementar un sistema de esas características si en alguna instalación fuese necesario, pero por desgracia no disponemos de recursos para incorporarlo a nuestro plan de ruta.

Gracias por la idea, igualmente!

Plataforma multimedia como panel de control

Tal vez no me he explicado claro.

La idea de usar XBMC no trataría de hacerse dentro de un agente OpenDomo ni mucho menos (sería una locura).

El objetivo de mi propuesta era la creación de un plugin para XBMC que pudiera comunicarse con OpenDomo a modo de panel de control. Toda la estética de la interfaz sería coherente con esta plataforma multimedia mejorando la "user experience" y, tal vez, permitiendo a su vez el uso de control remoto de XBMC a través de dispositivos Android a estas funcionalidades.

Lógicamente, XBMC es una plataforma multimedia que se integra en un HTPC y no un sistema embedido de bajo consumo para la gestión domótica.

He visto la propuesta de integración con Moovida, por eso la idea de XBMC.

Gracias por tu respuesta.

genial!

Yo hice mis pinitos con moovida, subí un video en YouTube por si quieres verlo:

http://www.youtube.com/watch?v=9yniqxQGsCo

Básicamente hacía lo que planteas, visualización de cámaras y control, el problema era que la interfaz de moovida no se adaptaba (no se si han hecho algún avanze a tal efecto) a lo que es realmente una interfaz de control domótico.

Estaría bien poder mostrar un menú fijo con tareas preferidas y un mapa de la casa por el que ir navegando e ir accediendo a las diferentes habitaciones. Crees que es posible?

No conzco mucho xbmc, creo que los plugins también se programan en python. En todo caso, si quieres pelearte con ello no dudes en comentarnos tus avances, quizá te podamos ayudar.

Por cierto, sabes si los plugins de xbmc tambien corren en boxee??

En ese caso

En ese caso me parece una muy buena idea. Si dispones de conocimientos de programación de plugins para XBMC, podríamos ayudarte en el desarrollo de una API que permitiera tal conexión. La experiencia con Moovida fue positiva, en el sentido de la facilidad de desarrollo de tales plugins, aunque la usabilidad del entorno es muy baja. En cambio XBMC parece sumamente cómodo, por lo que valdría la pena ese desarrollo.

Objetivos post-Beta1

La fase Beta1 se encuentra cada día más cerca, así que ya toca definir los objetivos a seguir una vez ésta sea superada. Para entonces, OpenDomo estará a punto para ser explotado, pero nuestro trabajo no habrá hecho más que empezar. He aquí algunos de los retos marcados para entonces:

  • Reducir el downtime a un máximo de 20s: el arranque ahora es tolerante a fallos y determinista, pero el tiempo necesario para levantar un sistema completo en un agente estándar (200MHz) es demasiado largo.
  • Optimizar el procesado de scripts desde odcgi: con la traducción de cadenas y las llamadas remotas, se pierde la sensación de inmediatez. Es conveniente reducir este tiempo a fracciones de segundo.
  • Desarrollar APIs para facilitar la programación de otros módulos: tal vez algunas librerías Perl, Python o C podrían ayudar a integrar OpenDomo con otros programas.
  • Eliminar las "applets" de Busybox que no sean estrictamente necesarias.

¿Alguna sugerencia más?