SlideShare una empresa de Scribd logo
1 de 27
Víctor Enrique Elena Redondo
           12 de marzo de 2013
Contenido

 1. Introducción
 2. Domótica y Modbus
 3. Objetivos
 4. Producto software
 5. Herramientas utilizadas
 6. Aspectos relevantes del desarrollo
 7. Demostración
 8. Conclusiones y líneas futuras
 9. Preguntas
                                         2
1. Introducción

• Aplicación web para control domótico ¿Qué
  es?

• ¿Cómo surge la idea?

• Empresa: freeDôm Ingeniería Domótica y
  Telecomunicaciones, empresa especializada
  en proyectos de automatización y control de
  instalaciones en viviendas y edificios.

                                              3
2. Domótica (I)
• Proviene de la unión de domus: casa (latín) y
  automática: que funciona por sí sola (griego).
• Automatización de la vivienda, mediante
  control centralizado y/o remoto de
  dispositivos.

                             Ahorro energético
                             Incremento de la
                              comodidad
                             Protección patrimonial
                             Comunicaciones

                                                   4
2. Domótica (II)
 Dispositivos
  Controladores      PLC
  Actuadores                (750-849)
  Sensores
 Interconexión entre ellos    BUS DOMÓTICO

 Arquitectura
  Centralizada
  Descentralizada
  Distribuida
                                             5
2. Modbus (I)
• Protocolo de comunicaciones (nivel 7 - Modelo
  OSI) basado en arquitectura maestro/esclavo.
• Características:
  – Estándar de facto en la industria.
  – Es público.
  – Su implementación no presenta grandes
    complicaciones.
  – Maneja bloques de datos sin suponer restricciones.




                                                         6
2. Modbus (III)
Modbus/TCP
• Variante RTU que funciona en Ethernet
• Permite comunicación orientada a conexión
  entre dispositivos compatibles
• Independiente del medio de transmisión de
  datos




                                              7
2. Modbus (IV)
Trama Modbus/TCP




             Cabecera MBAP




                             8
3. Objetivos de software



    Telecontrol y telemetría
    Seguridad
    Automatización de tareas
    Gestión energética
    Futura reutilización y
     evolución del sistema


                                9
3. Objetivos personales

                   • Abordar un proyecto de amplias
                     características.
                   • Unir dos interesantes materias:
                     domótica e informática.
                   • Aprender el protocolo Modbus.


• Mantener contacto con el mundo laboral.
• Estudiar diferentes lenguajes de
  programación, frameworks, técnicas y herramientas.
• Investigar y estudiar nuevos conceptos: Single Page
  Application, Responsive Web Design y AJAX.
                                                        10
4. Producto software (I)




(PFC)




                           11
4. Producto software (II)
              iHôme




                            12
4. Producto software (III)




 Características y funcionalidades de la app

                                               13
4. Producto software (IV)
• Óptima estandarización en la visualización y ejecución
  en el cliente.


                                      Navegadores

     9+


                             Dispositivos (Responsive
                                          Web Design)



                                                           14
4. Producto software (V)
• Control de la iluminación, calefacción, persianas y puerta
  del garaje.
• El contenido de la aplicación se gestiona en el navegador
  de forma dinámica, sin tener que recargar la página (SPA).
• Gráficas a partir de históricos de mediciones de
  temperatura y consumo.
• Sistema de envío de correos.
• Sistema de autenticación de usuarios fiable y seguro.
• Programaciones de control de la automatización.
• Apartado de ayuda.
• Panel de control para integrar una alarma.
                                                         15
4. Producto software (VI)
• Visualización de la maqueta a través de una cámara IP
  instalada en la oficina (VIVOTEK FD7131).


• Pasarela para integrar otros protocolos de forma sencilla.
• Optimización: caché y compresión de archivos js y css.
• Versión demostración.
• Control de peticiones AJAX si el usuario cambia de
  pestaña o ventana de la aplicación.
• Configuración sencilla para adaptar a otras instalaciones.
• Permite comunicarse con varios esclavos (configurando
  un archivo XML).
                                                          16
4. Producto software (VII)
• Orientada a la reutilización y futura evolución.
• Adaptable para cada tipo de usuario. Es sencillo
  construir una versión personalizada para cada supuesto
  cliente o cometido.
