Full text
Universidad de Zaragoza Centro Politécnico Superior Departamento de Ingeniería Electrónica y Comunicaciones Proyecto de Fin de Carrera Control vía ZigBee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial Autor: Daniel Domínguez Guillén Director: José Miguel Idiago Valero Ponente: Roberto José Casas Nebra Ingeniería de Telecomunicación - Especialidad Electrónica Curso 2010-2011 Diciembre 2010
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 1 -
Daniel Domínguez Guillén - 2 - A mis padres, que sin su apoyo no habría sido posible llegar hasta aquí Gracias A toda la gente de Tecnodiscap por estar siempre disponibles Y especialmente a Miguel Ta Noelia y ta totz os mios amigos que nunca no fan burro falso quan se les amenista
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 3 -
Daniel Domínguez Guillén - 4 - Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial RESUMEN Este Proyecto de Fin de Carrera se ha realizado en Tecnodiscap, grupo de investigación del I3A, dentro de la línea de investigación en salas de estimulación multisensorial. Se ha detectado en las salas actualmente disponibles una falta de posibilidades de interacción del usuario con el entorno, lo que supone una limitación en el desarrollo de las sesiones terapéuticas. Se ha colaborado en el desarrollo de un sistema que permita la interacción entre diferentes elementos que pueden estar presentes en una sala de estimulación multisensorial. En concreto se ha realizado un controlador ZigBee de dispositivos de iluminación DMX. Además del puro diseño hardware, se ha integrado el dispositivo en un driver ZigBee, que permite la auto-detección del dispositivo. Este driver funciona bajo el framework OSGi, que facilita el manejo e interconexión de dispositivos y servicios. De esta manera el objeto software creado por el driver podrá interactuar con otros dispositivos o servicios. Por otro lado se han realizado dos diseños software. El primero de ellos se trata de un sencillo interfaz de control del dispositivo de iluminación elegido para este proyecto desde un ordenador. El segundo es una primera versión del gestor de interconexiones entre los sensores y los actuadores presentes en una sala de estimulación multisensorial, para lo que se ha colaborado tanto con alumnos de diseño industrial como con ingenieros de Tecnodiscap. Así, se ha conseguido crear una buena base para su futura ampliación con más dispositivos. El objetivo principal ha sido el de añadir un elemento nuevo a las salas de estimulación multisensorial e integrarlo junto con otros dispositivos que se están desarrollando en paralelo; pero a la vez se pretende tener una visión clara del proceso de diseño de un dispositivo, desde la electrónica básica, pasando por el firmware, el funcionamiento de un driver y el control software del dispositivo, hasta llegar a la puesta en funcionamiento del mismo.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 5 -
Daniel Domínguez Guillén - 6 - INDICE DE CONTENIDOS CAPITULO 1: Introducción ................................................................................................................ - 10 - 1.1.- Marco del proyecto .................................................................................................. - 10 - 1.2.- Motivación del proyecto. Salas de estimulación multisensorial ................................. - 10 - 1.3.- Desarrollo ................................................................................................................ - 12 - 1.4.- Objetivos ................................................................................................................. - 13 - 1.5.- Estructura de la memoria......................................................................................... - 14 - 1.6.- Distribución temporal del desarrollo del proyecto..................................................... - 15 - CAPITULO 2: Estado del arte ............................................................................................................ - 16 - CAPITULO 3: Especificaciones del sistema ........................................................................................ - 20 - 3.1.- Esquema global del sistema ..................................................................................... - 20 - 3.2.- Necesidades del usuario y condicionantes ................................................................ - 22 - CAPITULO 4: Desarrollo Hardware ................................................................................................... - 24 - 4.1.- Protocolo DMX ........................................................................................................ - 24 - 4.2.- Actuador: foco de iluminación controlado por DMX.................................................. - 24 - 4.2.1.- Características .................................................................................................. - 24 - 4.2.2.- Funcionamiento ................................................................................................ - 25 - 4.3.- PCB del puente DMX – módulo ZigBee ...................................................................... - 26 - 4.3.1.- Características y diagramas de bloques ............................................................. - 26 - 4.3.2.- Diseño de la PCB ............................................................................................... - 31 - 4.4.- Firmware del puente DMX – módulo ZigBee ............................................................. - 32 - 4.4.1.- Funcionamiento general ................................................................................... - 32 - 4.4.2.- Perfil ZigBee-Tecnodiscap ................................................................................. - 34 - 4.4.3.- Estructura de mensajes ..................................................................................... - 37 -
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 7 - CAPITULO 5: Middleware y software ............................................................................................... - 39 - 5.1.- Framework OSGi y ontología OSGi4AmI ................................................................... - 39 - 5.1.1.- OSGi ................................................................................................................. - 39 - 5.1.2.- OSGi4AmI ......................................................................................................... - 40 - 5.1.3.- Relación entre OSGi4AmI y Perfil ZigBee-Tecnodiscap ....................................... - 43 - 5.2.- Driver ZigBee ........................................................................................................... - 44 - 5.3.- Desarrollo software ................................................................................................. - 46 - 5.3.1.- Colaboración con alumnos y profesores de Diseño Industrial ............................ - 46 - 5.3.2.- Aplicación de desarrollo para el control del foco ............................................... - 47 - 5.3.3.- Aplicación de interacción entre dispositivos ...................................................... - 48 - CAPITULO 6: Conclusiones ............................................................................................................... - 51 - 6.1.- Cumplimiento de objetivos ....................................................................................... - 51 - 6.2.- Desarrollos futuros .................................................................................................. - 53 - ANEXO A: Estimulación multisensorial ............................................................................................. - 56 - A.1.- Introducción. Concepto Snoezelen............................................................................ - 56 - A.2.- Salas de estimulación multisensorial ........................................................................ - 57 - A.2.1.- La estimulación multisensorial .......................................................................... - 57 - A.2.2.- Áreas de estimulación multisensorial ................................................................ - 57 - A.2.3.- La sala de estimulación multisensorial .................................................................. - 59 - A.2.2.- Materiales disponibles ...................................................................................... - 60 - ANEXO B: Programmable System-on-Chip, PSoC.............................................................................. - 63 - B.1.- Características principales ....................................................................................... - 63 - B.2.- Arquitectura ............................................................................................................ - 65 - ANEXO C: Protocolo DMX ................................................................................................................ - 67 - C.1.- Introducción ............................................................................................................ - 67 - C.2.- Nivel físico ............................................................................................................... - 68 - C.3.- Capa de red ............................................................................................................. - 69 - C.4.- Configuración y especificaciones del protocolo ......................................................... - 69 - C.5.- Ejemplos de dispositivos DMX .................................................................................. - 71 -
Daniel Domínguez Guillén - 8 - ANEXO D: Protocolo ZigBee ............................................................................................................. - 74 - D.1.- Introducción ............................................................................................................ - 74 - D.2.- Estándar IEEE 802.15.4 ............................................................................................ - 75 - D.3.- Protocolo ZigBee ..................................................................................................... - 76 - D.3.1.- Tipos de dispositivos......................................................................................... - 76 - D.3.2.- Topologías y funcionamiento de la red ............................................................. - 77 - D.3.3.- Comunicaciones ............................................................................................... - 78 - D.3.4.- Mensajes de datos ........................................................................................... - 79 - D.3.5.- Seguridad ......................................................................................................... - 79 - D.3.6.- Perfiles ............................................................................................................. - 80 - D.3.7.- Campos de aplicación y resumen ...................................................................... - 81 - ANEXO E: ESQUEMATICOS Y PCB ..................................................................................................... - 83 - E.1.- Esquemático del sistema y PCB ................................................................................ - 83 - E.2.- Montaje físico final .................................................................................................. - 87 - ANEXO F: Presupuesto del hardware diseñado ................................................................................ - 88 - F.1.- Descripción del presupuesto ..................................................................................... - 88 - F.2.- Presupuesto ............................................................................................................. - 89 - INDICE DE FIGURAS ................................................................................................................... - 90 - INDICE DE TABLAS ..................................................................................................................... - 93 - REFERENCIAS Y BIBLIOGRAFÍA ............................................................................................. - 94 -
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 15 - En el cuarto anexo se explica el protocolo inalámbrico ZigBee. En el quinto anexo se presentan las imágenes de los diseños de la PCB y fotografías del montaje físico del sistema. En el sexto anexo se presenta el presupuesto del hardware diseñado. 1.6.- Distribución temporal del desarrollo del proyecto A continuación [Fig. 1.1] se muestra la distribución temporal del proyecto con un diagrama de Gantt. Las tareas que se presentan se corresponden con los objetivos mencionados anteriormente. Id. Nombre de tarea T4 09 T1 10 T2 10 T3 10 T4 10 dic ene feb mar abr may jun jul ago sep oct nov 1Estudio previo del estado del arte de DMX y salas de estimulación multisensorial 2 Aprendizaje y programación de PSoC 3Aprendizaje y desarrollo de sistema de comunicación ZigBee 4 Diseño del hardware y prototipado 5 Diseño y montaje de PCB 6 Programación middleware y software 7 Redacción de la memoria Fig. 1.1.- Distribución temporal del desarrollo del proyecto
Daniel Domínguez Guillén - 16 - CAPITULO 2 Estado del arte El estudio detallado del estado del arte de las salas de estimulación multisensorial se ha planteado ya en el capítulo anterior, y se ha realizado una profundización en el mismo en el Anexo A, por lo que aquí nos centraremos en el estudio del control DMX inalámbrico. Antes de diseñar nuestro sistema, se contactó con profesionales del sector del sonido y la iluminación de espectáculos, para tener una información concreta de la situación actual del control de dispositivos con protocolo DMX de mano de la gente que está trabajando con ello. Con esta información se obtuvo una buena visión de los sistemas disponibles en la actualidad. A continuación pasamos a ver algunos de los más representativos, de entre todos los que se pueden encontrar en el mercado: ENTTEC OPEN DMX USB Este dispositivo de la empresa Enttec [3] es un interfaz de puerto USB a conector XLR-5 [Fig. 2.1] con protocolo DMX, para poder sacar una línea de control DMX desde un ordenador y poder gestionar la iluminación de un espectáculo con un software sencillo y adaptado a las necesidades concretas. Su característica más interesante es que posee licencia GPL, es decir, su hardware es público y libre. No se trata de un sistema inalámbrico como el diseñado en este proyecto, pero ha resultado muy útil su estudio, debido a que se consiguió uno por medio de un profesional del sector y se pudieron caracterizar las señales enviadas para el control de luces, obteniendo así unos datos reales de temporización de las tramas DMX y niveles de salida soportados.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 17 - A modo orientativo, el precio de este dispositivo es de 55 euros más 10 euros del adaptador XLR-5 a XLR-3, debiendo añadirle posteriormente, de querer ser utilizado, todo el hardware necesario para la funcionalidad inalámbrica. Fig.2.1.- Interfaz USB-DMX de la empresa Enttec CHAUVET D-Fi 2.0 [4] Es uno de los sistemas profesionales más económicos del mercado, alrededor de los 200 euros cada elemento (siendo necesarios dos, uno configurado como emisor y el otro como receptor [Fig. 2.2], en total unos 400 euros) Este dato ya nos da una idea de la imposibilidad de integrar un sistema comercial en las salas de estimulación multisensorial, debido a que no se pueden permitir estos costes para el simple control de un dispositivo del aula. Este sistema utiliza un protocolo propietario y trabaja en la banda UHF, pudiendo escoger la frecuencia de trabajo Fig.2.2.- Sistema de control DMX inalámbrico comercializado por la empresa Chauvet
Daniel Domínguez Guillén - 18 - ELATION EWDMX SYSTEM Se presenta este sistema DMX inalámbrico [Fig. 2.3] como ejemplo típico de material profesional, cuyo precio no se adapta a nuestra capacidad y cuyas características técnicas, pensadas para espectáculos en directo, sobrepasan las necesidades de las aulas. El sistema de Elation Professional [5] posibilita las comunicaciones a distancias de hasta 900 metros y permite controlar 16 universos DMX (un total de 8192 canales), magnitudes que no se corresponden con el uso que se hará del sistema en las salas. Trabaja como una W-LAN en la banda de 2,45 GHz y utiliza técnicas de seguridad como FHSS (Frequency Hopping Spread Spectrum) para evitar interferencias con otras redes. Asimismo, el precio del conjunto (emisor + receptor) ronda los 800-900 euros, debido a las características antes mencionadas (y manteniéndose todavía en el rango medio de precios en esta clase de sistemas) Fig.2.3.- Sistema de control DMX inalámbrico comercializado por la empresa Elation Professional
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 19 - HMBTEC DMX WiFi CONTROLLER Otra alternativa que encontramos en el mercado es la que se presenta en este dispositivo de la empresa HMBTEC [6] [Fig. 2.4]. La peculiaridad de este dispositivo es que está pensado para ser utilizado con una aplicación de dispositivos táctiles de la empresa Apple (iPhone, iPod y iPad) Esto no sería adecuado para nuestra implementación debido al incremento de precio que supondría depender de dispositivos comerciales de una sola marca (el software necesario debería de ser el vendido por la propia empresa). En cuanto a especificaciones técnicas, trabaja bajo como una W-LAN WiFi y sólo nos permite controlar 100 canales DMX, limitándonos el tamaño del universo (que puede ser de hasta 512). Fig. 2.4.- Sistema de control DMX inalámbrico comercializado por la empresa HMBTEC
Daniel Domínguez Guillén - 20 - CAPITULO 3 Especificaciones del sistema 3.1.- Esquema global del sistema Para concretar lo anteriormente explicado, se presentan los siguientes esquemas. En el primero de ellos [Fig.3.1] observamos un diagrama físico que nos da una idea general del sistema completo y sus bloques funcionales. En el ordenador central instalaremos el software de control del sistema. Esta aplicación (que se presentará en el capítulo 5) establecerá la comunicación con todos los dispositivos de la sala de estimulación y los podremos configurar al inicio de la sesión. Particularizando a nuestro dispositivo, se observa en la figura que la comunicación se hará mediante protocolo ZigBee, teniendo un coordinador en el ordenador de control y un nodo en el dispositivo DMX. Tras el nodo de comunicaciones, se situará el hardware diseñado para traducir las instrucciones recibidas vía ZigBee en datos con protocolo DMX, conectando a la salida del conjunto el dispositivo a controlar. En el segundo esquema [Fig.3.2] se ilustra la pila de protocolos que se va a seguir en la programación firmware y middleware. La comunicación del firmware del microcontrolador con el sistema se enmarcará en el Perfil ZigBee-Tecnodiscap. Respetando este perfil, integraremos el dispositivo en el driver ZigBee utilizado por el grupo, que creará el dispositivo OSGi4AmI y publicará el servicio correspondiente en la capa OSGi.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 21 - Fig. 3.1.- Diagrama físico del sistema completo Fig. 3.2.- Esquema ilustrativo de la pila software del sistema y su comunicación con el hardware
Daniel Domínguez Guillén - 22 - 3.2.- Necesidades del usuario y condicionantes Teniendo en cuenta lo expuesto hasta ahora, se puede presentar una lista de los condicionantes que se nos presentan para el diseño del sistema, relacionándolos con las características principales que vendrán impuestas por éstos: Sistema de bajo coste: los colegios no poseen un gran presupuesto para el material y los diseños al no ser empresas al uso. Para conseguirlo optamos por: Dispositivos con protocolo DMX, ya que al ser el estándar utilizado en iluminación y escenografía profesional, se encuentra una gran oferta disponible en el mercado, lo que abarata mucho el precio frente al material específico diseñado por la empresas especializadas para las salas. PSoC. Con esta tecnología reduciremos la cantidad de hardware adicional en la PCB y su coste final. Sus principales características y ventajas se pueden consultar en el Anexo B, pero a modo de idea general podemos reseñar que se trata de un dispositivo que integra varios bloques funcionales en el propio chip del microcontrolador. Protocolo ZigBee. Sus características cumplen perfectamente las necesidades del sistema y es más barato y sencillo que otras alternativas inalámbricas (consultar Anexo D para un estudio detallado de este protocolo) Versatilidad: el sistema diseñado será un controlador para todo tipo de dispositivos con protocolo DMX. Por lo tanto deberá de ser posible utilizarlo para manejar cualquier actuador con dicho protocolo que elijamos con cualquiera de los sensores que tiene desarrollados el grupo Tecnodiscap para este tipo de salas. Por ejemplo, para un foco en el que manejamos la aparición de los colores solamente, puede ser muy intuitivo un sensor basado en RFID, pero si en un futuro se cambiase el foco de luces por un foco motorizado, podría ser más intuitivo un sensor de inclinación que se correspondiese directamente con la posición del foco. Para lograr esto será necesario: Perfil ZigBee-Tecnodiscap. Como indicamos en el apartado 1.4, es el protocolo de comunicación entre nodos ZigBee utilizado por Tecnodiscap. Su uso permitirá la integración del sistema en el driver ZigBee.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 23 - Driver Zigbee. Integrándolo en el driver ZigBee utilizado en el grupo se consigue un dispositivo interoperable por cualquiera de los sensores desarrollados por Tecnodiscap. OSGi4AmI. Respetando la ontología OSGi4AmI conseguiremos que el sistema pueda ser utilizado por cualquier software (siempre que esté integrado en el framework OSGi) para el que sea transparente y sólo se centre en sus funcionalidades. Además, OSGi nos permitirá actualizar o modificar módulos en un futuro sin necesidad de actualizar todo el software ni detener su funcionamiento. Aplicación de interconexiones. Deberemos de diseñar una aplicación sencilla e intuitiva que nos permita configurar la sala como deseemos al comienzo de cada sesión asignando a cada controlador que tengamos disponible el actuador que se desee, y las características concretas que queramos relacionar entre ellos.
Daniel Domínguez Guillén - 24 - CAPITULO 4 Desarrollo Hardware 4.1.- Protocolo DMX En el Anexo C se ha realizado una explicación detallada de las características técnicas del protocolo DMX, pero a modo de introducción diremos que se trata del protocolo utilizado a nivel profesional en la iluminación y escenografía. Permite controlar todo tipo de dispositivos, desde focos de luz (tanto estáticos como motorizados) hasta elementos de efectos como máquinas de humo, lásers… Nos ofrece una comunicación robusta frente a ruido (debido a que se controla con señal balanceada) y, gracias a que, como hemos comentado, es el estándar en el mundo profesional, nos abre un enorme abanico de material disponible para las salas de estimulación multisensorial. 4.2.- Actuador: foco de iluminación controlado por DMX 4.2.1.- Características Lo primero que se decidió al elegir el dispositivo de iluminación fueron sus características, realizando un estudio de varios dispositivos que se adecuaban al presupuesto que se manejaba (hasta unos 150 euros) En este punto ya se observa la importancia del diseño del sistema para que se pueda utilizar material del mercado profesional, puesto que la versatilidad de los equipos en este rango de valores ya es superior a la de equipos diseñados especialmente para salas de estimulación multisensorial, de coste muy superior.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 31 - Vcc 6 Gnd 5 Vo 4 1 2 3 U6 ISOCOM-H11L1SM-OPTOCOUPLER R 1 /RE 2 DE 3 D 4 Vcc 8 B7 A6 GND 5 U5 TI-SN75LBC176AD-DIFF TRANSCEIVER GND2 GND2 VCC2 +5V 2K R2 Res2 270 R3 Res2 VCC2VCC2 DMX_TX 1 2 3 J3 CON3 Fig. 4.7.- Salida del sistema hacia los dispositivos DMX Observamos que todo el módulo de salida funciona con la alimentación Vcc2 referenciada a Gnd2, totalmente aislada del resto del sistema, lo que nos da una mayor seguridad y protección para las partes más sensibles. 4.3.2.- Diseño de la PCB Tras tener todo el hardware especificado, se procedió a montarlo en placa de inserción, comprobando su funcionamiento con el foco con una programación firmware a alto nivel, retocando lo que se estimó oportuno para su realización final. Tras esto se diseñó la placa de circuito impreso, teniendo en cuenta para su diseño la separación física de tierras y alimentaciones entre el módulo de salida y el resto del sistema y dejando la unión con el conector XLR-3 mediante una ficha de tres contactos, para montar el prototipo dentro de una caja protectora pero dejar el diseño abierto a su instalación en otro tipo de contenedor en un futuro. Tanto los esquemas de la PCB como las imágenes de ésta y la caja completamente montada, se pueden observar en el Anexo E.
Daniel Domínguez Guillén - 32 - 4.4.- Firmware del puente DMX – módulo ZigBee 4.4.1.- Funcionamiento general Para el control del sistema, como se ha comentado, se ha utilizado PSoC, en concreto el modelo CY8C29466-24PVXI [15]. Se encargará de recibir los comandos y datos procedentes del ZigBee y actualizar la trama DMX con los valores que le lleguen, así como construir dicha trama con las especificaciones temporales del protocolo DMX. El programa principal (main) comenzará con una serie de instrucciones hacia el módulo ZigBee mediante comandos AT. Estas instrucciones son las encargadas de conformar la red ZigBee al inicio de cada utilización, y son las siguientes: AT+DASSL (Dissasociate Local Device From PAN): Desasociamos el módulo ZigBee de la red a la que pertenecía, asegurándonos de así de que no estaba asociado a otra red diferente a la nuestra. AT+JN (Join Network): Unimos el dispositivo a la red creada por el coordinador presente en la sala actual. AT+SSINK (Search For a Sink): Buscamos la dirección del coordinador de la red para poder comunicarnos con él por medio de mensajes SCAST. AT+SCAST: Tecnodiscap DMX ZigBee Device (Transmit Data to the Sink): Enviamos un mensaje de “presentación” al coordinador. Para esta comunicación con el dispositivo ZigBee configuramos los siguientes módulos del PSoC: UART: este módulo nos permite crear una comunicación serie con el ZigBee (configurada a 19200 bps). La lectura de este puerto serie la realizaremos a bajo nivel, programando una rutina de servicio que lea a nivel de byte los datos recibidos y así mantener total control sobre la recepción de datos. Sleep Timer: es un reloj que utilizaremos para guardar los tiempos de espera entre comandos de configuración inicial del módulo ZigBee (del orden de segundos).
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 33 - Tras la configuración de la comunicación ZigBee con el coordinador, entraremos en un bucle infinito que forma la trama DMX y la envía continuamente hacia el dispositivo, ya que es un requisito de este protocolo el refresco continuo de los valores de todos los canales. Para conformar dicha trama, configuraremos los siguientes módulos: TX8: es un puerto serie de 8 bits, por el que enviaremos la trama DMX hacia el bloque de salida del sistema. PWM8: gracias a este módulo formaremos el escalón del break al principio de cada trama. Programaremos una rutina de servicio tal que saque la señal del PWM por el pin de datos y, al terminar el break, conmute dicho pin de salida al TX8 para sacar los valores de todos los canales. Además, crearemos una sencilla función de delay para los tiempos de espera del orden de µs, tales como los espacios entre canales o el tiempo entre tramas. En cada iteración del bucle principal, guardaremos un tiempo de espera correspondiente al tiempo entre tramas, enviaremos la señal de break y, seguidamente, entraremos en otro bucle de 512 iteraciones en cada una de las cuales se enviará el valor del canal correspondiente. En la siguiente figura [Fig. 4.8] se ve gráficamente el diagrama de flujo del proceso que se lleva a cabo en el firmware, observándose claramente las funciones desarrolladas por la rutina de servicio del puerto serie de recepción de datos.
Daniel Domínguez Guillén - 34 - Fig. 4.8.- Diagrama de flujo del firmware 4.4.2.- Perfil ZigBee-Tecnodiscap Tras varias comprobaciones del sistema con la recepción de órdenes a alto nivel, se pasa a integrar las instrucciones en el Perfil ZigBee-Tecnodiscap. El Módulo de comunicaciones ZigBee de Telegesis usado en el desarrollo permite un envío de mensajes entre los diferentes nodos de la red; a la forma de estructurar la información que va dentro de estos mensajes la hemos llamado Perfil ZigBee-Tecnodiscap. El Perfil ZigBee- Tecnodiscap tiene su origen en el proyecto Europeo MonAmI [16]. Su definición fue liderada por la Universidad de Zaragoza y han participado diferentes socios: Telefónica I+D, Trialog y la Universidad de Passau. Al hilo de lo explicado en el anexo dedicado a la tecnología ZigBee, el Perfil ZigBee- Tecnodiscap, siguiendo las directrices de la ZigBee Alliance, define diferentes «endpoints»,
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 35 - «clusters», comandos y eventos. A continuación vamos a hacer una breve explicación de cada uno de estos conceptos. Según el Perfil ZigBee-Tecnodiscap, cada dispositivo puede implementar diferentes endpoints, cada endpoint representa una funcionalidad individual que implementa el dispositivo; así por ejemplo, un sensor domótico que es capaz de sensar luz y temperatura, implementaría como poco dos endpoints, uno representaría el sensado de luz y el otro el de temperatura. Como se verá más adelante, la separación de funcionalidades por endpoints permite el acceso individual a cada una de las funcionalidades que puede dar cada endpoint. Dentro de cada endpoint se pueden tener implementados diferentes clusters, cada cluster especifica una funcionalidad concreta dentro de un endpoint. Siguiendo con el ejemplo anterior del dispositivo sensor de luz y temperatura, dentro del endpoint que representa al sensor de temperatura podría estar implementado un cluster que emitiera una alarma (evento) cuando la temperatura superase un umbral. Los eventos y comandos son los mensajes específicos de cada cluster. En las siguientes tablas se presentan los comandos y eventos más importantes implementados. El endpoint O4A_BASE_DEVICE [Tabla 4.3] es obligatorio implementarlo en cualquier dispositivo, pues es el endpoint que se encarga de informar al software del resto de endpoints implementados en el dispositivo. El endpoint DMX_ACTUATOR [Tabla 4.4] es el propio de la aplicación y el que da la funcionalidad al foco DMX 0x10: O4A_BASE_DEVICE CLUSTER COMANDO/EVENTO DESCRIPCION DEVICE COMMANDS 0X00: GET_TYPE Solicita información de los endpoints 0X02: PING Verifica conexión DEVICE EVENTS 0x00: ACK Confirmación 0x01: NOT_SUPPORTED Comando no soportado 0x02: ERROR Error en algún campo del comando 0x03: DEV_TYPE Información de los endpoints Tabla 4.3.- Comandos y eventos del endpoint O4A_BASE_DEVICE
Daniel Domínguez Guillén - 36 - 0x11: DMX_ACTUATOR CLUSTER COMANDO/EVENTO DESCRIPCION DEVICE COMMANDS 0x02: PING Verifica conexión DEVICE EVENTS 0x00: ACK Confirmación ACTUATOR COMMANDS 0x00: SET_STATUS Configura canales DMX del actuador ACTUATOREVENTS 0x00: STATUS_CHANGED Confirmación de configuración de canales ACTUATOR GET STATUS COMMANDS 0x01: GET_STATUS Pide el valor de todos los canales DMX ACTUATOR GET STATUS EVENTS 0x00: ACTUATOR_STATUS Devuelve el valor de todos los canales DMX ACTUATOR CUSTOM COMMANDS 0x00: SET_CONFIG_DMX_ACTUATOR Establece el estado del dispositivo(ON/OFF) 0x01: GET_CONFIG_DMX_ACTUATOR Pide el estado del dispositivo (ON/OFF) ACTUATOR CUSTOM EVENTS 0x01: CONFIG_DMX_ACTUATOR Devuelve el estado del dispositivo (ON/OFF) Tabla 4.4.- Comandos y eventos del endpoint DMX_ACTUATOR Desde el punto de vista de la programación en el PSoC, se ha creado una función que se ejecuta cada vez que le llega un mensaje procedente del ZigBee. Dicha función procesa el comando recibido, extrayendo la información del campo de datos (explicado en detalle en el apartado siguiente de este mismo capítulo), y entra en una instrucción de selección que va estudiando, nivel a nivel, el endpoint destino, el cluster y el comando recibido. Una vez identificado el comando, se ejecuta la instrucción indicada en él (por ejemplo la actualización de los canales) y se devuelven, en su caso, los datos pedidos. Con estos datos se vuelve a formar la estructura del paquete del protocolo y se envía, vía ZigBee, al software de control del sistema.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 37 - 4.4.3.- Estructura de mensajes A continuación se va a describir la estructura de los mensajes que intercambian los nodos ZigBee que obedecen al Perfil ZigBee-Tecnodiscap. Destacar que hay dos tipos de mensaje: eventos y comandos. Comandos Lo primero es definir que es un comando. Se denomina comando a todo aquel mensaje que parte del ordenador de control o de la pasarela residencial y tiene como destino cualquier nodo de la red. En la figura [Fig.4.9] se muestra la estructura que tiene un comando tipo en la red implementada. A continuación se explicará brevemente que significa cada una del las partes que conforman el comando. Fig.4.9.- Estructura de un paquete de tipo Comando ADDR_TO es la dirección a la que va remitido el mensaje, en nuestro caso no es necesario implementarlo porque el módulo ZigBee que utilizamos ya lo integra automáticamente igual que el PROFILE_ID que es el perfil del dispositivo. La parte denominada como END_POINT es el identificador, hexadecimal, del endpoint al que va dirigido el mensaje. CLUSTER_ID es la identificación del grupo de atributos en la que se encuadra el mensaje. Estos cuatro componentes del mensaje conforman la parte denominada como HEADER, esta parte es siempre fija, es decir su tamaño es siempre el mismo y no se puede obviar a la hora de mandar un comando. El resto del mensaje es la parte denominada PAYLOAD. Esta parte es de tamaño variable aunque también tendrá que ir siempre en el mensaje. La primera de sus partes LENGTH es la que define el tamaño del comando que se le envía al nodo, pero solo se expresa la longitud del PAYLOAD, puesto que como ya se ha explicado es la única parte del mensaje con tamaño variable. La segunda de sus partes es la denominada como COMMAND que, como su propio
Daniel Domínguez Guillén - 38 - nombre indica, es la identificación del comando que se manda al nodo correspondiente. Y por último, la parte denominada DATA, es la de tamaño variable, puesto que su longitud variará dependiendo del comando que se mande (e incluso puede no aparecer si el comando no requiere parámetros). En esta parte del mensaje se mandan los parámetros necesarios para su interpretación. Eventos Igual que en el caso anterior lo primero es definir qué se entiende por evento. Se denomina evento a todo aquel mensaje que parte de un nodo de la red y tiene como destino el ordenador de control o la pasarela residencial. Como se puede ver en la siguiente figura [Fig.4.10] la estructura es la misma cambiando pocas partes, por lo que solo se explicarán aquellas partes que se diferencian con respecto a los comandos. Fig.4.10.-Estructura de un paquete del tipo Evento La primera de las diferencias es que en lugar de mandar el nodo de destino, mandamos el nodo de origen. Por eso la primera de las partes, que como en el caso anterior está en la capa transparente al módulo ZigBee (por lo que no hay que programarla) es la denominada ADDR_FROM. El segundo cambio es el parámetro EVENT siendo éste, como su propio nombre indica, el evento que se envía para notificar cualquier circunstancia ocurrida al coordinador de la red.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 39 - CAPITULO 5 Middleware y software 5.1.- Framework OSGi y ontología OSGi4AmI 5.1.1.- OSGi Open Services Gateway Initiative (OSGi) es un grupo de trabajo que surgió en Marzo de 1999, cuyo principal impulsor es Sun Microsystems. El resto de los miembros fundadores son: Alcatel, Cable and Wireless, Electricité de France, Enron Communications, Ericsson, IBM, Liberate Technologies, Lucent Technologies, Motorola, Nortel Networks, Oracle, Philips Electronics, Sybase and Toshiba. Actualmente tiene unos treinta socios. Su objetivo es definir y promover un estándar abierto para permitir conectar los servicios ofrecidos en redes metropolitanas (WAN) a redes de área local (LAN) o domóticas (LON). Esto permitirá la conexión de la próxima generación de aparatos inteligentes que se puedan encontrar en un hogar (oficina) con los servicios externos a la casa (oficina) ofrecidos a través de Internet. De esta forma, Proveedores de Internet (ISP), operadores de red y fabricantes de equipos pueden ofrecer una amplia gama de servicios a los usuarios finales, utilizando todos la misma pasarela. La pasarela de servicios (Services Gateway) es un servidor embebido que se inserta en la propia red para conectar la red Internet externa con los clientes internos. La SG se inserta entre la red de Proveedores de Servicios y la red domótica, de tal forma que se separa la topología interna y externa de ambas redes. Esta SG debe ser capaz de manejar tanto flujo de datos como multimedia.
Daniel Domínguez Guillén - 40 - OSGi aporta a Java lo que se conoce como "Modularidad dinámica". Esto quiere decir que podemos instalar, actualizar o eliminar componentes de software “en caliente". Además es capaz de descubrir librerías o aplicaciones de forma dinámica y utilizarlos en nuestros módulos o aplicativos. En resumen, lo que OSGi aporta a Java es por una parte la capacidad de instalar módulos (bundles OSGi) de una manera dinámica, permitiendo así encenderlos y apagarlos tanto local como remotamente. Por otra parte OSGi nos permite que cada modulo publique objetos software (servicios o dispositivos) que pueden ser usados por el resto de módulos instalados. Vamos a poner un ejemplo ilustrativo aplicado a aulas de estimulación multisensorial: supongamos que hemos desarrollado dos dispositivos hardware con sus respectivos módulos OSGi que publican los objetos software correspondientes a cada dispositivo hardware. Supongamos que los dispositivos son un foco de luces con protocolo DMX tele-controlado por ZigBee (como el diseñado en este proyecto) y una pantalla táctil. También supondremos que hemos desarrollado otro módulo OSGi (servicio) que permite el control de las luces con la pantalla táctil. Vamos a suponer que un tiempo después desarrollamos un guante con lector RFID. La ventaja de OSGi es que no tendríamos que cambiar todo el software y ni siquiera sería necesario detener la ejecución del sistema. Nos bastaría con desarrollar tanto el módulo que publique el nuevo dispositivo como el servicio/modulo que le de funcionalidad (por ejemplo el control de las luces mediante la lectura de tags). Además, estos módulos podrían ser instalados de forma remota en la maquina presente en el colegio, y desde ese momento podrían ser usados en la sala 5.1.2.- OSGi4AmI OSGi4AmI es una ontología para integración de dispositivos es sistemas basados en inteligencia ambiental. Su nombre es debido a que se ha implementado como una colección de interfaces Java para su uso en desarrollo con tecnología OSGi. Define una formalización de los dispositivos que podemos encontrar en un ambiente inteligente, de forma que puedan ser utilizados por las aplicaciones de forma transparente, independientemente del fabricante del dispositivo, y centrándose sólo en la funcionalidad que requieren las aplicaciones. Se pretende proporcionar una representación virtual de los dispositivos presentes en el entorno físico, de forma que puedan ser utilizados por las aplicaciones del ambiente inteligente sin preocuparse de otra cosa que de la funcionalidad requerida del dispositivo.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 47 - de un interfaz para controlar el sistema dentro de la sala una vez se está trabajando con un niño en concreto. Antes de comenzar con el diseño de los interfaces se realizó una visita al colegio de educación especial Alborada para ver de cerca una sala de estimulación multisensorial y poder ver cómo los profesores de educación especial desarrollan su trabajo. Una vez realizadas unas primeras versiones de los interfaces de cada grupo realizó una prueba con usuarios reales, en concreto los profesores del colegio Alborada. Esta prueba sirvió para realizar ajustes en cuanto a funcionalidad y usabilidad de cada una de las propuestas. Las propuestas de los alumnos en cuanto a la planificación de las sesiones giraron principalmente en torno a la planificación del uso de elementos dentro de un orden temporal, al estilo de un diagrama de Gantt. Con respecto al interfaz de control dentro de la sala hubo menos unanimidad en la solución y la variedad de propuestas fue desde un control basado en dispositivos tipo PDA o teléfonos táctiles, pasando por controles basados en mando a distancia tipo Wii hasta controles por voz mediante dispositivos tipo headset bluetooth. Al final del curso cada grupo realizó una presentación de su desarrollo así como una valoración de la experiencia de trabajo sobre un caso práctico real. En general la experiencia fue muy positiva, resultando enriquecedora tanto para los alumnos como para el grupo Tecnodiscap. En el plano personal fue muy enriquecedor el enfrentarme a la preparación y exposición de una presentación frente a un grupo de alumnos, intentando aclararles las dudas sobre el tema. 5.3.2.- Aplicación de desarrollo para el control del foco Además de la aplicación para la interconexión de dispositivos, y a modo de presentación de las características del foco de iluminación elegido para este proyecto, se ha diseñado un software de control que muestra las posibilidades del dispositivo en cuestión. Se trata de una sencilla consola que permite enviar órdenes directamente al foco DMX desde el ordenador, y lanzar los programas prediseñados. Si analizamos la imagen del interfaz [Fig. 5.6], se observa que la pantalla ofrece dos métodos de control: “Programas prediseñados” y “Control por colores”
Daniel Domínguez Guillén - 48 - El primero de ellos (“Programas prediseñados”) nos permite lanzar cualquiera de los 15 programas de iluminación automática que posee el foco, pudiendo controlar la velocidad de ejecución de la animación y la frecuencia de parpadeo de la luz. Todo esto se ha hecho de manera que resulte un manejo muy sencillo, para que simplemente pulsando un botón se ejecute cada una de las acciones. El segundo de los métodos de control (“Control por colores”) nos permite controlar la intensidad de iluminación de cada uno de los 4 colores por separado, obteniendo una luz constante y sin animación (para crear un color ambiental, por ejemplo). Como se ha comentado, este software tiene una clara orientación hacia la presentación de las características y posibilidades del foco escogido, pero se puede integrar fácilmente, si se deseara, en la aplicación de interacción de dispositivos como un menú de configuración del foco para cada sesión. Fig. 5.6.- Interfaz de usuario de la aplicación para el control del foco 5.3.3.- Aplicación de interacción entre dispositivos En apartados anteriores hemos visto como a través del framework OSGi y de la ontología OSGi4AmI hemos sentados las bases para la creación de un sistema que permita añadir a las aulas de estimulación multisensorial dispositivos capaces de interactuar entre ellos y con el usuario.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 49 - En esta sección vamos a mostrar una aplicación desarrollada para permitir a los profesores de educación especial configurar los diferentes dispositivos instalados en la sala para que interactúen unos con otros. Esta idea surge de la colaboración realizada con alumnos de diseño industrial, que se ha expuesto en el apartado 5.3.1. En la figura [Fig. 5.7] puede verse el interfaz de usuario de la aplicación. Como puede observarse se ha tratado de simplificar al máximo el interfaz, dado que los profesores de educación especial no tienen por qué estar habituados al manejo del ordenador. Fig. 5.7.- Interfaz de usuario de la aplicación de interconexión entre dispositivos Se ha implementado un sistema intuitivo en el que el profesor sólo tiene que relacionar un dispositivo tipo «sensor» con un dispositivo tipo «actuador». Se busca que el profesional relacione una acción del usuario con una reacción del sistema. Por ejemplo, si el usuario toca o se acerca a algún objeto marcado con una etiqueta RFID concreta, deseamos que el sistema reaccione cambiado el color de la luz ambiental (configuración del interfaz presentada en la imagen Fig. 5.7). Esto se consigue gracias una lista de reglas activas y un método para añadir nuevas reglas. Como puede verse en la imagen del interfaz [Fig. 5.7], en la parte inferior de la aplicación hay una lista de reglas que pueden estar activas o no, a elección del profesor. También es posible
Daniel Domínguez Guillén - 50 - añadir nuevas reglas y borrar las ya existentes. Para añadir nuevas reglas se utiliza la parte superior de la aplicación, donde pueden verse diferentes listas desplegables. El profesor debería primero elegir el dispositivo sensor. En esa lista aparecerá un nombre amigable e intuitivo para cada dispositivo desarrollado que se vaya añadiendo al aula (por ejemplo “Guante” para un dispositivo de interacción basado en RFID que se coloca en la mano del usuario a modo de guante o “Mando” para utilizar el mando de la consola Wii como controlador) Una vez elegido el dispositivo, hay que elegir la acción del usuario a detectar, ya que puede darse el caso de que se puedan detectar varias acciones del usuario con diferentes sensores colocados en el dispositivo de control (utilizando el ejemplo del “Guante”, queremos que cada uno de los sensores que tiene, como el lector RFID y el sensor de actividad, controle un efecto en la sala). Para concretar un poco más la acción a detectar se han añadido las dos listas desplegables siguientes: en la primera hay que elegir un operador lógico ( =, >, < …) y en la siguiente hay que concretar el valor de comparación. Por último, siguiendo con este ejemplo, sólo quedaría elegir el dispositivo sobre el que actuar y la acción que debe realizar dicho actuador. Por ejemplo, escogiendo “Foco” para activar las opciones del dispositivo DMX diseñado en este proyecto, podríamos señalar que se cambien las luces a un determinado color.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 51 - CAPITULO 6 Conclusiones 6.1.- Cumplimiento de objetivos Tras la finalización de este proyecto se ha conseguido tener funcionando un sistema de control de iluminación con protocolo DMX de forma inalámbrica para poder instalarlo en una sala de estimulación multisensorial. Asimismo se ha integrado dicho sistema en los protocolos de comunicaciones utilizados en Tecnodiscap, quedando como resultado un sistema totalmente interoperable con cualquier sensor creado por el grupo. Si analizamos los objetivos parciales: Se ha estudiado el protocolo DMX y se ha contactado con profesionales del sector para tener una visión cercana del mercado. Asimismo se ha contado con la experiencia de la gente del grupo en el ámbito de las salas de estimulación multisensorial para tener presentes en todo momento las características especiales de este tipo de proyectos y se ha colaborado con alumnos y profesores de Diseño Industrial para la programación del software de control. Se ha profundizado en la tecnología PSoC y, gracias a ella, se ha conseguido un sistema con un hardware muy reducido y sencillo.
Daniel Domínguez Guillén - 52 - Se ha conseguido configurar una comunicación ZigBee y enmarcarla dentro del driver ZigBee utilizado por el grupo, quedando un sistema que puede funcionar en presencia de otros desarrollados sin interferir en su funcionamiento. Se ha diseñado y montado una PCB, y se ha preparado una caja protectora con los conectores necesarios, quedando un conjunto compacto y seguro. Se ha programado un software de desarrollo con el que se ha comprobado el correcto funcionamiento del sistema, y que además sirve como muestra de las características particulares del dispositivo DMX escogido para el proyecto. Se ha diseñado e implementado un software de control para la programación de las interconexiones entre dispositivos, que servirá de base para la puesta en funcionamiento final en un aula de estimulación multisensorial para permitir a los profesores configurar el sistema en cada sesión según sus necesidades. Se ha tenido en cuenta para ello el trabajo realizado en colaboración con los alumnos y profesores de Diseño Industrial. Se ha probado el sistema con un sensor desarrollado por Tecnodiscap y se ha verificado su funcionamiento utilizando el software indicado en el punto anterior. En el plano personal, la realización de este PFC ha supuesto un gran aprendizaje, tanto de herramientas de diseño como de métodos de trabajo. Se ha estudiado y alcanzado cierto nivel de manejo de PSoC, ZigBee, Altium y Java. Además, el diseñar y montar una PCB ha permitido conocer aspectos técnicos como la soldadura y el mecanizado. En resumen, se ha conseguido tener una visión global del proceso de diseño y creación de un dispositivo, trabajando en contacto con gente con una gran experiencia y conocimientos técnicos y obteniendo de ello un bagaje muy positivo. Por todo lo comentado, se puede concluir que se han cumplido satisfactoriamente todos los objetivos planteados al inicio del proyecto.
Control vía Zigbee de dispositivos de iluminación con protocolo DMX para salas de estimulación multisensorial - 53 - 6.2.- Desarrollos futuros El primer paso natural que se prevé tras este proyecto es la puesta en funcionamiento del sistema en una sala de estimulación multisensorial para ser evaluado por los usuarios. Tras unas sesiones de verificación y test, se modificará lo que se crea necesario y se instalará la versión definitiva para su utilización por parte de los profesionales en estas aulas. Además, dada la generalidad con que se ha hecho el sistema de control DMX, teniendo en cuenta los 512 canales disponibles en el protocolo y no sólo los que utiliza el dispositivo utilizado, es directo el ampliar el número de dispositivos de iluminación controlados o la complejidad de los mismos, pudiendo mejorar con éstos (si los terapeutas lo creen así) los resultados obtenidos en los usuarios. Por otro lado, al ser un diseño pensado desde el principio para estar acorde con todos los protocolos y métodos de trabajo del grupo Tecnodiscap, se presta a ser integrado en otros sistemas desarrollados, para finalmente lograr un gran abanico de sensores y actuadores interoperables que den a las salas de estimulación multisensorial unas características y posibilidades de las que actualmente carecen. En cuanto al software de control de las interconexiones entre dispositivos, se irá ampliando en relación a los elementos que se vayan desarrollando en el grupo, adaptando las posibilidades de relación sensor-actuador a los diseños concretos que se realicen. Asimismo, el diseño del interfaz y los métodos de configuración de las sesiones se podrán modificar atendiendo a las indicaciones que se den por parte de los terapeutas en las sesiones de test, para que finalmente quede una aplicación con la que se sientan familiarizados a la hora de trabajar y les aporte las características deseadas.
Daniel Domínguez Guillén - 54 -