Diseño e Implementación de una Arquitectura Multimedia para el Hogar Digital
Carlos Javier Jiménez Suárez
Tutor: Domingo Benítez Díaz
Escuela de Ingeniería Informática
Índice de contenidos
Introducción Objetivos Metodología Recursos Fases de desarrollo Verificación de la infraestructura Resultados y conclusiones Trabajo futuroObjetivos
1. Implementar la infraestructura telemática de una red de hogar digital basada en la arquitectura UPnP.
2. Al menos uno de los elementos del hogar digital será un dispositivo multimedia, el cual permitirá suministrar audio y vídeo bajo demanda.
3. Al menos uno de los elementos del hogar digital será un dispositivo denominado “Punto de Control”.
Metodología
Pasos descritos por M. Jeronimo y J. Weast para el
diseño e implementación de dispositivos UPnP.
Utilización de documentos oficiales del foro UPnP. Ejemplos de código de la librería utilizada.
Estudio del punto de control web ya desarrollado en
otro PFC.
Para el desarrollo del software se ha seguido
Recursos
Recursos hardware:
Ordenadores portátiles y sobremesa.
Red de área local Ethernet 100baseTx y Wifi 802.11g.
Recursos software:
Sistema operativo Linux (distribución Ubuntu 10.4 LTS). Sistema operativo Windows XP SP2.
Intel Developer Tools for UPnP Technology, GUPnP Tools,
Coherence UPnP Inspector.
Librería libupnp 1.6.6. Compiladores. Umbrello, Dia 0.96.
Inkscape 0.47, Gimp 2.6.8, OpenOffice 3.2. Firebug, Wireshark.
Fases de desarrollo
1. Descripción de la infraestructura UPnP para el Hogar Digital.
2. Aire Acondicionado UPnP.
3. MediaServer UPnP.
4. MediaRenderer UPnP.
1. Descripción de la infraestructura UPnP
para el Hogar Digital
Universal Plug & Play (UPnP):
Arquitectura software abierta y flexible. Fácil puesta en marcha de dispositivos.
Independiente del fabricante, SO, lenguajes de
programación, hardware y medio físico de red.
Tecnologías basadas en internet (IP, TCP, UDP, HTTP,
XML, SOAP, ...).
Es extensible. Forum UPnP.
UPnP define los protocolos de comunicación entre
los componentes de la red en las distintas fases de comunicación.
Dispositivos Servicios
Acciones Var. Estado
Puntos de Control
1. Descripción de la infraestructura UPnP
para el Hogar Digital
FASES Y PROTOCOLOS UPNP
1. Descripción de la infraestructura UPnP
para el Hogar Digital
La arquitectura A/V UPnP es independiente
del dispositivo, formato de contenidos y protocolo de transferencia.
ARQUITECTURA AUDIO/VÍDEO UPnP
1. Descripción de la infraestructura UPnP
para el Hogar Digital
COMPONENTES DE LA RED A/V UPnP
1. Descripción de la infraestructura UPnP
para el Hogar Digital
2. Aire Acondicionado UPnP
Análisis
No dispondrá de dispositivos embebidos. Documento definición de dispositivo
AirCond.xml no definido en el Forum UPnP.
Servicio definido en AirCondStatuscontrol.xml
(permitirá cambiar propiedades físicas y obtener información de forma síncrona y asíncrona).
Variables de estado y acciones específicas
para el servicio basado en otros servicios definidos en UPnP.
2. Aire Acondicionado UPnP
Diseño
2. Aire Acondicionado UPnP
Diseño
La implementación se dividirá en diferentes subsistemas: InterfazUsuario SimuladorAirCond UpnpAirCond Otros ficheros: SOAP-AJAX.js
Ficheros XML de descripción dispositivo/servicio
ControlAirCond.html
main.cpp
2. Aire Acondicionado UPnP
Implementación
3. MediaServer UPnP
Análisis
Interfaz gráfica desde un punto de control web. Cada vez que el dispositivo arranque
(localmente) se chequeará la estructura del directorio de medios y se creará la interfaz web.
A través de dicha interfaz web se mostrarán los
directorios (object.folder) y los archivos (object.items) que conforman el
ContentDirectory.
El dispositivo deberá ser compatible con la
3. MediaServer UPnP
Diseño
3. MediaServer UPnP
Diseño
3. MediaServer UPnP
Diseño
MODIFICACIONES PARA LA INTEGRACIÓN CON PUNTO DE CONTROL WEB
Problema: El MediaServer no sabe de los dispositivos
MediaRenderer presentes en la red UPnP. La interfaz web del MediaServer se crea en el dispositivo, por lo tanto, en ella no se puede mostrar con la URL del MediaRenderer para
reproducir dicho ítem.
Solución:
El estándar UpnP establece que se pueden
añadir acciones y variables de estado a los servicios de los dispositivos (incluso añadir nuevos servicios).
Acciones añadidas al CDS:
SetMediaRenderURL
3. MediaServer UPnP
Diseño
3. MediaServer UPnP
Implementación
Se han seguido los mismo subsistemas que
para el Aire Acondicionado UPnP.
4. MediaRenderer UPnP
Análisis
Deberá reproducir Audio y Vídeo.
Control de reproducción básico, control básico
del volumen y de algunas características de vídeo.
Utilizará algún programa de reproducción de
ficheros multimedia con licencia GNU GPL.
Proporcionará una interfaz web de control. El dispositivo deberá ser compatible con la
4. MediaRenderer UPnP
Diseño
4. MediaRenderer UPnP
Diseño
4. MediaRenderer UPnP
Implementación
Se ha reutilizado código de los anteriores
dispositivos.
Llamadas al sistema para la creación y
comunicación bidireccional entre procesos (tuberías).
Para la reproducción de archivos multimedia se
utiliza la aplicación Mplayer (licencia GNU GPL2).
5. Integración en el Punto de
Control Web
Para controlar los dispositivos será necesario
un punto de control.
Los dispositivos se han integrado en un punto
de control web desarrollado en [NB09] introduciendo algunas modificaciones.
Se ha tenido encuenta los cambios en el
5. Integración en el Punto de
Control Web
DIAGRAMA DE CLASES
Capturar evento
Capturar evento
Enviar acción AVT:SetAVTrasnportURI
Enviar acción AVT:SetAVTrasnportURI
Subscribirse al CDS
Subscribirse al CDS
Si presencia de MS:1y MR:1 envía acción CDS:SetMediaRendererURL
Verificación de la infraestructura
Resultados y Conclusiones
Se han cumplido los objetivos propuestos.
Se ha demostrado la viabilidad de adoptar esta
tecnología en el hogar actual utilizando herramientas de software libre.
Se ha integrado con dispositivos desarrollados en
otro PFC.
Se han utilizado conocimientos de asignaturas de
Trabajo Futuro
Comunicación entre distintos dispositivos para
llevar a cabo una tarea.
Varios MediaServers y/o MediaRenderers
presentes en la red.
Obtener vídeo a través de la red. Transcodificación.
Integración en dispositivos móviles. etc.