• Formulario para enviar un correo electrónico al autor.




                                                       17
5. Herramientas




                  18
6. Desarrollo (I)
Funciones Modbus empleadas para
acceso a datos

 • Leer estado de salidas discretas o coils. (Read Coils)
 • Escribir múltiples salidas discretas o coils. (Write
   Multiple Coils)
 • Leer múltiples registros. (Read Multiple Registers)
 • Escribir múltiples registros. (Write Multiple Registers)


 Coils         1 bit       Registros           16 bits
                                                          19
6. Desarrollo (II)
   Tabla de direcciones Modbus
   utilizadas




                                 20
6. Desarrollo (III)
• Patrones de diseño:
   – Abstract Factory con Factory Method : integrar de manera
     eficiente otros drivers de diferentes protocolos o otros
     mecanismos de comunicación.



   – Modelo-Vista-Controlador: parte de la aplicación que se ejecuta
     en el servidor (PHP).

   – Active Record proporcionado por el framework Codeigniter para
     realizar consultas a la base de datos.



                                                                       21
6. Desarrollo (IV)
• Javascript no provee sistema de hilos ni procesos.
  Simulación de hilos para mantener el control en tiempo
  real mediante AJAX. setInterval()
• Las programaciones se han realizado basadas en
  cronjobs, propios de sistemas Unix.
• Arduo trabajo de diseño web.



• Proceso Unificado
• Hitos


                                                           22
5. Demostración




      http://awcd.freedomingenieria.com/webdom

                                                 23
7. Conclusiones: Resultado
Los objetivos técnicos marcados en el inicio se han
alcanzado:
• Controlar la automatización en tiempo real.
• Posibilidad de realizar programaciones.
• Generar gráficas a partir de mediciones.
• Adaptar un driver que utilice el protocolo Modbus.
• Desarrollar un sistema de autenticación en la app.
• Permitir el envío de emails.
• Construir una interfaz vistosa, moderna y adaptable
Los requisitos han sido suplidos:
• Escalabilidad, modularidad y adaptabilidad
  orientados a la reutilización.
• Rapidez, sencillez y usabilidad de la interfaz.
                                                        24
7. Líneas futuras

                     • Backend con interfaz de
                       usuario para el administrador.
                     • Añadir otros drivers.
                     • Envío de emails al usuario para
                       registrar acciones.


  • Principio de CMS (Content Management System).
    Construir versiones de la app adaptadas a cada tipo
    de instalación domótica.
  • Grabar vídeos de la cámara instalada en la vivienda.

                                                       25
7. Líneas futuras

• Configuración de la apariencia de la interfaz.
• Mecanismo de comunicación distinto a AJAX.
  websockets de HTML5.
• Reutilización del código de Single Page Application para
  futuros proyectos web.
• Adaptación a una app metro de Windows 8




                                                         26
¡MUCHAS GRACIAS!

          Víctor Enrique Elena Redondo
                     12 de marzo de 2013

Más contenido relacionado

Similar a WebDom

Wed 2.0 y computacion en la nube.
Wed 2.0 y computacion en la nube.Wed 2.0 y computacion en la nube.
Wed 2.0 y computacion en la nube.jnco11
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...atSistemas
 
Lista de precios 18 dic.
Lista de precios 18 dic.Lista de precios 18 dic.
Lista de precios 18 dic.DarkrizDeath PB
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosAdrian Alonso Vega
 
atSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedatSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedJuanjo Sánchez
 
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?cloudbex
 
Web camp el_poder_de_los_cms_umbraco_13_04_13
Web camp el_poder_de_los_cms_umbraco_13_04_13Web camp el_poder_de_los_cms_umbraco_13_04_13
Web camp el_poder_de_los_cms_umbraco_13_04_13yolss12
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos Luis Fernando Aguas Bucheli
 
Arquitectura de redes
Arquitectura de redesArquitectura de redes
Arquitectura de redesDUnia Colome
 
Introducción a la Plataforma para Móviles Android
Introducción a la Plataforma  para Móviles AndroidIntroducción a la Plataforma  para Móviles Android
Introducción a la Plataforma para Móviles AndroidEduardo Lazo Cisneros
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBJavier Condori Flores
 
Plataformas de gestion de red
Plataformas de gestion de redPlataformas de gestion de red
Plataformas de gestion de redLuis Yallerco
 

Similar a WebDom (20)

Arquitectura web
Arquitectura webArquitectura web
Arquitectura web
 
Wed 2.0 y computacion en la nube.
Wed 2.0 y computacion en la nube.Wed 2.0 y computacion en la nube.
Wed 2.0 y computacion en la nube.
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
 
Scada
ScadaScada
Scada
 
Lista de precios 18 dic.
Lista de precios 18 dic.Lista de precios 18 dic.
Lista de precios 18 dic.
 
Scada
ScadaScada
Scada
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos Deportivos
 
Desarrollo de aplicaciones AJAX con GWT
Desarrollo de aplicaciones AJAX con GWTDesarrollo de aplicaciones AJAX con GWT
Desarrollo de aplicaciones AJAX con GWT
 
atSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedatSistemas - Presentacion Hybreed
atSistemas - Presentacion Hybreed
 
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
 
18188206 sistema-scada
18188206 sistema-scada18188206 sistema-scada
18188206 sistema-scada
 
Líneas de Investigación 2008
Líneas de Investigación 2008Líneas de Investigación 2008
Líneas de Investigación 2008
 
Web camp el_poder_de_los_cms_umbraco_13_04_13
Web camp el_poder_de_los_cms_umbraco_13_04_13Web camp el_poder_de_los_cms_umbraco_13_04_13
Web camp el_poder_de_los_cms_umbraco_13_04_13
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
 
Arquitectura de redes
Arquitectura de redesArquitectura de redes
Arquitectura de redes
 
Introducción a la Plataforma para Móviles Android
Introducción a la Plataforma  para Móviles AndroidIntroducción a la Plataforma  para Móviles Android
Introducción a la Plataforma para Móviles Android
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEB
 
Olivares
OlivaresOlivares
Olivares
 
Plataformas de gestion de red
Plataformas de gestion de redPlataformas de gestion de red
Plataformas de gestion de red
 

Último

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Último (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

WebDom

  • 1. Víctor Enrique Elena Redondo 12 de marzo de 2013
  • 2. Contenido 1. Introducción 2. Domótica y Modbus 3. Objetivos 4. Producto software 5. Herramientas utilizadas 6. Aspectos relevantes del desarrollo 7. Demostración 8. Conclusiones y líneas futuras 9. Preguntas 2
  • 3. 1. Introducción • Aplicación web para control domótico ¿Qué es? • ¿Cómo surge la idea? • Empresa: freeDôm Ingeniería Domótica y Telecomunicaciones, empresa especializada en proyectos de automatización y control de instalaciones en viviendas y edificios. 3
  • 4. 2. Domótica (I) • Proviene de la unión de domus: casa (latín) y automática: que funciona por sí sola (griego). • Automatización de la vivienda, mediante control centralizado y/o remoto de dispositivos.  Ahorro energético  Incremento de la comodidad  Protección patrimonial  Comunicaciones 4
  • 5. 2. Domótica (II) Dispositivos  Controladores PLC  Actuadores (750-849)  Sensores Interconexión entre ellos BUS DOMÓTICO Arquitectura  Centralizada  Descentralizada  Distribuida 5
  • 6. 2. Modbus (I) • Protocolo de comunicaciones (nivel 7 - Modelo OSI) basado en arquitectura maestro/esclavo. • Características: – Estándar de facto en la industria. – Es público. – Su implementación no presenta grandes complicaciones. – Maneja bloques de datos sin suponer restricciones. 6
  • 7. 2. Modbus (III) Modbus/TCP • Variante RTU que funciona en Ethernet • Permite comunicación orientada a conexión entre dispositivos compatibles • Independiente del medio de transmisión de datos 7
  • 8. 2. Modbus (IV) Trama Modbus/TCP Cabecera MBAP 8
  • 9. 3. Objetivos de software  Telecontrol y telemetría  Seguridad  Automatización de tareas  Gestión energética  Futura reutilización y evolución del sistema 9
  • 10. 3. Objetivos personales • Abordar un proyecto de amplias características. • Unir dos interesantes materias: domótica e informática. • Aprender el protocolo Modbus. • Mantener contacto con el mundo laboral. • Estudiar diferentes lenguajes de programación, frameworks, técnicas y herramientas. • Investigar y estudiar nuevos conceptos: Single Page Application, Responsive Web Design y AJAX. 10
  • 11. 4. Producto software (I) (PFC) 11
  • 12. 4. Producto software (II) iHôme 12
  • 13. 4. Producto software (III) Características y funcionalidades de la app 13
  • 14. 4. Producto software (IV) • Óptima estandarización en la visualización y ejecución en el cliente. Navegadores 9+ Dispositivos (Responsive Web Design) 14
  • 15. 4. Producto software (V) • Control de la iluminación, calefacción, persianas y puerta del garaje. • El contenido de la aplicación se gestiona en el navegador de forma dinámica, sin tener que recargar la página (SPA). • Gráficas a partir de históricos de mediciones de temperatura y consumo. • Sistema de envío de correos. • Sistema de autenticación de usuarios fiable y seguro. • Programaciones de control de la automatización. • Apartado de ayuda. • Panel de control para integrar una alarma. 15
  • 16. 4. Producto software (VI) • Visualización de la maqueta a través de una cámara IP instalada en la oficina (VIVOTEK FD7131). • Pasarela para integrar otros protocolos de forma sencilla. • Optimización: caché y compresión de archivos js y css. • Versión demostración. • Control de peticiones AJAX si el usuario cambia de pestaña o ventana de la aplicación. • Configuración sencilla para adaptar a otras instalaciones. • Permite comunicarse con varios esclavos (configurando un archivo XML). 16
  • 17. 4. Producto software (VII) • Orientada a la reutilización y futura evolución. • Adaptable para cada tipo de usuario. Es sencillo construir una versión personalizada para cada supuesto cliente o cometido. • Formulario para enviar un correo electrónico al autor. 17
  • 19. 6. Desarrollo (I) Funciones Modbus empleadas para acceso a datos • Leer estado de salidas discretas o coils. (Read Coils) • Escribir múltiples salidas discretas o coils. (Write Multiple Coils) • Leer múltiples registros. (Read Multiple Registers) • Escribir múltiples registros. (Write Multiple Registers) Coils 1 bit Registros 16 bits 19
  • 20. 6. Desarrollo (II) Tabla de direcciones Modbus utilizadas 20
  • 21. 6. Desarrollo (III) • Patrones de diseño: – Abstract Factory con Factory Method : integrar de manera eficiente otros drivers de diferentes protocolos o otros mecanismos de comunicación. – Modelo-Vista-Controlador: parte de la aplicación que se ejecuta en el servidor (PHP). – Active Record proporcionado por el framework Codeigniter para realizar consultas a la base de datos. 21
  • 22. 6. Desarrollo (IV) • Javascript no provee sistema de hilos ni procesos. Simulación de hilos para mantener el control en tiempo real mediante AJAX. setInterval() • Las programaciones se han realizado basadas en cronjobs, propios de sistemas Unix. • Arduo trabajo de diseño web. • Proceso Unificado • Hitos 22
  • 23. 5. Demostración http://awcd.freedomingenieria.com/webdom 23
  • 24. 7. Conclusiones: Resultado Los objetivos técnicos marcados en el inicio se han alcanzado: • Controlar la automatización en tiempo real. • Posibilidad de realizar programaciones. • Generar gráficas a partir de mediciones. • Adaptar un driver que utilice el protocolo Modbus. • Desarrollar un sistema de autenticación en la app. • Permitir el envío de emails. • Construir una interfaz vistosa, moderna y adaptable Los requisitos han sido suplidos: • Escalabilidad, modularidad y adaptabilidad orientados a la reutilización. • Rapidez, sencillez y usabilidad de la interfaz. 24
  • 25. 7. Líneas futuras • Backend con interfaz de usuario para el administrador. • Añadir otros drivers. • Envío de emails al usuario para registrar acciones. • Principio de CMS (Content Management System). Construir versiones de la app adaptadas a cada tipo de instalación domótica. • Grabar vídeos de la cámara instalada en la vivienda. 25
  • 26. 7. Líneas futuras • Configuración de la apariencia de la interfaz. • Mecanismo de comunicación distinto a AJAX. websockets de HTML5. • Reutilización del código de Single Page Application para futuros proyectos web. • Adaptación a una app metro de Windows 8 26
  • 27. ¡MUCHAS GRACIAS! Víctor Enrique Elena Redondo 12 de marzo de 2013