ESTUDIOS DE I+D+I - Envejecimiento...
Transcript of ESTUDIOS DE I+D+I - Envejecimiento...
Portal Mayores http://www.imsersomayores.csic.es
ESTUDIOS DE I+D+I
Número 51
Proyecto SIRAU. Servicio de gestión de información remota para las actividades de
la vida diaria adaptable a usuario
Autor/es: Catalá Mallofré, Andreu Filiación: Universidad Politécnica de Cataluña Contacto: Fecha: 2006 Para citar este documento: CATALÁ MALLOFRÉ, Andreu (Convocatoria 2006). “Proyecto SIRAU. Servicio de gestión de información remota para las actividades de la vida diaria adaptable a usuario”. Madrid. Estudios de I+D+I, nº 51. [Fecha de publicación: 03/05/2010]. <http://www.imsersomayores.csic.es/documentos/documentos/imserso-estudiosidi-51.pdf>
Una iniciativa del IMSERSO y del CSIC © 2003
Portal Mayores http://www.imsersomayores.csic.es
Resumen Este proyecto se enmarca dentro de una de las líneas de investigación del Centro de Estudios Tecnológicos para Personas con Dependencia (CETDP – UPC) de la Universidad Politécnica de Cataluña que se dedica a desarrollar soluciones tecnológicas para mejorar la calidad de vida de las personas con discapacidad. Se pretende aprovechar el gran avance que representan las nuevas tecnologías de identificación con radiofrecuencia (RFID), para su aplicación como sistema de apoyo a personas con déficit de distinta índole. En principio estaba pensado para personas con discapacidad visual, pero su uso es fácilmente extensible a personas con problemas de comprensión y memoria, o cualquier tipo de déficit cognitivo. La idea consiste en ofrecer la posibilidad de reconocer electrónicamente los objetos de la vida diaria, y que un sistema pueda presentar la información asociada mediante un canal verbal. Consta de un terminal portátil equipado con un trasmisor de corto alcance. Cuando el usuario acerca este terminal a un objeto o viceversa, lo identifica y ofrece información complementaria mediante un mensaje oral. Para ello los objetos han de estar debidamente etiquetados por el fabricante. Para facilitar la interacción (interfaz), se ha desarrollado un sistema de acceso a la memoria de todos los elementos de lectura de etiquetas inteligentes, ya sea de modo inalámbrico mediante Wifi, o por cable, mediante Ethernet, a un servidor remoto para obtener la información de una etiqueta concreta y el producto al que va asociado. Consecuentemente se ha desarrollado un sistema de etiquetaje inteligente de todos los productos. La tendencia del mercado es que se imponga un sistema de etiquetaje global. Este sistema en un futuro será una forma más de identificación como ahora puedan ser un número de serie o un código de barras. Con un servicio remoto se ofrece la posibilidad de que el fabricante (en el caso de medicamentos) o terceras personas autorizadas puedan modificar la información útil para el usuario acerca del producto etiquetado. Otro de los objetivos del proyecto es el de desarrollar un sistema de etiquetado único y homogéneo, con un único diseño, flexible y adaptable, partiendo de la identificación cuidadosa de los usuarios. Aunque se ha confeccionado un modelo provisional de usuario, queda pendiente una futura línea de investigación de corte etnográfico, en la que se tenga en cuenta la heterogeneidad sociodemográfica del colectivo de usuarios.
INFORME FINAL SIRAU
(Servicio de gestión de Información Remota para las Actividades de la vida diaria, adaptable a Usuario)
(IMSERSO 103/06)
COORDINADOR PROYECTO: Andreu Català Mallofré
Proyecto SIRAU
INDICE 1. Introducción .................................................................................................................................................. 1
2. Estado de la tecnología y futuro en RFID. ......................................................................................... 5
2.1 Introducción ........................................................................................................................................ 5 2.2 Análisis de las tecnologías ............................................................................................................. 7 2.3 Frecuencia de operación. ............................................................................................................... 8 2.4 La etiqueta. ......................................................................................................................................... 10 2.5 Estándares. ......................................................................................................................................... 14 2.5.1 Introducción. ............................................................................................................................ 14 2.5.1.1 EPC (Electronic Product Code) Global Clase I Gen2 ............................................... 17
2.6 Estándares. ......................................................................................................................................... 20 2.7 Conclusiones y perspectivas de futuro ................................................................................... 23
3. Texto a voz (TTS Text‐to‐Speech). ..................................................................................................... 25
3.1 Introducción ...................................................................................................................................... 25 3.2 Síntesis de voz ................................................................................................................................... 25 3.2.1 Visión general de la tecnología de síntesis de voz .................................................... 25 3.2.2 Historia ....................................................................................................................................... 26 3.2.3 Tecnologías de síntesis ........................................................................................................ 27 3.2.4 El front‐end .............................................................................................................................. 31 3.2.4.1 Normalización de texto ....................................................................................................... 31 3.2.4.2 Sistemas Texto a fonema .................................................................................................... 32
3.3 Sintetizadores de voz disponibles libremente .................................................................... 33 3.4 Sintetizadores de voz disponibles comercialmente .......................................................... 34
4. Proyecto SIRAU .......................................................................................................................................... 35
4.1 Introducción. ..................................................................................................................................... 35 4.2 Sistema ................................................................................................................................................. 35 4.3 Prototipo HF ...................................................................................................................................... 37 4.4 Prototipo UHF ................................................................................................................................... 39 4.5 Servicio proveedor de información. ........................................................................................ 41 4.5.1 Servidor Global ....................................................................................................................... 43 4.5.2 Servidor Local.......................................................................................................................... 43 4.5.3 Base de datos en el terminal ............................................................................................. 44
5. Informe de Usabilidad ............................................................................................................................. 45
5.1 Introducción ...................................................................................................................................... 45 5.2 Informe usabilidad .......................................................................................................................... 48 5.2.1 Introducción ............................................................................................................................. 48 5.2.2 Primera fase: determinación de perfiles de usuarios y análisis contextual de tarea 50 5.2.2.1 Perfiles de usuarios ............................................................................................................... 51 5.2.2.2 Determinación de principios para el diseño. .............................................................. 52 5.2.2.3 Requerimientos funcionales .............................................................................................. 54 5.2.2.3.1 Escalabilidad. ...................................................................................................................... 54 5.2.2.3.2 Ajuste a actividades. ......................................................................................................... 56 5.2.3 Segunda fase: Evaluación de la usabilidad integrada en el desarrollo ............ 56 5.2.3.1 Descripción prototipo SIRAU ............................................................................................ 56
Proyecto SIRAU
5.2.3.2 Test con usuarios ................................................................................................................... 58 5.2.3.3 Intercambio de información .............................................................................................. 59 5.2.3.4 Salida de información........................................................................................................... 60 5.2.3.4.1 Pantalla .................................................................................................................................. 60 5.2.3.4.2 mensajes ............................................................................................................................... 61 5.2.3.5 Entrada de información ...................................................................................................... 62 5.2.3.5.1 Pantalla. ................................................................................................................................. 62 5.2.3.5.2 Botones. ................................................................................................................................. 62 5.2.3.5.3 Lector. .................................................................................................................................... 63 5.2.3.5.4 Micrófono. ............................................................................................................................ 63 5.2.3.5.5 Navegación ........................................................................................................................... 63 5.2.4 Conclusiones ............................................................................................................................ 67
6. Prototipo UHF ............................................................................................................................................. 68
6.1 Planteamiento y características generales............................................................................ 68 6.2 Funcionamiento general. .............................................................................................................. 69 6.3 Interconexión de los elementos................................................................................................. 71 6.3.1 Configuración del conexionado del microcontrolador ARM9. ........................... 71 6.3.2 Esquema de conexión del display. .................................................................................. 71 6.3.3 Esquema de conexión de los pulsadores. ..................................................................... 71 6.3.4 Esquema de conexión de la interfaz UART. ................................................................. 72 6.3.5 Esquema de conexión del interface ETHERNET. ...................................................... 72 6.3.6 Esquema de conexión del interface RFID. ................................................................... 72 6.3.7 Esquema de conexión del interface Text‐to‐Speech. ............................................... 76 6.3.8 Esquema de conexión del amplificador para Text‐to‐Speech. ............................ 76
6.4 Configuraciones. ............................................................................................................................... 78 6.4.1 Envió de información al Text‐to‐Speech para conversión audio. ...................... 78 6.4.2 Reinicializacíon del Text‐to‐Speech. .............................................................................. 79 6.4.3 Selección tipo de voz. ........................................................................................................... 79 6.4.4 Selección de velocidad del text‐to‐speech ................................................................... 79 6.4.5 Seleccionando el énfasis de dialogo del interfaz del text‐to‐speech. ................ 79 6.4.6 Volumen. .................................................................................................................................... 80 6.4.7 Tiempos de espera entre palabras.................................................................................. 80 6.4.8 Adquisición de los datos de la tarjeta (TAG). ............................................................. 80 6.4.9 Comunicación con servidor. .............................................................................................. 81
6.5 Programación .................................................................................................................................... 83 6.5.1 Configuración del microcontrolador. ............................................................................ 84 6.5.2 Librerías implementadas .................................................................................................... 84 6.5.2.1 Librería 91x_rfid_select_resp.c ......................................................................................... 84 6.5.2.2 Librería 91x_rfid_tid.c .......................................................................................................... 85 6.5.2.3 Librería 91x_Timer_Delay_lib.c ........................................................................................ 85 6.5.2.4 Librería 91x_port.c ................................................................................................................ 85 6.5.2.5 Librería 91x_talk.c ................................................................................................................. 86 6.5.2.6 Librería 91x_rfid_crc_lib.c .................................................................................................. 86 6.5.2.7 Librería 91x_it.c ...................................................................................................................... 86 6.5.2.8 Librería 91x_Ethernet_Tx_Rx_lib.c .................................................................................. 87 6.5.2.9 Librería 91x_conf_ip.c .......................................................................................................... 87 6.5.2.10 Librería 91x_syst_reset_lib.c ......................................................................................... 87
7. Prototipo HF ................................................................................................................................................ 88
7.1 Proyecto SIRAU.EngineDemoC .................................................................................................. 88 7.1.1 Recuperación de información para un producto: LEER ........................................ 91
Proyecto SIRAU
7.1.1.1 Diagramas de bloques .......................................................................................................... 92 7.1.1.2 Diagrama de flujo ................................................................................................................... 93 7.1.2 Asociación de grabación de audio con un producto: GUARDAR ........................ 94 7.1.2.1 Diagrama de bloques ............................................................................................................ 94 7.1.2.2 Diagrama de flujo ................................................................................................................... 95
7.2 Prototipo de pruebas para SIRAU ............................................................................................. 96 7.2.1 Interfaz Grafica ....................................................................................................................... 97 7.2.2 Navegación ............................................................................................................................... 99
7.3 Descripción por clases: .............................................................................................................. 100 7.3.1 EngineDemoC ....................................................................................................................... 100 7.3.2 Messager ................................................................................................................................. 105 7.3.3 WIFIManager ........................................................................................................................ 106 7.3.4 ProductSearcher .................................................................................................................. 109
8. Sistema de Servidores .......................................................................................................................... 112
8.1 Servidor Local ................................................................................................................................ 112 8.1.1 Introducción .......................................................................................................................... 112 8.1.2 Diagramas de Bloques ...................................................................................................... 115 8.1.2.1 SIRAU ....................................................................................................................................... 115 8.1.2.2 SIRAUService ........................................................................................................................ 115 8.1.3 Diagramas de Flujo ............................................................................................................. 116 8.1.3.1 SIRAU ....................................................................................................................................... 116 8.1.3.2 SIRAUService ........................................................................................................................ 117 8.1.4 Descripción por clases ...................................................................................................... 118
8.2 Servidor Global .............................................................................................................................. 134 8.2.1 Diagramas de Bloques ...................................................................................................... 136 8.2.1.1 SIRAU Service ....................................................................................................................... 136 8.2.1.2 SIRAU Website ..................................................................................................................... 136 8.2.2 Descripción por clases ...................................................................................................... 137
9. Manuales de Usuario ............................................................................................................................. 139
9.1 Servidor Global .............................................................................................................................. 139 9.1.1 Características ...................................................................................................................... 139
9.2 Servidor Local ................................................................................................................................ 139 9.2.1 Características ...................................................................................................................... 140 9.2.2 Configurador Local de Niveles de Información ...................................................... 141 9.2.2.1 Uso del configurador ......................................................................................................... 141
9.3 Prototipo SIRAU HF ..................................................................................................................... 143 9.3.1 Ejecutar SIRAU HF: ............................................................................................................. 144 9.3.2 Usar SIRAU HF ...................................................................................................................... 145
10. Conclusiones (Resumen) .................................................................................................................... 147
Proyecto SIRAU 1
En el presente Informe se va a presentar el trabajo realizado en el proyecto SIRAU así como los resultados obtenidos en los desarrollos realizados, este informe es únicamente una presentación resumida del trabajo y de los resultados.
1. INTRODUCCIÓN La aparición de un déficit corporal (visual, auditivo, motriz, etc.) debido a una
enfermedad, accidente o simplemente el propio ciclo vital, conlleva la generación de un
conjunto de limitaciones en las actividades cotidianas, que se traducen en una restricción
de la participación de colectivos de discapacitados o mayores en la sociedad,
produciéndose, además, una dependencia de terceros. El Centro de Estudios Tecnológicos
para Personas con Dependencia (CETPD‐UPC) de la Universidad Politécnica de Catalunya
tiene como objetivo fundamental la investigación y la creación de soluciones tecnológicas
centradas en la mejora de la calidad de vida de las personas, especialmente las que más lo
necesitan, mayores y discapacitados. Tres áreas de trabajo focalizan nuestra atención: en
primer lugar, la Robótica Asistencial, en segundo lugar la Monitorización, Diagnosis y
Prevención de Caídas, proyecto subvencionado por el Ministerio de Educación y Ciencia
(MEC) y la Generalitat de Catalunya, y que realizamos conjuntamente con el equipo de
geriatras de la Fundación Hospital Comarcal Sant Antoni Abat de Vilanova i la Geltrú y en
segundo lugar el proyecto que nos ocupa, Sistemas de Identificación Adaptables y con
Acceso Remoto
El proyecto SIRAU tiene como objetivo principal poder utilizar las tecnologías RFID
conjuntamente para aplicaciones de caracterización y reconocimiento de objetos comunes
en la vida diaria (medicinas, alimentos, ropa, utensilios,…) con el fin de facilitar su uso y
mejorar su eficacia y seguridad. Aunque la identificación por radiofrecuencia es un
ambiente que se mueve, sobre todo, en el mundo industrial y de la logística, desde el
CETpD‐UPC creemos que puede tener una vertiente mucho más humana, donde estos
avances sirvan para aumentar la calidad de vida de los sectores físicamente más
desfavorecidos de la sociedad.
Proyecto SIRAU 2
Figura 1.1 Imagen de PDA con lector HF ACG
El proyecto, nace con la idea de continuar con la filosofía del proyecto SAPIENS
(IMSERSO 106/05) y poder utilizar estas nuevas tecnologías, cada vez más presentes en
nuestra vida cotidiana, para ayudar a las personas. El gran avance que suponen las
tecnologías de identificación por radiofrecuencia (RFID) fue la que pareció más relevante.
El grupo de trabajo se planteó las posibilidades e implicaciones que ofrecía una tecnología
de este tipo. La posibilidad de reconocer electrónicamente un objeto y que un sistema
pueda presentar la información asociada al identificador de diferentes formas, llevó a
pensar en que la tecnología RFID podría ofrecer diversas soluciones para algunos
problemas relacionados con personas que puedan presentar cualquier tipo de déficit
cognoscitivo.
Para abarcar este objetivo marco, se ha diseñado un sistema de agentes portables,
autónomos, sin mantenimiento e inteligentes que cooperan entre si y se adaptan a
cualquier tipo de usuario con la intención de mejorar la autonomía y el acceso a la
información de colectivos con déficits y limitaciones concretas. El sistema consta de un
terminal portátil equipado con un transmisor‐receptor de corto alcance. El sistema
funciona de forma que cuando el usuario acerca el terminal portátil a un objeto o el objeto
al terminal, que dispone de una etiqueta RFID, lo identifica y ofrece una información
complementaria mediante un mensaje oral.
Proyecto SIRAU 3
Servidor GlobalSQL
Servidor Local (Hogar Usuario)
Usuario
Punto de Acceso Wifi
Terminales de Acceso por Cable
Conmutador Ethernet
Inte
rne
t
Terminales de Acceso inalámbricos
Figura 1.2 Esquema simplificado de SIRAU
El sistema de etiquetaje inteligente es el primer paso para conseguir ofrecer al
usuario un servicio de ayuda en las actividades cotidianas mediante la introducción de
agentes inteligentes en su entorno. Con este fin se ha desarrollado una ampliación de la
“gama” de los elementos que pueden leer etiquetas inteligentes para usuarios con
diferentes déficit y poderlos hacer interactuar. De esta forma se consigue ampliar el grupo
de usuarios de personas con déficit visual a personas con otros tipos de déficit a los que
les pudiese ser útil este sistema. Este nuevo prototipo pretende ampliar el campo de
usuarios a personas con problemas de comprensión y memoria. Para facilitar la
interactuación se ha desarrollado un sistema de acceso a la información de todos los
elementos de lectura de etiquetas inteligentes, ya sea inalámbricamente mediante Wifi o
por cable mediante Ethernet, a un servicio remoto para obtener la información de una
etiqueta concreta y el producto al que va asociado.
La flexibilidad del sistema permite adaptar la información y la forma de exponerla
según el usuario. La integración de diferentes formatos de lectores amplia las diferentes
posibilidades que se pueden presentar en lo referente a la movilidad del usuario, se ha
creado un prototipo de lector UHF fijo donde el usuario acerca el producto para leerlo.
Proyecto SIRAU 4
Estudios etnográficos indican que aspectos del diseño de las ayudas
tecnológicas, determinan en primer lugar que las lleguen a adoptar, después que las usen
eficientemente, y por último que realmente aumenten su calidad de vida.
Con el servicio remoto, el sistema proporciona la posibilidad de que el fabricante
de un producto, el médico o el farmacéutico (en caso de medicamentos) o terceras
personas autorizadas puedan acceder a la información relativa a un producto concreto y
modificarla para ofrecer una información útil al usuario. De esta forma se ha diseñado
un sistema donde cualquiera de los terminales, adaptados a cada necesidad, comparten
un servicio común remoto donde terceras personas pueden añadir información del
producto etiquetado. Así el producto “habla” y “explica” información de interés al
usuario final. La disponibilidad de esta tecnología que se plantea presenta innumerables
aplicaciones prácticas para todos aquellos ciudadanos con algún tipo de déficit visual y
a personas con diversos grados de dependencia. Entre estas aplicaciones se destacan las
relacionadas con el área de accesibilidad a la información y autonomía personal.
En el presente Informe se va a presentar el trabajo realizado en el proyecto
SIRAU así como los resultados obtenidos en los desarrollos realizados, este
informe es únicamente una presentación resumida del trabajo y de los resultados.
A continuación se incluyen dos informes realizados en la primera parte del proyecto
(SAPIENS) donde se exponen de forma clara dos de las diferentes tecnologías
utilizadas en este proyecto, para una mejor comprensión del proyecto por parte de
usuarios no especializados. A continuación se incluye una descripción detallada de todo
el sistema desarrollado en estos años de trabajo.
Proyecto SIRAU 5
2. ESTADO DE LA TECNOLOGÍA Y FUTURO EN RFID. Este apartado pretende exponer de una forma rápida y sencilla uno de los puntos
clave del proyecto. Este documento va enfocado a lectores que no estén familiarizados con
la tecnología RFID y deseen obtener una visión rápida y global para poder llegar a
entender plenamente lo descrito en informes posteriores.
2.1 INTRODUCCIÓN RFID (en ingles Radio Frecuency IDentification o en castellano Identificación por
Radiofrecuencia) es un método de almacenamiento y recuperación de información, para
la identificación. Este sistema utiliza, para el almacenamiento de la información, unos
dispositivos llamados tags (en ingles) o etiquetas (en castellano) RFID. Una etiqueta es un
dispositivo, pequeño, que se puede adherir o incorporar a un producto, animal o persona.
Estas etiquetas contienen antenas para permitirles recibir y responder a peticiones por
radiofrecuencia desde un lector (en realidad emisor/receptor) RFID.
Figura 2.1 Esquema de enlaces de información en una transacción RFID
Como una primera aproximación podemos dividir las etiquetas en dos grandes
grupos: pasivas, que no necesitan alimentación eléctrica interna, y activas que si la
requieren. Cada etiqueta puede almacenar información acerca del objeto, persona o
animal a la que está adherida. Cuando detecta algún campo generado por un emisor‐
receptor RFID compatible, se comunica con él, enviando la información que contiene. No
obstante, las características de la etiqueta son las que realmente determinan los
parámetros de un sistema RFID.
Etiqueta RFID Lector RFIDProductoSistema de
Visualización de la Información
Base de Datos
Conexión de la Información conceptual a través de procesos externos
Línea de información principal del sistema, conceptualmente se pretende visualizar la información referida a un producto concreto
Intercambio físico de información
Intercambio físico de información Intercambio físico de información
Proyecto SIRAU 6
La tecnología RFID está clasificada dentro de la Tecnología de Auto Identificación
(Auto‐ID), donde encontramos el código de barras. La tecnología RFID está probablemente
destinada a ser la sucesora del código de barras por sus claras ventajas sobre este; sin
embargo, actualmente y en muchos entornos la coexistencia de las dos tecnologías se
prolongará algunos años.
Proyecto SIRAU 7
2.2 ANÁLISIS DE LAS TECNOLOGÍAS
La tecnología RFID se basa en la utilización de tres elementos básicos: una etiqueta
electrónica o tag, un lector de tags y una base de datos. Las etiquetas electrónicas llevan un
microchip incorporado que almacena el código que identifica del producto al que están
adheridas. El funcionamiento del lector es sencillo, el lector produce electricidad que viaja
por cable a un ratio determinado, normalmente hacia una antena que radia la misma señal
en el espacio a una frecuencia determinada para que otros elementos lo escuchen. No solo
genera la señal que se transmite por el aire a través de las antenas, sino que también
escucha las respuestas de los tags. Transmite y recibe ondas analógicas que transforma en
cadenas de bits. Cada lector se conecta a una o más antenas (máximo según tipo de
lectores). Estas tienen una ciencia propia, pero es importante conocer como el lector crea
la señal electromagnética y la antena realiza la difusión en su zona de interrogación
(campo de radio frecuencia). Además el lector también se conecta a la red o a una máquina
mediante varios tipos de interfaz como pueden ser RS‐232 o Ethernet. Hay multitud de
tipos de lectores: simples (un solo estándar y frecuencia), multiregionales,
multifrecuencias (trabajan a diferentes frecuencias), multiprotocolos, etc. La línea con
mayor interés son los lectores ágiles y flexibles que pueden utilizar cualquier protocolo,
región o frecuencia (HF o UHF) según su uso.
El lector envía una serie de ondas de radiofrecuencia al tag, que éste capta a través
de una pequeña antena. Estas ondas activan el microchip, que, mediante la antena y la
radiofrecuencia, transmite al lector cual es el código del artículo. En definitiva, un equipo
lector envía una señal de interrogación a un conjunto de productos y estos responden
Lector RFID Interrogación
La interrogación proporciona al Tag:- Energía
- Reloj - Datos
Datos
Figura 2.2 Esquema de una transacción RFID
Proyecto SIRAU 8
enviando cada uno su número único de identificación. Por este motivo, se dice que la
tecnología RFID es una tecnología de auto‐identificación.
Una vez el lector ha recibido el código único del producto, lo transmite a una base
de datos, donde se han almacenado previamente las características del artículo en
cuestión: fecha de caducidad, material, peso, dimensiones... De este modo se hace posible
consultar la identidad de una mercancía en cualquier momento y fácilmente durante toda
la cadena de suministro.
2.3 FRECUENCIA DE OPERACIÓN.
Un aspecto importante a tener en cuenta en el análisis de la tecnología RFID es
la frecuencia de operación del sistema, aunque ya hemos dado algunos apuntes sobre el
tema, en el siguiente cuadro se expone de forma sencilla y directa las diferentes
opciones presentes, actualmente, en el mercado.
Proyecto SIRAU 9
Rango de
Frecuencias LH 125 KHz HF 13,56 MHz
UHF
868-915MHz
Microondas
2,45 / 5,8 GHz
Rango máximo
típico de lectura
en tags pasivos
<0,5m 1m 30m 30m
Características
generales
Relativamente caro
incluso a grandes
volúmenes. LF
requiere una antena
de cobre que es
más cara que para
el resto. Los tags
inductivos son más
caros que los
capacitivos. Por el
contrario es menos
susceptible a
degradaciones de
rendimiento con
metales y líquidos.
Menos caro que los
tags inductivos de
LF. Relativamente
poca velocidad de
transmisión de
datos comparado
con frecuencias
más elevadas.
Recomendado para
aplicaciones que no
requieren lectura
múltiple de tags y
rangos cortos de
lectura.
En grandes
volúmenes, los tags
son mucho más
baratos que los de
menor frecuencia y
mucho más
pequeños. Ofrecen
un buen balance
entre rango y
rendimiento
especialmente en
lectura múltiple de
tags.
Características
similares a UHF
pero con
velocidades de
transmisión
superiores. Es la
banda con más
afectación de
rendimiento por
metales y líquidos.
Ofrece señal más
direccional.
Fuente de
potencia del tag
Pasivo,
acoplamiento
magnético
Generalmente
pasivo, utiliza
acoplamiento
inductivo y
capacitivo.
Tags activos con
batería o pasivos
con acoplamiento
capacitivo.
Tags activos con
batería o pasivos
con acoplamiento
capacitivo.
Velocidad de
datos
Lento Rápido
Funcionamiento
en ambientes
“hostiles”
(metal o agua)
Más eficiencia Menos eficiencia
Tamaño de tag
pasivo
Mayor Menor
Proyecto SIRAU 10
2.4 LA ETIQUETA.
Un tag RFID es un elemento que puede almacenar y transmitir información hacia
un elemento lector utilizando ondas radio. El propósito de un tag RFID o etiqueta
inteligente es poder adherir a un objeto información de este (ítem). No hay un único
modelo de tag, sino que hay diferentes tipos según sus características como su mecanismo
de almacenar los datos o la comunicación que utilizan para transmitir la información. Un
aspecto muy importante a tener en cuenta es que no todos los tags tienen microchip o
fuente de alimentación interna, pero si es cierto que todos ellos contienen una bobina
(coil) o antena y que estas últimas pueden tener múltiples formas.
Los tags tienen características o capacidades
muy diferentes, por lo que podemos realizar múltiples
clasificaciones que nos ayuden a entender cómo
afectan a su comportamiento o modo de trabajo.
Podríamos clasificar tags según su tipología (activo,
pasivo y semipasiva), por su tipo de memoria,
capacidad de almacenamiento, origen de
alimentación, frecuencias de trabajo, características
físicas, protocolo de interfaz aérea (cómo se comunica
con el equipo lector) y así sucesivamente con casi
todas las características. A continuación exponemos
de forma simple las clasificaciones más comunes y se realiza, así, un repaso a las
características más determinantes. Se comenzará por lo que se consideran las
características físicas.
Hay diversas características básicas que pueden modificar el comportamiento de un tag
RFID, algunas comunes a todos los tags (requerimientos mínimos que todos deben
cumplir) y otras que sólo se encuentran según modelo o tag.
• Adherir el tag: cualquier tipo de tag debe tener un mecanismo adhesivo o
mecánico para adjuntarlo al objeto.
• Lectura del tag: cualquier tag debe poder comunicar la información mediante la
radiofrecuencia.
Figura 2.3. Etiquetas RFID HF
Proyecto SIRAU 11
• Kill/Disable: algunos tags permiten al lector enviar un comando (orden) para que
deje de funcionar permanentemente, siempre y cuando reciba el correcto “Kill
code”. Esto provoca que no responda nunca más.
• Write Once: Muchos tags se les introduce el identificado en la propia fabricación,
pero los que contienen la característica write‐once (una solo escritura) permiten al
usuario configurar o escribir su valor una sola vez, después de modificar la inicial,
es imposible cambiarlo.
• Write many: algunos tags tienen la capacidad de poder escribir y reescribir tantas
veces como se desee (normalmente hay un límite de ciclos muy elevado, como por
ejemplo 100.000 escrituras) el campo de datos del identificador.
• Anticolisión: Cuando hay muchos tags próximos a un lector, este puede tener la
dificultad de hablar o comunicarse con ellos a la vez. La característica anticolisión
permite a los tags conocer cuando debe transmitir para no entorpecer o molestar
otras lecturas. Esta característica se realiza mediante protocolos que permiten
controlar las comunicaciones entre tag y lector.
• Seguridad y encriptación: algunos tags permiten encriptar la información en la
comunicación, además hay la posibilidad en varios tipos de estos tags que
permiten responder solo a lectores que les proporciona un password secreto.
• Estándares soportados (conformidad): los tags pueden cumplir con uno o más
estándares, permitiendo comunicarse con los lectores que los cumplen.
Las etiquetas también tienen unas características físicas determinadas, los tags
RFID toman multitud de formas y tamaños según los diferentes entornos donde deben
utilizarse, esta característica de adaptación proporciona un elevado surtido de tags.
Además estos tags pueden estar encapsulados en diferentes tipos de material. Hay tags
que se encapsulan en plástico (normalmente PVC), o botones para obtener mayor
durabilidad, sobretodo en aplicaciones de ciclo cerrado donde se tiene que reutilizar o en
ambientes hostiles. También pueden estar insertadas en tarjetas de plástico como las de
Proyecto SIRAU 12
crédito, este tipo se denominan “contactless smart cards”, o láminas de papel (similar a los
códigos de barra), que reciben el nombre de “smart labels”. Como último destacamos los
encapsulados de cristal o cerámica especialmente idóneos en entornos corrosivos, líquidos
o para incrementar la protección del tag, por ejemplo, su utilización en la trazabilidad
animal. En resumen, el embalaje o encapsulado del tag puede ser una de las características
más visuales para clasificar según que tipo de tags, además es una característica que afecta
directamente a cómo se adhiere el tag al objeto a identificar.
La clasificación más común de las etiquetas RFID es por su fuente de energía. Las
etiquetas RFID pasivas no tienen fuente de alimentación propia. La pequeña corriente que
se produce, inducida por la señal del lector en la antena, proporciona suficiente energía al
circuito integrado de la etiqueta para poder transmitir una respuesta. Aunque la ausencia
de fuente de alimentación proporcione la posibilidad de crear realizaciones de etiquetas
muy pequeñas, la cantidad de información a transmitir también debe ser pequeña.
El otro tipo de tags son los activos, estos tienen incorporada una batería que
proporciona alimentación constante al chip incorporado. Dentro de este grupo
encontramos dos estrategias diferenciadas. Las llamadas etiquetas semi‐pasivas,
incorporan una pequeña batería que permite al integrado estar alimentado
constantemente pero por otra parte el sistema de recepción y envío es muy parecido al de
los tags pasivos y la energía para la comunicación la recoge de la señal de radiofrecuencia.
Las etiquetas activas incorporan una batería para alimentarse y básicamente se establece
una comunicación entre el lector y la etiqueta (que es un elemento activo como el lector)
donde la etiqueta puede llegar a almacenar información que le pueda enviar el lector. Este
hecho es muy útil para encriptar la comunicación.
Las etiquetas pasivas, debido que no llevan batería, son mucho más baratas y por
ello el gran número de sistemas RFID existentes son de este tipo. En el año 2004 estas
Figura 2.4. Etiquetas RFID UHF
Proyecto SIRAU 13
etiquetas costaban alrededor de 0,3€ para grandes pedidos, en los próximos años se
prevé, según los fabricantes, que para grandes pedidos el precio se reduzca a 0,04€. A
pesar de esta gran ventaja de las etiquetas pasivas frente a las activas, estas tienen
ventajas significativas en otros factores, como son exactitud, funcionamiento en ambientes
“adversos” como cerca de agua o metal y confiabilidad.
La interfaz aérea describe la forma y el modo en que el tag y el lector se comunican
o hablan. Esta característica determina la compatibilidad de los lectores y los tags, ya que
la utilización de material que no soporta la misma interfaz aérea provoca el no
entendimiento de los protocolos. Hay la necesidad que los protocolos de interfaz aérea
sean estándares y no sistemas privados para garantizar la interoperabilidad de los
dispositivos. Los atributos o características más importantes de la interfaz aérea son la
frecuencia de operación, el modo de comunicación, la modulación, la codificación y el
acoplamiento.
EPC global como órgano de estandarización para la RFID en su uso con EPC ha
organizado las etiquetas en 6 clases. Podríamos llegar a coger estas categorías aunque no
fueran con contenido EPC.
• Clase 0: solo lectura (el número EPC se codifica en la etiqueta durante el proceso
de fabricación).
• Clase 1: escritura una sola vez y lecturas indefinidas (se fabrican sin número y se
incorpora a la etiqueta más tarde)
• Clase 2: lectura y escritura.
• Clase 3: capacidades de la clase 2 más la fuente de alimentación que proporciona
un incremento en el rango y funcionalidades avanzadas.
• Clase 4: capacidades de la clase 3 mas una comunicación activa con la posibilidad
de comunicar con otras etiquetas activas.
• Clase 5: capacidades de la clase 4 más la posibilidad de poder comunicar también
a etiquetas pasivas.
Proyecto SIRAU 14
2.5 ESTÁNDARES.
2.5.1 INTRODUCCIÓN.
Los estándares o normalizaciones nos garantizan el uso de la tecnología y su
durabilidad, debido a que permiten disponer de soluciones conjuntas, que permitan una
arquitectura abierta que pueda ser implementada por diferentes fabricantes o
integradores. Como en todas las tecnologías, ha habido y hay todavía bastante confusión
entorno a que estándares hay. Se han dado una serie de circunstancias que han provocado
la, bien conocida en otros sectores, “lucha” de diversas partes del sector con el ánimo de
imponer los estándares propios. El cliente por su parte no acaba de tener claro, cuales hay,
si son interoperables o cual será el predominante. Este hecho provoca que no se
implementen este tipo de tecnologías por el miedo de las empresas. Por ejemplo, el caso
del código de barras, universalmente aceptado y entendido como un estándar. Pero esto
no es toda la verdad, hay más de 200 estándares diferentes en los códigos de barras. Lo
mismo sucede con RFID, pero en este caso hay un movimiento global hacia el mismo
estándar que facilitara su implantación. Hay varios estándares según el tipo de aplicación,
por la simple razón de que los principios físicos de las tecnologías en las que se basa la
RFID son diferentes según varios factores. Esto hace que se tengan que adaptar todos los
parámetros a la aplicación específica. A continuación haremos un breve repaso de las
normas más relevantes en el entorno RFID.
Estándares desarrollados para tarjetas de identificación:
• ISO/IEC 10536 Identification cards – Contactless integrated circuit cards:
para tarjetas de identificación inteligentes a 13,56 MHz. Describe sus
características físicas, dimensiones localizaciones de las aéreas de interrogación,
las señales electrónicas y os procedimientos de reset, las respuestas de reset y el
protocolo e transmisión.
• ISO/IEC 14443 Identification cards – proximity integrated circuit cards:
desarrollado para tarjetas de identificación inteligentes con rango superior a un
metro, utilizando la frecuencia 13,56 MHz. Describe las características físicas, el
interfaz aéreo, la inicialización y anticolisión, y el protocolo de transmisión.
• ISO/IEC 15693 Contactless integrated circuit cards – Vicinity cards: se
desarrollan las características físicas, la interfaz aérea y los protocolos de
transmisión y anticolisión para tarjetas sin contacto con circuitos integrados en la
banda HF (13,56 MHz).
Proyecto SIRAU 15
Estándares desarrollados para la gestión a nivel unidad:
• ISO/IEC 15961 RFID for item management – Data protocol: application
inteface: dirigido comandos funcionales comunes y características de sintaxis, por
ejemplo, tipos de tags, formatos de almacenamiento de datos, o compresión de los
datos. Los estándares de interfaz aérea no afectan a este estándar.
• ISO/IEC 15962 RFID for item management – Protocol: Data encoding rules
and logical memory functions: dirigido al procedimiento que el sistema RFID
utiliza para intercambiar información de la gestión a nivel unidad. Crea un formato
de datos uniforme y correcto, una estructura de comandos, el procesamiento de
errores.
• ISO/IEC 15963 for item management – Unique identification of RF tag: este
estándar se dirige al sistema de numeración, el proceso de registro y uso del tag
RFID. Se ha diseñado para el control de calidad durante el proceso de fabricación.
También esta dirigido a la trazabilidad de los tags RFID durante este proceso, su
ciclo de vida y control para anticolisión de varios tags en la zona de interrogación.
• ISO/IEC 19762: Harmonized vocabulary – Part 3: radiofrequency
identification: documento que proporciona términos generales y definiciones en
el área de la identificación automática y técnicas de captura de datos, con secciones
especializadas en varios campos técnicos, al igual que términos esenciales para ser
usados por usuarios no especializados en comunicaciones. La parte 3 es la que
hace referencia a la tecnología RFID.
• ISO/IEC 18000 Air inteface standards: diseñada para crear una
interoperabilidad global, donde se define la comunicación entre los tags y los
lectores. Incluyendo diferentes frecuencias de trabajo. El objetivo del estándar es
asegurar un protocolo de interfaz aérea universal. Este estándar contiene 7 partes
diferentes. La primera consiste en la arquitectura del sistema RFID para la gestión
unitaria. La parte 3 y 6 son las más relevantes y críticas. En la 3 se definen dos
modos no interoperables aunque se han diseñado para no interferirse entre ellos.
El modo 1 esta basado en ISO 15693 y el modo 2 en PJM (modulación) para
obtener mayor tasa de bits. La parte 6 también define dos modos de operación
conocidos como A y B.
• ISO/IEC 18001 RFID for Item Management Application Requirements
Profiles: proporciona el resultado de tres estudios para identificar aplicaciones y
usos de la tecnología RFID con gestión a nivel unidad de artículo, con una
clasificación resultante según diferentes parámetros operacionales, incluyendo el
Proyecto SIRAU 16
rango de operación, tamaño de la memoria, etc. También una breve explicación de
los temas asociados con los parámetros de distancias, número de tags dentro del
campo de interrogación, etc. Se incluye una clasificación de los tipos de tags según
las aplicaciones.
• EPC™ RadioFrequency Identity Protocols Class1 Generation2 UHF RFID:
creado por EPC global, joint venture entre EAN (European Article Numbering) y
UCC (Uniform Code Council), y tecnología desarrollada por Auto – ID Center, en
este documento se desarrolla el estándar para el protocolo de interfaz aérea de
comunicación entre el tag y el lector.
• 13.56 MHz ISM Band Class 1 Radio Frequency (RF) Identification Tag
Interface Specification: desarrollado por EPC global para definir la interfaz de
comunicación y el protocolo para la clase 1 en 13,56MHz. Incluye los
requerimientos de los tags y lectores para establecer comunicaciones en dicha
banda de frecuencias.
• Application Level Event (ALE) Specification Version 1.0: estándar desarrollado
por EPC global que especifica un interfaz a través de la cual se filtra y consolida
códigos electrónicos EPC con origen de varios dispositivos.
Hay otros estándares RFID, por ejemplo para identificación animal, seguimiento de
containeres, etc. Como reseña de algunos de estos otros estándares comentar que AIAG
(Automotive Industry Action Group, que es una asociación con más de 1.600 fabricantes),
ha desarrollado junto a EPC global estándares para la industria de la automoción, en
específico el “Application Standard for RFID Devices in the Automotive Industry” que
viene acompañado por otros como “AIAG B ‐ 11”, estándar para identificar neumáticos y
ruedas con RFID. Cada región o país tienen normativas técnicas de referencia. Por ejemplo
nos podemos encontrar con:
• EN 300 220 (ETSI): características técnicas y métodos de medida para equipos de
radio de corto alcance funcionando entre 25 y 1.000 MHz, hasta 500 mW de
potencia.
• EN 302 208 (ETSI): características técnicas y métodos de medida para
dispositivos de datos en la banda 865 – 868 MHz, hasta una potencia de 2 W.
Proyecto SIRAU 17
En resumen podemos observar que los estándares RFID están disponibles para multitud
de aplicaciones. La confusión general ha venido por la confrontación entre la ISO 18000
parte 6ª o 6B y EPC global que han definido la interfaz aérea para la utilización de RFID en
UHF, aunque EPC global ha definido otros elementos para la utilización del EPC en la
cadena de suministro. Esta confusión o debate puede tener fin próximamente si la ISO
tramita lo realizado por EPC global como la parte 6C. De momento coexisten aunque la ISO
solo ha definido el protocolo de interfaz aérea, pero no la estructura numérica ni la
implementación física del tag y los lectores.
2.5.1.1 EPC (ELECTRONIC PRODUCT CODE) GLOBAL CLASE I GEN2
El EPC (Electronic Product Code) es un nuevo sistema de identificación y
seguimiento de mercancías en tiempo real basado en la radiofrecuencia de identificación
(RFID) y que asocia una serie numérica unitaria e inequívoca a cada objeto. El EPC forma
parte de un entramado denominado EPCglobal Network o “Internet de los objetos” que,
utilizando tags o chips, lectores de RFID y una serie de mecanismos informáticos de acceso
a datos, permite automatizar totalmente los procesos y obtener toda la información
relativa al objeto identificado con EPC de forma rápida y eficaz. La filosofía del sistema EPC
consiste en que cada uno de los objetos está identificado con un número seriado grabado
en un chip de radiofrecuencia y que toda la información relativa a cada uno de ellos está
deslocalizada, es decir, no está grabada en el propio tag, sino que reside en los diferentes
sistemas de información de cada uno de los agentes involucrados en una transacción
comercial. El EPC no es una alternativa al código de barras, sino un nuevo sistema para el
transporte de información que presenta ventajas sobre él pero todavía hoy con un coste
más elevado. Es decir, el EPC y el código de barras coexistirán durante mucho tiempo.
La Red EPCglobal (EPCglobal Network) es una estructura que permite la
identificación inmediata y automática de los productos y la posibilidad de compartir la
información de estos artículos en la cadena de suministro. Con la combinación de
diferentes tecnologías, entre las que se incluyen la RFID e internet, así como el
aprovechamiento al máximo de la capacidad de los actuales sistemas de información, la
Red EPC se convierte en el proveedor de identificación y localización de artículos en la
cadena de suministro más inmediato, automático y preciso de cualquier compañía, en
cualquier sector y en cualquier parte del mundo.
La Red EPCglobal está formada por seis elementos fundamentales:
Proyecto SIRAU 18
1. Código Electrónico de Producto (EPC): El EPC es un conjunto de números que
identifica única e inequívocamente a un artículo en la cadena de suministro.
2. Etiqueta EPC: En este sistema la etiqueta ya no es un código de barras, sino un tag
(chip de radiofrecuencia unido a una antena). Cada tag contiene un código
electrónico de producto único (EPC).
3. Lectores EPC: El tradicional escáner o lector de código de barras pasa a ser un
lector de RFID con una o varias antenas, de forma que, por ejemplo, cuando una
agrupación de mercancía identificada con EPC cruza a través de un lector de RFID,
las antenas activan cada uno de los tags recogiendo simultáneamente la
información de productos contenida en cada uno de ellos. Los lectores EPC están
situados en puntos estratégicos de la cadena de suministro con el fin de poder
localizar los movimientos de los artículos.
4. Software personalizado EPC: (EPC Middleware) Se trata de una tecnología que
gestiona la información de lectura básica para la comunicación con los servicios de
información EPC y los sistemas de información de las compañías existentes.
C a d a a rtíc u lo lle v a u n a e tiq u e ta q u e c o n tie n e u n a a n te n a d e ra d io y u n p e q u e ñ o m ic ro ch ip g ra b a d o c o n u n id e n tif ica d o r ú n ic o , lla m a d o E P C (C ó d ig o E le c tró n ico d e P ro d u c to ).
E l a rtícu lo p u e d e s e r id e n tif ic a d o a u to m á tica m e n te , c o n ta d o y ra s tre a d o . L a s c a ja s y p a le ts ta m b ié n p u e d e n te n e r s u ta g ú n ico .
A m e d id a q u e lo s p a le ts s a le n d e la fá b rica , u n le c to r la n z a u n a s e ñ a l d e ra d io q u e “a c tiv a ” la s e tiq u e ta s .
L o s le c to re s e n v ía n lo s E P C ’s a u n s is te m a in fo rm á tic o q u e e je c u ta e l s o ftw a re d e n o m in a d o S a v a n t , q u e e n v ía e l E P C a tra vé s d e in te rn e t a u n a b a se d e d a to s d e O N S (O b je c t N a m e S e rv ic e o S e rv ic io d e N o m b re d e O b je to ), la cu a l g e n e ra u n a d ire c c ió n d e fo rm a s im ila r a co m o e n in te rn e t . E l O N S e n v ía e l E P C a o tro se rv id o r , e l cu a l tie n e in fo rm a c ió n c o m p re n s ib le a ce rc a d e l p ro d u c to .
E s te s e rv id o r u tiliza P M L (P ro d u c t M a rk e t L a n g u a g e o L e n g u a je d e M a rc a d o F ís ico ) p a ra a lm a ce n a r lo s d a to s d e lo s p ro d u c to s d e l fa b ric a n te . S i a p a re ce u n in c id e n te la fu e n te d e l p ro b le m a p u e d e se r ra s tre a d a y lo s p ro d u c to s p u e d e n s e r re c u p e ra d o s .
E n e l á re a d e d e s ca rg a , d o n d e h a y u n le c to r d e R F ID , n o h a y n e ce s id a d d e a b rir n i la s c a ja s n i lo s p a le ts p a ra e x a m in a r su s c o n te n id o s . S a va n t p ro p o rc io n a u n a lis ta d e la c a rg a y e l p a le t e s rá p id a m e n te e n v ia d o a l ca m ió n a p ro p ia d o .
L o s le c to re s h a b ilita d o s e n “g ó n d o la s in te lig e n te s ” p u e d e n p e d ir a u to m á tica m e n te m á s m e rc a n c ía d e sd e la tra s tie n d a o d e s d e e l p ro ve e d o r. C o n e s te s is te m a la c o s to sa n e c e s id a d d e m a n te n e r s to c ks d e s e g u rid a d e n a lm a ce n e s a le ja d o s s e e lim in a .
E l s is te m a d e la co m p a ñ ía h a ce u n se g u im ie n to d e l c a rg a m e n to a tra vé s d e s u p ro p ia co n e x ió n S a v a n t. T a n p ro n to c o m o lle g a , lo s s is te m a s so n a c tu a liz a d o s in c lu ye n d o ca d a a rtíc u lo . D e e s ta fo rm a , lo s a lm a c e n e s p u e d e n lo c a liza r to ta lm e n te su in v e n ta rio d e fo rm a a u to m á tica , p re c is a y b a jo co s te .
Figura 2.5. Esquema del protocolo EPC Global Clase I Gen2
Proyecto SIRAU 19
5. Sistemas de información EPC (EPC IS): Estos servicios permiten a los usuarios
intercambiar los datos incluidos en el EPC con los interlocutores del mercado a
través de la Red EPCglobal.
6. Servicios Discovery: Son un conjunto de servicios que permiten a los usuarios
encontrar datos relacionados a un EPC específico y solicitar acceso a los mismos.
El nuevo estándar EPC Generación 2 fue ratificado en Diciembre de 2004 (UHF
Generation 2 Air Interface Protocol). Se ha creado a partir de las mejores características de
la Generación 1, tanto de la clase 1 como de la 2, y los protocolos ISO (ISO 18000 series).
Con el compromiso de mejorar el estándar actual. Se ha desarrollado con la colaboración
de los fabricantes líderes de RFID, usuarios e instituciones de estandarización, todo ello
bajo la coordinación y supervisión de EPC global.
El nuevo estándar para UHF se ha realizado con los siguientes objetivos:
• Establecer una única especificación UHF, para unificar las existentes como EPC
clase 1, EPC clase 0 e ISO 18000‐6, parte a y b.
• Diseño para un desarrollo mundial, dirigido a las diferentes regulaciones de
diferentes regiones.
• Influenciar y mejorar las especificaciones UHF existentes, además de anticipar
posibles aplicaciones futuras (como incluir funcionalidades para etiquetas que
contengan sensores).
•
La Generación 2 promete mejoras en diferentes aspectos respecto a la Gen1:
• Global y abierto: Gen2 incorpora las frecuencias y características para un uso
mundial.
• Incremento del ratio e lectura (velocidad): promete entre 8 veces más que la
Gen1. Esto es importante en países donde el ancho de banda es muy limitado,
que pueden llegar a tener velocidades un 30% inferiores que Estados Unidos.
• Tamaño: se espera que el tamaño de los chips se puedan reducir en un 20%
respecto al actual.
• Alta fiabilidad en la comunicación.
Proyecto SIRAU 20
• Mejores algoritmos de lectura que reducirán las lecturas duplicadas.
• Modo para lectura en entornos de alta densidad de lectores (Dense‐
Interrogator channelized signaling, normalmente llamado Dense Reader
Mode).
• Seguridad: mejorada con un password encriptado de 32 bits y la posibilidad
para “matar” permanentemente el tag.
• Incremento de la capacidad de escritura gracias a la mejora de los esquemas de
escritura.
• Memoria: es opcional el poder añadir memoria adicional a la requerida para el
EPC. Uso para que los clientes finales puedan añadir información específica.
•
La Gen2 aún tiene que ser probada y testeada más de lo actual, sobretodo en
diferentes entornos reales para definir las mejoras prácticas y no las teóricas, explicadas
aquí. La tecnología está en constante evolución y Gen2 marca un punto de inflexión para el
desarrollo de aplicaciones en la cadena de suministro. La mayoría de los agentes
implicados en la tecnología RFID han dado soporte a la nueva generación, más que en la
Generación 1.
2.6 ESTÁNDARES.
Las tecnologías RFID sobre artículos de un elevado precio como por ejemplo
podrían ser repuestos para maquinaria, bienes de consumo de un valor medio al por
menor, joyas, o que vengan en pequeños contenedores farmacéuticos, dan muy buenos
dividendos tanto a los proveedores como a minoristas. Algunos beneficios adicionales,
aparte de la trazabilidad del producto, que se obtienen con la identificación por
radiofrecuencia a nivel de ítem son: la reducción del hurto, la seguridad, la reducción de
costes y un mejor servicio al cliente. Podríamos contrastar este hecho con el caso de, por
ejemplo, las etiquetas antirrobo, que no benefician al proveedor del producto pero si al
vendedor. Si se le pide al proveedor que coloque las etiquetas, para él supone simplemente
un coste adicional. Lo mismo sucede con las etiquetas RFID colocadas sobre estibas y cajas
en las grandes cadenas minoristas de occidente. Con frecuencia el proveedor de bienes
asume los costes y el minorista es quien obtiene el beneficio. En ambos casos, tales
proveedores pueden representar un problema para la compañía que les suministra la
tecnología RFID. En realidad, ese es el reflejo de la fijación de precios y la consecuente falta
de rentabilidad para la mayoría de proveedores de etiquetas RFID involucrados en el
proceso.
Proyecto SIRAU 21
El término “a nivel de ítem” se refiere al artículo más pequeño que sea posible
etiquetar. Por ejemplo, no es práctico etiquetar productos muy baratos o partes muy
pequeñas como pastillas o pasta de dientes. A lo que se refiere el nivel de ítem es a los
pequeños empaques de los anteriores elementos que se pueden ver en cualquier hogar.
La aplicación de RFID a nivel de ítem también se refiere, por ejemplo, a las llantas, para
las cuales las normas exigidas en el acta TREAD de Estados Unidos serían muy
difíciles de cumplir sin un seguimiento automatizado. Michelin desarrolló un tipo de
etiquetas incrustada en la llanta conjuntamente con Intermec.
Las etiquetas RFID a nivel de ítem se ven, cada vez más, como un activo en
sectores como por ejemplo la industria militar y hospitalaria o en la fabricación de
partes y herramientas. Estas etiquetas reducen la posibilidad de que un cirujano deje
algún elemento dentro del paciente y garantizan obtener el tipo de sangre correcta en un
hospital o que 40 millones de jeringas etiquetadas provenientes de Astra Zeneca
eliminen los errores en la dosificación de anestésico Diprivan en las salas de
operaciones de Japón y Europa. Claramente, no se trata únicamente de una mejora en
las cadenas de suministro sino en mejoras a muchos niveles. Incluso, podemos llegar a
pensar en la prevención de la falsificación gracias al rastreo automatizado de origen, o
proteger los activos, incluso las piezas de museo y obras de arte, contra el robo o los
errores de envío o almacenaje, lo cual hace mucho más fácil realizar una auditoría y
controlar los movimientos.
Como mercado global, la tecnología RFID a nivel de ítem, se está disparando, se
prevé que pase de los 200 millones de dólares actuales en US a 13.200 millones en el
2016. Este dato significaría que en el 2016, habría 550 millones de dispositivos RFID
aplicados sobre ítem en US. No obstante, es importante no dejarse seducir por los
números. Es probable que la mayoría de dispositivos RFID a nivel de ítem que se
apliquen en el 2016 podrían encontrarse en productos de poco valor, estas etiquetas
adoptarán formas de muy bajo costo e incluso de impresión directa, lo cual comenzaría
a imitar la situación actual de los códigos de barras, de los cuales un 85 por ciento ya no
son etiquetas sino que se imprimen directamente sobre el producto, o sobre el empaque
primario, para ahorrar costos. En este momento, y con este fin, más de sesenta
organizaciones están desarrollando circuitos transistores en películas delgadas
Proyecto SIRAU 22
imprimibles (TFTC), que seguramente serán menos costosos, más delgados y más
resistentes que el chip clásico de silicio.
En el sector de la RFID nos encontramos con dos tendencias muy claras,
aplicaciones con etiquetas muy costosas y muy bajos volúmenes y etiquetas muy
baratas con grandes volúmenes. Un ejemplo clásico, es el etiquetado de las medicinas a
nivel de ítem, en el sector de la salud, se prevén precios relativamente bajos de las
etiquetas, con gran sofisticación y altos volúmenes, mientras el etiquetado de los activos
de la industria de la salud, tales como el instrumental de un hospital, en muchos casos
justificará contar con Sistemas de Localización en Tiempo Real (RTLS) que son mucho
más costosas.
El mercado de las etiquetas RFID a nivel de ítem se ha duplicado en el 2006,
gracias a la decisión del ejército de los Estados Unidos de etiquetar todos los ítems
críticos y todos los elementos que cuesten más de 5.000 dólares, así como la presión de
la Food and Drugs Administration, FDA, por combatir las medicinas falsificadas, que
hoy en día se distribuyen en las farmacias legítimas de forma regular. También existe
una tendencia global de etiquetar los libros, DVD, videos y otros elementos en las
bibliotecas para automatizar el ingreso, la salida y el recuento de los mismos.
Verdaderamente, y analizando el mercado, nos damos cuenta que el uso de las etiquetas
se duplicó cuando estas se utilizaron como herramientas antirrobo. Cerca de 50 millones
de ítems de biblioteca se etiquetan al año en Nueva Zelanda, Japón y Canadá.
Casi todos los ítems que son etiquetados hoy en día emplean una o dos de las
frecuencias de RFID más populares: Alta frecuencia (HF) o Ultra alta frecuencia
(UHF). Para el etiquetado en bibliotecas, lavanderías y productos farmacéuticos se
utiliza normalmente la HF porque se obtienen mejores rendimientos frente al metal y al
agua, así como buena legibilidad en una etiqueta de bajo costo. Después de todo, el
coste de la etiqueta puede representar el 50 por ciento del coste de propiedad de un
sistema RFID a nivel de ítem de alto volumen. Tanto el UHF como el HF son populares
para las prendas de vestir que se venden al detalle. Boekhandels Groep, de Holanda, es
el líder mundial en etiquetar libros en las librerías y escogió la tecnología UHF. HF es la
opción para aquellos que quieren etiquetar probetas; por ejemplo, Roche en la
investigación farmacéutica; Fonterra, de Nueva Zelanda, la cooperativa lechera más
Proyecto SIRAU 23
grande del mundo (para etiquetar muestras de lácteos), y diferentes hospitales que
etiquetan muestras y bolsas de sangre.
En la actualidad, HF produce las etiquetas más pequeñas; algunas de ellas son
solo un pequeño chip con la antena incorporada, sin embargo, estas tan sólo tienen un
rango de 1 mm. Para los ítems de gran tamaño, a menudo se prefieren las etiquetas UHF
porque suministran un rango de lectura mucho mayor. No obstante, a diferencia de HF,
jamás será un protocolo de señal de un único ancho de banda y será complejo ofrecer
grandes rangos de potencia en todo el mundo debido a que en muchos territorios los
teléfonos móviles y los militares obtuvieron las licencias de esas frecuencias con
anterioridad.
2.7 CONCLUSIONES Y PERSPECTIVAS DE FUTURO Como ejemplo podemos revisar las tendencias de una de los sectores pioneros en
la utilización de RFID, la industria farmacéutica. La previsión es que este sector migrará
hacia las soluciones RFID híbridas HF-UHF para la cadena de suministro médica en los
próximos cinco años y después cambiará a la tecnología UHF de campo próximo o
near-field. Tradicionalmente, los fabricantes de medicamentos y los mayoristas o
distribuidores han utilizado tags y lectores RFID HF, los cuáles no disponen de la
velocidad de lectura de los UHF pero ofrecen más capacidad de lectura en entornos
hostiles, como líquidos y metales. También son más efectivos a la hora de leer múltiples
ítems en un espacio reducido, por ejemplo, muchas botellas apiladas en un cartón que
pasa a través de las líneas de ensamblaje a gran velocidad.
La tecnología UHF de campo próximo o near-field es capaz de transmitir en un
campo cercano, similar a la banda HF, pero es más rápida y trabaja bien en entornos
metálicos y líquidos. Parece que la disponibilidad de hardware UHF near-field EPC Gen
2 cambiará el escenario, ya que la tecnología responde bien en líquidos y metales y lee
más ítems de manera más rápida (aproximadamente un 500% más rápido) que la HF.
Puede además codificar tags RFID a un ratio un 75% más rápido que la HF. Los
lectores UHF capaces de leer tanto tags near-field como far-field se espera que sean un
50% más caros que los lectores RFID corrientes, los cuales están diseñados para leer
tags sólo en campo lejano. Además, la tecnología requerirá antenas duales y paquetes de
software duales para distinguir entre las transmisiones de las dos antenas.
Proyecto SIRAU 24
Al mismo tiempo, un número creciente de empresas farmacéuticas están
buscando soluciones RFID a nivel de ítem y habrá un incremento de las soluciones
híbridas. Estos híbridos pueden ser combinaciones de sistemas RFID HF y UHF, como
la UHF para cajas y palets, y los tags HF y las combinaciones de tags HF y etiquetas 2D
de códigos de barras a nivel de ítem. También puede haber combinaciones de tags RFID
con sensores capaces de medir los impactos, temperatura, humedad y otras condiciones,
para hacer el seguimiento de si los medicamentos viajan a través de la cadena de
suministro sin daños. Parece que el uso aislado de HF para el etiquetaje a nivel de ítem
no resulta una solución a largo plazo para la industria farmacéutica. El crecimiento de la
UHF está mermando la popularidad de la HF, incluso a nivel de ítem. Wal-Mart, por
ejemplo, ya ha pedido a la mayoría de sus proveedores que fijen tags UHF EPC a todas
las cajas y palets de productos. Además del apoyo que la UHF recibe de Wal-Mart
parece que hay de tres a cinco veces más dólares invertidos en la investigación y
desarrollo de la UHF que la HF.
Si realizamos una mirada a todos los sectores industriales, podremos comprobar
que los que no han adoptado ya la UHF EPC Gen2 están, por motivos muy concretos
como las farmacéuticas, en proceso de adopción. Parece que aun nos quedan algunos
años de debate, pero parece que la balanza se decanta cada vez más hacia UHF. A parte
de los aspectos tecnológicos, lo que parece indudable es que la RFID será una
tecnología cada vez más presente en las vidas cotidiana. En unos años, y una vez
resueltos los “impedimentos” morales y tecnológicos, los lectores RFID estarán cada
vez más presentes en la sociedad y el Identificador electrónico se encontrará presente en
todos los productos que se vendan. Lo que se puede vislumbrar actualmente es que EPC
se está imponiendo como estándar Global y es el catalizador que empujará la RFID
hacia el futuro.
Proyecto SIRAU 25
3. TEXTO A VOZ (TTS TEXT‐TO‐SPEECH).
3.1 INTRODUCCIÓN La conversión texto‐voz es la generación, por medios automáticos, de una voz
artificial que genera idéntico sonido al producido por una persona al leer un texto
cualquiera en voz alta. Es decir, son sistemas que permiten la conversión de textos en voz
sintética. Los conversores de texto‐voz son conocidos también con las siglas CTV o por las
siglas en inglés TTS (Text to speech).
3.2 SÍNTESIS DE VOZ La Síntesis de voz es la producción artificial de habla humana. Un sistema usado
con este propósito recibe el nombre de sintetizador de voz y puede implementarse en
software o en hardware. La síntesis de voz se llama a menudo en inglés text‐to‐speech
(TTS), en referencia a su capacidad de convertir texto en habla. Sin embargo, hay sistemas
que en lugar de producir voz a partir de texto lo hacen a partir de representación
lingüística simbólica en habla.
3.2.1 VISIÓN GENERAL DE LA TECNOLOGÍA DE SÍNTESIS DE VOZ
Un sistema texto a voz se compone de dos partes: un front‐end y un back‐end. A
grandes rasgos, el front‐end toma como entrada texto y produce una representación
lingüística fonética. El back‐end toma como entrada la representación lingüística simbólica
y produce una forma de onda sintetizada.
El front‐end desempeña dos tareas
principales. Primero, toma el texto y convierte
partes problemáticas como números y
abreviaturas en palabras equivalentes. Este
proceso se llama a menudo normalización de
texto o preprocesado. Entonces asigna una
trascripción fonética a cada palabra, y divide y
marca el texto en varias unidades prosódicas,
como frases y oraciones. El proceso de asignar
transcripciones fonéticas a las palabras recibe el nombre de conversión texto a fonema
(TTP en inglés) o grafema a fonema (GTP en inglés). La combinación de transcripciones
fonéticas e información prosódica constituye la representación lingüística fonética.
La otra parte, el back‐end, toma la representación lingüística simbólica y la
convierte en sonido. El back‐end se llama a menudo sintetizador.
Figura 3.1. Esquema del aparato fonador
Proyecto SIRAU 26
3.2.2 HISTORIA
Mucho antes del desarrollo del procesado de señal moderno, los investigadores de
la voz intentaron crear máquinas que produjesen habla humana. El Papa Silvestre II
(1003), Alberto Magno (1198‐1280) y Roger Bacon (1214‐1294) crearon ejemplos
tempranos de 'cabezas parlantes'. En 1779, el científico danés Christian Gottlieb
Kratzenstein, que trabajaba en esa época en la Academia Rusa de las Ciencias, construyó
modelos del tracto vocal que podría producir las cinco vocales largas (a, e, i, o y u).
Wolfgang von Kempelen de Vienna, Austria, describió en su obra “Mechanismus der
menschlichen Sprache nebst der Beschreibung seiner sprechenden Maschine” ("mecanismo
del habla humana con descripción de su máquina parlante", J.B. Degen, Wien) una máquina
accionada con un fuelle. Esta máquina tenía, además, modelos de la lengua y los labios,
para producir consonantes, así como vocales. En 1837 Charles Wheatstone produjo una
'máquina parlante' basada en el diseño de von Kempelen, y en 1857 M. Faber construyó la
máquina 'Euphonia'. El diseño de Wheatstone fue resucitado en 1923 por Paget. En los
años 30, los laboratorios Bell Labs desarrollaron el VOCODER, un analizador y sintetizador
del habla operado por teclado que era claramente inteligible. Homer Dudley refinó este
dispositivo y creo VODER, que exhibió en la Exposición Universal de Nueva York de 1939.
Los primeros sintetizadores de voz sonaban muy robóticos y eran a menudo
inteligibles. Sin embargo, la calidad del habla sintetizada ha mejorado, y el resultado de los
sistemas de síntesis contemporáneos es, en ocasiones, indistinguible del habla humana
real. A pesar del éxito de los sintetizadores puramente electrónicos, sigue investigándose
en sintetizadores mecánicos para su uso en robots humanoides. Incluso el mejor
Figura 3.2. Antecedentes históricos de los algoritmos textofonema.
Proyecto SIRAU 27
sintetizador electrónico está limitado por la calidad del transductor que produce el sonido,
así que en un robot un sintetizador mecánico podría ser capaz de producir un sonido más
natural que un altavoz.
El primer sistema de síntesis computerizado fue creado a final de la década de
1950 y el primer sistema completo texto a voz se finalizó en 1968. Desde entonces se han
producido muchos avances en las tecnologías usadas para sintetizar voz.
3.2.3 TECNOLOGÍAS DE SÍNTESIS
Las dos características utilizadas para describir la calidad de un sintetizador de voz
son la naturalidad e inteligibilidad. La naturalidad de un sintetizador de voz se refiere a
cuánto suena como la voz de una persona real. La inteligibilidad de un sintetizador se
refiere a la facilidad de la salida de poder ser entendida. El sintetizador ideal debe de ser a
la vez natural e inteligible, y cada tecnología intenta conseguir el máximo de ambas.
Algunas de las tecnologías son mejores en naturalidad o en inteligibilidad y las metas de la
síntesis determinan a menudo qué aproximación debe seguirse. Hay dos tecnologías
principales usadas para generar habla sintética: síntesis concatenativa y síntesis de
formantes.
• Síntesis concatenativa: La síntesis concatenativa se basa en la concatenación de
segmentos de voz grabados. Generalmente, la síntesis concatenativa produce los
resultados más naturales. Sin embargo, la variación natural del habla y las técnicas
automatizadas de segmentación de formas de onda dan como resultado defectos
audibles, que conllevan una pérdida de naturalidad. Hay tres tipos básicos de
síntesis concatenativa:
o Síntesis por selección de unidades: La síntesis por selección de unidades
utiliza una base de datos de voz grabada (más de una hora de habla
Figura 3.3. Imagen del chip TTS de EPSON
Proyecto SIRAU 28
grabada). Durante la creación de la base de datos, el habla se segmenta en
unidades: fonemas, sílabas, palabras, frases y oraciones. Típicamente, la
división en segmentos se realiza usando un reconocedor de voz modificado
para forzar su alineamiento con un texto conocido. Después se corrige
manualmente, usando representaciones como la forma de onda y el
espectrograma. Se crea un índice de las unidades en la base de datos
basada en parámetros acústicos de la segmentación como la frecuencia
fundamental, el pitch, la duración, la posición en la sílaba y los fonemas
vecinos. En tiempo de ejecución, el objetivo deseado se crea determinando
la mejor cadena de candidatos de la base de datos (selección de unidades).
Este proceso se logra típicamente usando un árbol de decisión
especialmente ponderado. La selección de unidades da la máxima
naturalidad debido al hecho de que no aplica mucho procesado digital de la
señal grabada, lo que a menudo hace que el sonido grabado suene menos
natural, aunque algunos sistemas usan un procesado de señal en la
concatenación para suavizar las formas de onda. De hecho, la salida de la
mejor selección de unidades es a menudo indistinguible de la voz humana
real, especialmente en contextos en los que el sistema ha sido adaptado.
Por ejemplo, un sistema de síntesis de voz para dar informaciones de
vuelos puede ganar en naturalidad si la base de datos fue construida a base
de grabaciones de informaciones de vuelos, pues será más probable que
aparezcan unidades apropiadas e incluso cadenas enteras en la base de
datos. Sin embargo, la máxima naturalidad a menudo requiere que la base
de datos sea muy amplia, llegando en algunos sistemas a los gigabytes de
datos grabados.
o Síntesis de difonos: La síntesis de difonos usa una base de datos mínima
conteniendo todos los difonos que pueden aparecer en un lenguaje dado. El
número de difonos depende de la fonotáctica del lenguaje: el castellano
tiene unos 800 difonos, el alemán unos 2500. En la síntesis de difonos, la
base de datos contiene un sólo ejemplo de cada difono. En tiempo de
ejecución, la prosodia de una oración se sobreimpone a estas unidades
mínimas mediante procesado digital de la señal, como codificación lineal
predictiva. La calidad del habla resultante es generalmente peor que la
obtenida mediante selección de unidades pero más natural que la obtenida
Proyecto SIRAU 29
mediante sintetización de formantes. La síntesis difonos adolece de los
defectos de la síntesis concatenativa y suena robótica como la síntesis de
formantes, y tiene pocas ventajas respecto a estas técnicas aparte del
pequeño tamaño de la base de datos.
o Síntesis específica para un dominio: La síntesis específica para un dominio
concatena palabras y frases grabadas para crear salidas completas. Se usa
en aplicaciones donde la variedad de textos que el sistema puede producir
está limitada a un particular dominio, como anuncios de salidas de trenes o
información meteorológica. Esta tecnología es muy sencilla de
implementar, y se ha usado comercialmente durante mucho tiempo: es la
tecnología usada por aparatos como relojes y calculadoras parlantes. La
naturalidad de estos sistemas puede ser muy alta porque la variedad de
oraciones está limitada y corresponde a la entonación y la prosodia de las
grabaciones originales. Sin embargo, al estar limitados a ciertas frases y
palabras de la base de datos, no son de propósito general y sólo pueden
sintetizar la combinación de palabras y frases para los que fueron
diseñados.
• Síntesis de formantes: La síntesis de formantes no usa muestras de habla humana
en tiempo de ejecución. En lugar de eso, la salida se crea usando un modelo
acústico. Parámetros como la frecuencia fundamental y los niveles de ruido se
varían durante el tiempo para crear una forma de onda o habla artificial. Este
método se conoce también como síntesis basada en reglas. Muchos sistemas
basados en síntesis de formantes generan habla robótica y de apariencia artificial,
y la salida nunca se podría confundir con la voz humana. Sin embargo, la
naturalidad máxima no es siempre la meta de un sintetizador de voz, y estos
sistemas tienen algunas ventajas sobre los sistemas concatenativos. La síntesis de
formantes puede ser muy inteligible, incluso a altas velocidades, evitando los
defectos acústicos que pueden aparecer con frecuencia en los sistemas
concatenativos. La síntesis de voz de alta velocidad es a menudo usada por los
discapacitados visuales para utilizar computadores con fluidez. Por otra parte, los
sintetizadores de formantes son a menudo programas más pequeños que los
sistemas concatenativos porque no necesitan una base de datos de muestras de
voz grabada. De esta forma, pueden usarse en sistemas embedidos, donde la
Proyecto SIRAU 30
memoria y la capacidad de proceso son a menudo exiguas. Por último, dado que los
sistemas basados en formantes tienen un control total sobre todos los aspectos del
habla producida, pueden incorporar una amplia variedad de tipos de entonaciones,
que no sólo comprendan preguntas y enunciaciones.
• Otros métodos de síntesis: La síntesis articulatoria ha sido un método de interés
puramente académico hasta hace poco. Se basa en modelos computacionales del
tracto vocal y el proceso de articulación. Pocos de los modelos son suficientemente
avanzados o eficientes computacionalmente para ser usados en sistemas
comerciales de síntesis de voz. Una excepción notable es el sistema basado en
NeXT, originalmente desarrollado y comercializado por Trillium Sound Research
Inc, que pasó más tarde a tener una licencia GPL y se continuó como gnuspeech,
siendo un proyecto GNU. El sistema, que fue comercializado por primera vez en
1994, proporciona una conversión texto a voz articulatoria completa mediante una
analogía de guía de onda o línea de transmisión de los tractos vocal y nasal
humanos, controlados por el Modelos de Región Distintiva de Carré que está
basado en el trabajo de Gunnar Fant y otros del laboratorio Stockholm Specch
Technology Lab del Royal Institute of Technology sobre el análisis de la
sensibilidad de formantes. Este trabajo mostró que los formantes en un tubo
resonante pueden ser controlados por sólo ocho parámetros que corresponden a
los articuladores disponibles en el tracto vocal humano natural. La Síntesis híbrida
aúna aspectos de las síntesis concatenativa y de formantes para minimizar los
defectos acústicos cuando se concatenan segmentos. La Síntesis basada en HMM es
un método de síntesis basado en Modelos ocultos de Markov (HMM en inglés). En
este sistema, el espectro de frecuencias (tracto vocal), frecuencia fundamental
(fuente vocal), y la duración (prosodia) se modelan simultáneamente por modelos
ocultos de Markov. Las formas de onda se generan desde estos modelos ocultos de
Markov mediante el criterio de máxima verosimilitud.
Proyecto SIRAU 31
3.2.4 EL FRONTEND
3.2.4.1 NORMALIZACIÓN DE TEXTO
Los textos están llenos de homógrafos, números y abreviaturas que tienen que ser
transformados en una representación fonética. Por supuesto, en lenguas donde la
correspondencia entre el texto escrito y su equivalente fonético es poca (inglés) o ninguna
(mandarín), la creación de estos sistemas se complica. Muchos sistemas de texto a voz no
generan representaciones semánticas de los textos de entradas, pues los sistemas para
hacerlo no son fiables o computacionalmente efectivos. Como resultado, se usan varias
técnicas heurísticas para estimar la manera correcta de desambiguar homógrafos, como
buscar palabras vecinas y usar estadísticas sobre la frecuencia de aparición de las
palabras. Decidir cómo convertir números en palabras es otro problema que tienen por
solucionar los sintetizadores de voz. Es un desafío bastante simple programar un sistema
que convierta números en palabras, como por ejemplo transformar 1325 en "mil
trescientos veinticinco". Sin embargo, los números aparecen en diferentes contextos, y
1325 puede ser un ordinal, "uno tres dos cinco" si son los últimos dígitos de un DNI o
"trece veinticinco" si es un número de teléfono. A menudo un sistema de síntesis de voz
puede inferir como expandir un número en base a las palabras o números vecinos y la
puntuación, y algunos sistemas proporcionan un sistema de especificar el tipo de contexto
si es ambiguo.
De la misma forma, abreviaturas como "etc." se pueden transformar fácilmente en
"etcétera", pero a menudo las abreviaturas pueden ser ambiguas. Por ejemplo la
abreviatura "am" puede ser "ante Meridian" en el ejemplo: "El vuelo aterrizará a las 11
am" o puede ser "modulación de amplitud" o simplemente "a eme" en el ejemplo "Nos
puede encontrar en la sintonía 1425 am". Los sistemas con front‐end inteligentes pueden
hacer estimaciones adecuadas acerca de cómo tratar abreviaturas ambiguas, mientras que
otros pueden hacer lo mismo en todos los casos, dando resultados en ocasiones cómicos.
Proyecto SIRAU 32
3.2.4.2 SISTEMAS TEXTO A FONEMA
Los sintetizadores de voz usan dos aproximaciones básicas al problema de
determinar la pronunciación de una palabra basándose en su pronunciación, un proceso
que a menudo recibe el nombre de conversión texto a fonema o grafema a fonema, dado
que fonema es el término usado por los lingüistas para describir sonidos distintivos en una
lengua.
La aproximación más simple a este problema es la basada en diccionario, donde se
almacena en el programa un gran diccionario que contiene todas las palabras de la lengua
y su correcta pronunciación. Determinar la pronunciación correcta de cada palabra
consiste en buscar cada palabra en el diccionario y reemplazar el texto con la
pronunciación especificada en el diccionario. La otra aproximación para convertir texto en
fonemas es la aproximación basada en reglas, donde dichas reglas para la pronunciación
de las palabras se aplican a palabras para extraer sus pronunciaciones basadas en su
forma escrita.
Cada aproximación tiene ventajas y desventajas. La técnica basada en diccionarios
tiene como ventajas ser rápida y precisa, pero falla completamente si una palabra dada no
aparece en el diccionario, y a medida que crece el diccionario crecen los requerimientos de
memoria del sistema de síntesis. Por otra parte, la técnica basada en reglas funciona con
cualquier entrada, pero la complejidad de las reglas crece sustancialmente a medida que
se van teniendo en cuenta ortografías y pronunciaciones irregulares.
Figura 3.4. Esquema de Natural Voices de AT&T
Proyecto SIRAU 33
Como resultado, casi cualquier sintetizador de voz usa una combinación de las dos
técnicas. Algunos lenguajes como el español tiene un sistema de escritura muy regular y la
predicción de la pronunciación de palabras basada en deletreos es prácticamente correcta.
Los sistemas de síntesis de voz para este tipo de lenguajes generalmente usan un enfoque
basado en reglas como el enfoque central para la conversión texto‐fonema y auxiliándose
de diccionarios pequeños para algunas palabras de origen extranjero cuya pronunciación
no se deduce de la escritura. En lenguajes como el inglés, dado que se trata de sistemas
muy irregulares en su escritura, el enfoque se basa principalmente en diccionarios y solo
para palabras no usuales se basa en reglas.
3.3 SINTETIZADORES DE VOZ DISPONIBLES LIBREMENTE
• SAPI soporta los motores TTS3000 de Lernout y Hauspie para español, inglés
americano, inglés británico, holandés, francés, alemán, italiano, japonés, coreano,
ruso y portugués de brasil. Aunque es un sistema que incorpora Windows CE, si no
se instala en origen, cuando se instala Windows (no es una opción por defecto) en
el dispositivo, no se puede añadir a posteriori.
• Festival es un sintetizador de voz disponible libremente basado en concatenación
de difonos y selección de unidades. Está disponible para español, inglés británico y
americano y galés. Flite (Festivallite) es una alternativa más pequeña de Festival
diseñado para sistemas empotrados y servidores de gran volumen de trabajo.
• FreeTTS escrito enteramente en Java, basado en Flite.
• MBROLA es un sistema de concatenación de difonos para unas 25 lenguas (sólo
nack‐end).
• Gnuspeech es un paquete extensible de texto a voz basado en síntesis por reglas
articulatoria en tiempo real.
• Epos es un sistema texto a voz controlado por reglas diseñado principalmente
para investigación. Disponible para checo y eslovaco.
• Voces HTS son voces sintetizadas basadas en modelos ocultos de Markov para
Festival. El usuario puede construir su propia voz HTS usando una pequeña
cantidad de habla grabada (unos 30 minutos) usando las herramientas de
entrenamiento distribuidas en web de HTS.
Todos estos sistemas (excepto SAPI pero que no es instalable en Windows CE si no
se hace en origen) son programas encarados a la investigación y no cubren las necesidades
mínimas requeridas por este proyect
Proyecto SIRAU 34
3.4 SINTETIZADORES DE VOZ DISPONIBLES COMERCIALMENTE
• Loquendo TTS para castellano (varios acentos), catalán, holandés, inglés,
portugués, italiano, francés, alemán, griego, sueco y chino. Hay disponibles
demostraciones interactivas vía web.
• Cepstral para español, inglés, italiano, alemán y francés.
• Voces naturales AT&T para español, inglés, alemán y francés.
• NeoSpeech VoiceText tiene voces en inglés americano, coreano, japonés y chino.
• Acapela Group con muchos sintetizadores de voz que soportan muchas lenguas
• Voces de texto a voz de ATIP para el alemán (también con acentos francés y
Turco) e Inglés.
• DSC Text To Speech Software Aplicaciones y demostraciones de texto a voz
• Fonix Speech Ofrece muchos motores de texto a voz para sistemas empotrados y
servidores
• Sintetizador de voz Microsoft de chino mandarín, Demostración de inglés
• RealSpeak por Nuance para español, inglés, alemán y griego entre otros muchos.
• IBM Research TTS (ejemplos para inglés americano, árabe, chino, francés y
alemán)
• Sakrament TexttoSpeech Engine para ruso y algunas otras lenguas.
• SVOX Especialista suizo en soluciones empotradas de voz para 18 lenguas.
• Verbio TTS ‐ Applied Technologies on Language and Speech (ATLAS) para francés,
castellano e inglés.
• Vocaloid sintetizador de voz cantante de Yamaha
• ASY es un sistema de síntesis de voz articulatoria desarrollado en los Laboratorios
Haskins
• iFlyTek InterPhonic es un sintetizador basado en corpus desarrollado por una
compañía china.
• VoiceText es un sistema de síntesis de voz concatenativo realizado por Voiceware,
Corea.
Proyecto SIRAU 35
4. PROYECTO SIRAU Este documento pretende exponer de una forma rápida y sencilla los puntos clave
y las decisiones principales del proyecto. Este documento va enfocado a lectores que no
estén familiarizados con la tecnología utilizada o los que sí que lo estén, pero quieran una
visión rápida y global del proyecto.
4.1 INTRODUCCIÓN.
La aparición de un déficit corporal (visual, auditivo, motriz, etc.) debido a una
enfermedad, accidente o simplemente el propio ciclo vital, conlleva la generación de un
conjunto de limitaciones en las actividades cotidianas, que se traducen en una restricción
de la participación de colectivos de discapacitados o mayores en la sociedad,
produciéndose, además, una dependencia de terceros. Los trabajos planteados en el
presente proyecto centran su actuación en reducir las limitaciones que dichos colectivos
sufren en las actividades cotidianas mediante la introducción de agentes inteligentes en su
entorno. Estos agentes deben facilitar la accesibilidad del entorno en el que se integran de
forma natural, requiriendo la mínima formación o mantenimiento por parte de sus
usuarios.
4.2 SISTEMA
SIRAU plantea crear un servicio que ofrezca al usuario la posibilidad de
identificar un objeto cualquiera y que, mediante el acceso automático a un sistema
remoto, pueda obtener información referente al producto y presentarla por el canal más
adecuado. El proyecto consta de dos grandes líneas de trabajo, por un lado la
implementación de diferentes modelos de lectores y por otro el diseño e implementación
de la infraestructura necesaria para ofrecer un servicio remoto de identificación global.
Proyecto SIRAU 36
Con el servicio remoto, el sistema proporciona la posibilidad de que el fabricante
de un producto, el médico o el farmacéutico (en caso de medicamentos) o terceras
personas autorizadas puedan acceder a la información relativa a un producto concreto y
modificarla para ofrecer una información útil al grupo de interés.
De esta forma, por ejemplo siguiendo con el caso de los medicamentos (Figura
4.1), el farmacéutico podría añadir la información de las horas de toma de un
medicamento concreto en el momento de la venta, mediante un terminal con acceso a la
base de datos, que podría ser un ordenador con acceso a Internet. Así se conseguiría
ofrecer un servicio donde cualquiera de los terminales, adaptados a cada necesidad,
compartiría un servidor común remoto donde terceras personas podrían añadir
información del producto etiquetado. Así el producto “hablaría” y “explicaría”
información de interés al usuario final. La flexibilidad del sistema propuesto permite
adaptar la información y el canal por la que se presenta al usuario.
El sistema consiste en un servidor conectado a Internet donde se encuentran
almacenados los datos de los productos, un servidor local que se encuentra en el hogar
del usuario y un sistema de lectores, algunos móviles y conectados inalámbricamente y
otros fijos conectados por cable al servidor local.
La primera gran incertidumbre del proyecto se presento en la selección de la
tecnología de identificación, es decir escoger Alta Frecuencia (HF) o Ultra Alta Frecuencia
(UHF). En primer lugar resaltar que en los primeros desarrollos el sistema va enfocado a
Figura 4.1. Esquema de SIRAU
Proyecto SIRAU 37
usuarios invidentes y personas mayores. Los primeros prototipos se han implementado en
PDAs comerciales y con lectores en formato Compact Flash.
En cuanto a la tecnología HF, presenta diversas ventajas en esta aplicación, la
primera es que existen lectores para formatos portátiles que tienen consumos moderados.
Por otro lado presenta mejor comportamiento en según qué tipos de superficies. Pero esta
tecnología presenta dos inconvenientes, el primero es el corto alcance de lectura, esta
característica tiene dos vertientes, por un lado no podemos tener un rango excesivo de
lectura debido a que el usuario podría estar adquiriendo el código de un producto que no
es el que desea. Por otro lado, si el sistema presentará un rango de lectura inferior, los
usuarios invidentes y personas mayores podrían tener problemas para conseguir localizar
la etiqueta en el producto. El segundo inconveniente es que el mercado que está
adquiriendo esta tecnología es más limitado, más centrado en aplicaciones de electrónica
de consumo.
Por lo que respecta a la tecnología UHF, presenta un inconveniente esencial, en
este momento no existen lectores en formato portátil para incorporar a PDA en el
mercado. Por otro lado la gran perspectiva de futuro, y el hecho de que en un plazo de
tiempo no muy largo lo más probable es que muchos productos vengan etiquetados de
fábrica, hace que sea una línea de trabajo muy interesante.
Debido a la incertidumbre creada por las características técnicas de cada
tecnología, se decidió implementar dos lectores, uno en HF y otro en UHF. De este modo se
podría trabajar en un sistema donde se integrarían diferentes tecnologías bajo una misma
funcionalidad.
4.3 PROTOTIPO HF
El prototipo HF (Figura 4.2) se diseño con el objetivo de conseguir un sistema
portátil y comercial sacrificando nivel de dificultad en el manejo para el usuario. Se
consideró que un sistema basado en PDA era el soporte óptimo para el desarrollo de la
interfaz. A la PDA se le incorporó un lector comercial (ACG) en formato Compact Flash. El
uso de una PDA y de sistemas comerciales, como en el caso del lector, confieren al
proyecto el valor añadido de una estandarización, un coste mínimo y probablemente una
mayor aceptabilidad por parte del usuario final.
Proyecto SIRAU 38
Figura 4.2 Prototipo HF
La PDA es una plataforma programable que nos brinda un elemento de desarrollo
estándar con todos los pros y contras que conlleva. Por otro lado, proporciona una
herramienta de diseño flexible donde se puede desarrollar una aplicación útil y portable a
otros dispositivos. Un debate que se planteó en el proceso de decisión, fue la conveniencia
de utilizar la PDA para usuarios finales invidentes, pero se llegó a la conclusión que existen
suficientes dispositivos, específicos o no, que pueden facilitar el uso de la PDA por parte de
usuarios invidentes .
El Lector RFID se comunica con la PDA a través del bus de la ranura Compact Flash.
Se han desarrollado una serie de clases que utilizan las librerías del fabricante para crear
un estándar de comunicación con el resto de capas, que permita un desarrollo más simple
y rápido de nuevas librerías para poder utilizar otros sistemas hardware de lectura RFID
con el sistema.
La interfaz se comunica con el usuario a través de un motor software de Text‐to‐
Speech (Loquendo) que permite convertir la información para usuarios invidentes, Por
otra parte el feedback con el usuario se realiza a través de la pantalla táctil y de la
botonera de la PDA.
Aunque el tratamiento de la información se abordará en los siguientes apartados
de este articulo, comentar que este modelo permite, aprovechando el micrófono
incorporado, tener información asociada a la etiqueta en formato de voz (.Wav) en una
base local en la PDA.
Proyecto SIRAU 39
Las experiencias con los usuarios en los primeros estudios que se realizaron con
los prototipos nos permitieron desarrollar un interfaz de usuario basado en la experiencia
y las preferencias de posibles usuarios. La problemática asociada al uso de una interfaz
que es principalmente visual, como es un dispositivo PDA, es la gran barrera con la que
nos hemos topado y que hemos resuelto gracias a soluciones propuestas por los usuarios y
extraídas del estudio de las entrevistas realizadas.
4.4 PROTOTIPO UHF
El Prototipo UHF se está desarrollando con objetivos diferentes al HF, es decir,
crear una plataforma de sistema que nos permita diseñar, a partir de ella, múltiples
sistemas adaptados a usuarios concretos. Con esta decisión se ha procurado atender la
necesidad de un gran grupo de usuarios potenciales que, o bien no tienen una gran
motivación en el uso de un sistema como el propuesto en el formato HF, o bien aunque sí
que exista esta motivación no están capacitados.
El sistema base está compuesto por un procesador ARM9 como centro del sistema
(Figura 4.3). Estos procesadores son los que se implementan en las PDAs actuales y
ofrecen un gran potencial y versatilidad. Con un procesador de estas características
podremos diseñar un sistema modular que se adapte a las diversas posibilidades que se
nos presentan.
Figura 4.3 Esquema Prototipo UHF
Proyecto SIRAU 40
El primer modelo es un lector de pared que, accede a las diversas bases de datos en
cuanto se le acerca un producto etiquetado. Sí se considera que el usuario está capacitado
se puede añadir, por ejemplo, una interfaz de comunicación, donde se puedan modificar
etiquetas e incluso, con la incorporación de un micrófono, añadir la opción de tener, como
en el caso del prototipo HF, una base de datos local con grabación de audio. Si la
capacitación del usuario es menor, por el motivo que sea, podemos omitir esta parte y
crear un sistema automático, el cual, al leer una etiqueta, realice una consulta automática y
presente la información. Otro campo a tener en cuenta es la presentación de la
información, en este caso y aunque el sistema en sus primeros pasos este dirigido a
invidentes, podemos añadir información por canal visual en una pantalla para ciegos
parciales o usuarios sordos y se podría llegar a presentar la información en tablas Braille
electrónicas. Con esta filosofía, estaremos en disposición de llegar a un gran número de
usuarios que puedan tener o no déficit físicos o psíquicos.
El objetivo de esta línea del proyecto es crear un sistema escalable que pueda
ofrecer desde una amplia gama de prestaciones hasta un número muy reducido. La parte
fundamental del sistema, como hemos comentado, es un procesador ARM9 y se están
incorporando una serie de módulos para añadir todas las funcionalidades posibles. Se
incorporaran por ejemplo, módulos lectores de RFID en UHF, chips conversores texto‐a‐
habla (“TextToSpeech” TTS), amplificador de audio para reproducir, micrófono y
conversor analógico‐digital, pantalla, teclado y todos los elementos necesarios para crear
los diversos sistemas adaptados que nos permita el procesador. El sistema se está
Figura 4.4 Prototipo UHF
Proyecto SIRAU 41
diseñando para poder configurar diversas estructuras de forma que se pueda implementar
cualquier formato de lector dentro de los límites del sistema.
El sistema actual está compuesto por un microprocesador ARM9 gama baja de
ST (ST92f44), un modulo Skyetec M9 de RFID UHF y un modulo TTS con motor
Hardware Winbond (Figura 4.4).
El sistema lector Skyetec M9 se comunica vía UART con el microprocesador, y
así como en el prototipo HF se han desarrollado una serie de librerías, en este caso
propias, para crear un estándar de comunicación con el resto de capas que permita un
desarrollo más simple y rápido de nuevas librerías para otros posibles sistemas
hardware.
4.5 SERVICIO PROVEEDOR DE INFORMACIÓN.
En el diseño del servicio proveedor de información se está trabajando para
conseguir que el nivel de aceptabilidad sea el máximo posible. Esta etapa tenderá a ser
transparente al usuario, con esto se quiere decir que la mayor parte del tratamiento de la
información no dependerá de él. Por ello es muy importante más que la seguridad, que
será un tema fundamental en el sistema, la percepción de seguridad y de control de la
información.
El servicio proveedor de información se ha proyectado como un servidor que
está conectado a Internet al que se puede acceder desde cualquier máquina que tenga
conexión. La propuesta de sistema pasa por mantener diversas bases de datos a
diferentes niveles del sistema. En la Figura 4.5 se puede ver un esquema conceptual del
sistema.
Proyecto SIRAU 42
Esta estructura ha de poder integrarse dentro del estándar ISO 18006 y más
concretamente nos hemos marcado como objetivo acercar el sistema el máximo posible a
las recomendaciones de EPCglobal EPCTM Global (2005), organización precursora de parte
de este estándar.
La estrategia de seguridad es que no existan en ningún momento registros que
puedan asociar productos a entidades o personas concretas. Por este motivo se considera
que la información tanto en el servidor global como en el local es pública, igual que lo
puede ser la información en una página web, y ofrecen servicio a cualquier maquina que se
conecte y acepte el algoritmo de encriptación sin pedir autenticación de usuario.
La relación entre las diferentes bases del sistema es automática y completamente
transparente al usuario. La comunicación inalámbrica entre el prototipo HF y el sistema
esta encriptada con un sistema Rijndael con negociación por RSA 1024 bits para evitar
problemas de seguridad con “sniffers”. La comunicación entre los servidores local y global
esta también encriptada por el mismo sistema. El prototipo UHF debido a que de momento
Figura 4.5 Esquema del sistema proveedor de información
Proyecto SIRAU 43
es un terminal cableado dentro de una red de área local cerrada, y para evitar sobrecargar
el procesador, se ha omitido la encriptación de la comunicación.
4.5.1 SERVIDOR GLOBAL
Al servidor Global pueden acceder terceras personas, debidamente autorizadas, a
introducir la información global sobre los identificadores de producto. Éste, por otro lado,
será el servidor que mantenga la base de datos global a la cual accederán los servidores
locales, bajo consulta automática, para actualizar sus bases. Este servidor dispone de un
servicio web para la introducción o edición de datos en la base de datos. La ordenación de
los datos se ha realizado por formularios donde se divide la información en familias de
productos. Dentro de cada familia existen diversos formularios de productos “estándar” y
existe la posibilidad de crear nuevos. Cada etiqueta o rango de etiquetas, se asocian un
producto concreto. Un ejemplo sería un CD de música, en este caso el producto estaría
asociado a la familia CD/DVD, al producto CD y la información se dividiría en diversos
campos: Producto (título, cantante), Repertorio, Duración, Información adicional (disco de
oro, colección). Esta información al completo es la que se ofrece a los servidores locales.
4.5.2 SERVIDOR LOCAL
La base de datos local se encuentra en el sistema que conecta con Internet. Esta
base de datos incorporará un sistema de depuración y renovación de datos que mantiene
la base de datos dentro de unos límites razonables de tamaño sin sacrificar velocidad. Esta
base de datos es un punto crítico para que el sistema no sea extremadamente lento ya que
lanzar consultas a través de Internet puede suponer un tiempo excesivo.
El servidor de datos local se dirige a la base de datos global cuando no encuentra
información asociada a la etiqueta que demanda el terminal. Este servidor también se
conecta una vez al día al servidor en internet para refrescar los productos que están en su
base de datos, por si se hubiese producido algún cambio en la información asociada. Si
fuese así, el servidor local esperaría la primera conexión del terminal con base de datos
propia para refrescar la tercera base de datos – en caso de existir.
Este servidor tiene también el cometido de ordenar la información antes de
transmitirla al terminal. Para ello se ha diseñado un sistema de filtros, donde se incluyen
roles, donde se especifica cómo y en qué orden se ha de presentar la información. Estos
filtros sirven, por ejemplo, para determinar que, si es un servidor local de una persona
ciega, la primera información que presente sea el color de una prenda de ropa. Si no
Proyecto SIRAU 44
existen filtros activos, la información también se ordena, pero en este caso de una forma
predefinida.
La información se sirve al terminal en tres niveles de importancia que vienen
determinados por los filtros que se han comentado con anterioridad. Así por ejemplo en el
primer nivel, siguiendo el caso de una persona invidente y una camisa, estarían el color, la
forma, la temporada y la talla, en el segundo nivel la forma de planchar y lavar y en el
tercer nivel la composición del tejido e información adicional.
4.5.3 BASE DE DATOS EN EL TERMINAL
Esta base de datos no es necesaria y en caso de existir se encuentra en la memoria
del elemento interfaz y conviven los datos públicos con la base de datos personal del
usuario. Esta base está pensada para poder soportar la grabación de etiquetas personales
sin necesidad de introducirlas en el servidor remoto, a su vez nos proporciona la ventaja
de que el usuario pueda introducir etiquetas de “Voz” y pueda mantener una base de datos
reducida de acceso rápido con las etiquetas que más se usan y las más recientes. La edición
de etiquetas de “Voz” consiste en que el usuario puede asociar información a la etiqueta en
forma de grabación de audio y que esta se reproduzca cuando se identifique la etiqueta
correspondiente. En el caso del prototipo HF existe esta base de datos y de esta forma la
PDA no siempre se ha de conectar a la base de datos local, únicamente se conectará
cuando no se encuentre información pública asociada a la etiqueta en la cache, en ese caso
se realiza la petición de la información de la etiqueta y se lleva a cabo una actualización de
la base de datos del terminal en caso de que fuera necesaria.
En el caso de existir esta base de datos, como en el prototipo HF, cuando se lee una
etiqueta se busca, lo primero, si existe alguna información personal en modo voz asociada,
si es así se empieza a reproducir y se va a buscar la información pública, si la etiqueta está
presente en la base de datos del terminal se espera al final de la grabación para
reproducirla a través del motor TTS si no, se lanza una petición al servidor local con el
código correspondiente. Cuando se acaba de reproducir la información personal, se
pregunta al usuario si desea escuchar más información y si es así se presenta el primer
nivel de información pública, que se ha comentado en el apartado 5.2, y así sucesivamente
con todos los 2 niveles restantes de información. En el caso de no existir esta base, como
en el caso del prototipo UHF, cuando se lee una etiqueta se envía en código al servidor
local, el terminal espera a que le llegue la información y la presenta a través del motor TTS
por niveles y preguntando al usuario en cada nivel si desea recibir más información.
Proyecto SIRAU 45
5. INFORME DE USABILIDAD
5.1 INTRODUCCIÓN No existe en Castellano un término único reconocido que defina la facilidad,
eficiencia y eficacia en un producto, por lo que desde hace varios años se utiliza la palabra
usabilidad para referirse a estas características, reflejando que un producto ha sido
desarrollado teniendo en cuenta las demandas, características y especificaciones de uso y
entorno de los usuarios.
En consecuencia la usabilidad engloba aspectos relativos a la capacidad para que el
usuario utilice un producto de forma rápida, intuitiva, fácil y con un alto grado de
satisfacción, así como funcionalidad, seguridad y confort, sin olvidar que un producto bien
diseñado bajo este planteamiento será bien acogido en el mercado, siempre y cuando su
precio sea razonable. Existen otras definiciones de usabilidad, algunas de ellas son:
• ISO‐9241‐11: define la usabilidad como el punto hasta el cual un producto puede
usarse por usuarios concretos para alcanzar objetivos específicos con eficacia,
eficiencia y satisfacción en un contexto de uso especificado.
• M.A Sánchez (1993): recolección de datos empíricos tendentes a caracterizar y
estimar la influencia que un determinado diseño ejerce en la capacidad del
producto de ser usado fácil, efectiva y eficientemente por los usuarios
especificados.
• Nielsen (1993): medida de utilidad de un sistema para conseguir un objetivo y el
modo en que los usuarios pueden usar el sistema o producto.
• The Usability Group (1999): define la usabilidad de un producto cuando éste es
fácil de usar, de aprender a usar y de recordar su uso. El objetivo de una prueba de
usabilidad es aplicar la experiencia del usuario con un producto o un proceso.
El término usabilidad se utiliza a menudo para referirse a la capacidad de un producto
para ser usado fácilmente.
Sin embargo, los atributos que requiere un producto para poseer características de
usabilidad dependen de la naturaleza del usuario, de las tareas que realice y del entorno.
Un producto no posee una usabilidad intrínseca, sólo la capacidad de usarse en un
contexto particular. La usabilidad no puede evaluarse estudiando un producto aislado
(ISO/IEC 9126).
Proyecto SIRAU 46
Factores que intervienen en la usabilidad
Un producto es usable cuando la persona que lo utiliza realiza las tareas deseadas con
rapidez y facilidad. La usabilidad de los productos se basa en el análisis de cuatro factores
básicos (The Usability Group, 1999):
• Un análisis del usuario: es necesario conocer las características funcionales,
antropométricas y la aptitud de los usuarios, así como sus necesidades y
expectativas a cumplir con el producto.
• Conocer y analizar el uso o actividades previstas: debe analizarse cada una de las
tareas que el producto ofrece al usuario y que éste le pide.
• Conocer y analizar el entorno donde el usuario desarrollará sus actividades: debe
analizarse el entorno físico (por ejemplo espacios de uso) y el entorno socio‐
comunitario (por ejemplo el apoyo familiar o las relaciones sociales).
• Los productos del mercado: es necesario analizar sus prestaciones, ventajas y
limitaciones a través de la comparación.
Los índices o factores fundamentales para una evaluación de la usabilidad son:
• Facilidad de aprendizaje: una ayuda técnica será fácil de utilizar si su uso puede ser
aprendido en un tiempo mínimo y el esfuerzo requerido para que un usuario
alcance el máximo nivel de ejecución no es elevado.
• Seguridad: el producto debe estar libre de producir daño al usuario y a terceras
personas.
• Rendimiento: se define como la dedicación de tiempo para la ejecución de las
tareas y el número y tipo de errores cometidos por el usuario en su realización.
• Satisfacción: medida de la comodidad o confort, de la aceptabilidad y de la actitud
positiva generada en las personas afectadas por su uso.
• Flexibilidad: la capacidad del sistema para poder trabajar con diferentes métodos
en función del nivel de experiencia del usuario.
• Efectividad: grado de exactitud con el que el sistema completa las tareas diseñadas.
Proyecto SIRAU 47
• Eficiencia: referencia al número de pasos que el usuario debe llevar a cabo para
completar la tarea.
• Adaptabilidad: capacidad de la ayuda para ser utilizada con otros productos; por
ejemplo accesorios.
Proyecto SIRAU 48
5.2 INFORME USABILIDAD La usabilidad es un punto importante a tener en cuenta en el diseño de productos
porque se relaciona con la medida en que los usuarios de los mismos son capaces de
trabajar con eficacia, eficiencia y satisfacción.
En el desarrollo de la plataforma de identificación de objetos SIRAU, se han
incorporado los usuarios desde las fases iníciales del ciclo de vida. Consideramos que ésta
es la única manera de garantizar el ajuste a usuario, especialmente en el diseño de
tecnologías de ayuda para personas con necesidades especiales. Los principales retos para
el diseño han sido: conseguir un conjunto de productos basados en dispositivos
comerciales, que sean capaces de atender necesidades y preferencias heterogéneas y muy
dependientes de contexto; y por otra parte conseguir que el producto sea suficientemente
atractivo (aspecto subjetivo) y fácil de usar como para ser bien aceptado e integrado en la
vida cotidiana de la población objetivo.
En el presente trabajo se expone el proceso de diseño y refinamiento que se ha
llevado a cabo en la interfaz del identificador a partir de la observación de secuencias de
interacción en entornos naturales, de las sugerencias de los usuarios, y de la inspección
sistemática en las versiones sucesivas de los principios de usabilidad.
5.2.1 INTRODUCCIÓN
La plataforma de identificación de objetos SIRAU que estamos desarrollando en el
Centro de Estudios Tecnológicos para las Personas con Dependencia (CETpD) son dos
dispositivos que facilitan al usuario información útil sobre los diferentes objetos de su
entorno más próximo, permitiéndoles identificar características básicas de los objetos
tales como su color, tipo de producto, fecha de caducidad o composición, entre otras 1.
Los productos se identifican con etiquetas gravables, y un lector recupera la
información mediante un mensaje oral. Las funciones que ofrece el dispositivo son la
lectura de las etiquetas, la presentación de la información global asociada a ella y la
grabación de información personal. El propósito es facilitar a las personas ciegas y con
baja visión una mayor autonomía en las actividades cotidianas y accesibilidad a su
entorno.
El desarrollo del identificador SIRAU se ha realizado con participación de usuarios
desde sus fases iníciales. El plan de ajuste a usuario que aquí se presenta integra todas
Proyecto SIRAU 49
aquellas actividades realizadas para obtener información sistemática sobre (i) las
características del contexto de uso (tareas habituales, escenario físico, red de relaciones
sociales) y (ii) los requerimientos de los usuarios (sus capacidades, preferencias, estilos de
vida), con la finalidad de orientar las decisiones de los desarrolladores y validar sus
propuestas.
Según Granollers, el esfuerzo de usabilidad es la medida que indica los recursos
empleados y las actividades realizadas durante el desarrollo de una aplicación interactiva
con la finalidad de conseguir un determinado nivel de usabilidad. Inspirándonos en su
trabajo, se ha llevado a cabo la planificación del esfuerzo de usabilidad para el prototipo
SIRAU. Tal y como se muestra en la figura 5.1, la superficie tanto en la parte de prototipado
y evaluación, como en el análisis de requisitos y el diseño, está ocupada por actividades,
indicándonos que el esfuerzo de usabilidad llevado a cabo se da desde el inicio del proceso
de diseño y desarrollo.
Figura 5.1: Esfuerzo de usabilidad y área determinada por las actividades realizadas durante el proyecto SIRAU
Siguiendo esta metodología se ha desarrollado un plan con dos niveles de análisis
complementarios: por una parte conocer mejor la realidad social del colectivo de personas
con discapacidad visual o visibilidad reducida (nivel de indagación), y por otro testar en
un bucle iterativo (aplicando los principios de la ingeniería de la usabilidad) las sucesivas
versiones del identificador (nivel de evaluación). En concreto el plan se articula de la
siguiente manera:
EtapasAnálisis
requerimientos Diseño Implementación Lanzamiento Prototipos
Evaluación con usuarios
Análisis de usuarios (UA)
Análisis de contextos (EC)
Análisis de actividad (AA)
Implementación del Servidor
Implementación del prototipo HF
Redefinición de diseño
Implementación de cambios
Desarrollo de Prototipos
Estudio cualitativo
Medidas de rendimiento
(cuantitativa)
Cuarta EtapaDiseño de producto
Implementación de producto
Prototipo de producto
Estudios cualitativos y cuantitativos.
Tercera Etapa
Entrevistas y Focus groups (experiencia SAPIENS)
Segunda EtapaDesarrollo de
Prototipos
Pruebas piloto (experiencia SAPIENS)
Requerimientos funcionales del sistema y de los dispositivos (PA)
Primera Etapa
Especificaciones tecnicas
Proyecto SIRAU 50
Indagación de productos.
Se inspeccionó diversos dispositivos de identificación de objetos, tanto comerciales,
como prototipos.
Estudio preliminar
Dentro del proyecto SAPIENS se realizaron 5 sesiones con usuarios finales con una
primera versión operativa con uno de los sistemas de lectura (versión 0.0). Los
objetivos fueron: por un lado, delimitar los contextos de uso y las actividades en que el
sistema podría resultar útil y bajo qué condiciones (con ayuda, con entrenamiento
previo etc), y una primera aproximación a perfiles de usuario. Por otro, testar la
primera versión, e identificar los requerimientos funcionales básicos, para
confeccionar una lista de dimensiones (heurísticos), En SIRAU se ha extraído la
información de forma más sistemática y aplicada a los sistemas en desarrollo.
Evaluación con usuarios, expertos y cuidadores.
Aquí el objetivo vuelve a ser doble: (i) refinar la aproximación a modelos de usuarios
y contextos por un lado, introduciendo dos nuevos grupos de interés: cuidadores y
expertos en rehabilitación y tecnología adaptada, y por otro (ii) refinar el diseño y
elaborar la relación de heurísticos.
Evaluación por dimensiones o heurística.
La última versión, considerablemente modificada respecto a la inicial, se testa con
entrevistas semiestructuradas con evaluadores, que después de una sesión de prueba
deben evaluar cuantitativamente el lector en cada una de sus dimensiones. El objetivo
es contar con información muy precisa sobre aspectos del diseño a mejorar para cada
grupo de usuarios.
El proyecto se ha divido en dos fases claramente diferenciadas:
1.Primera fase: determinación de perfiles de usuarios y análisis contextual de tarea
2. Segunda fase: Evaluación de la usabilidad integrada en el desarrollo
5.2.2 PRIMERA FASE: DETERMINACIÓN DE PERFILES DE USUARIOS Y ANÁLISIS CONTEXTUAL DE TAREA
Proyecto SIRAU 51
5.2.2.1 PERFILES DE USUARIOS
Para la identificación y caracterización de los perfiles de usuario (modelado de
usuario), se realizó una descripción de las características más relevantes de la población
objetivo. Dichas características son muy diversas debido a la gran heterogeneidad en
variables fundamentales, como por ejemplo familiaridad con recursos TIC, situación
profesional o necesidad de autonomía.
Por otro lado, nos interesaba avanzar en el análisis contextual de tareas, para
identificar qué tareas realizan en casa, cómo las realizan, y con quién (identificación del
escenario físico y social).
De la investigación y de las sesiones con usuarios, constatamos que la adopción de
un recurso tecnológico de ayuda a actividades cotidianas es un proceso complejo y precisa
de la colaboración interactiva de cuatro grupos de interés: 1) los propios usuarios; 2) las
personas que están a su alrededor, las cuales les ayudan e interactúan con ellos
diariamente (familiares, amigos, educadores, terapeutas, doctores, etc.); 3) los
especialistas en asistencias tecnológicas, y 4) los desarrolladores del sistema.
La participación activa de estos grupos contribuye de forma importante al proceso
de desarrollo, selección y aprendizaje de uso de los dispositivos, así como a la integración
del sistema en las actividades de la vida diaria del usuario. Si bien el presente estudio se
centra en las necesidades, actitudes, capacidades y preferencias del usuario final, siempre
las entendemos en un contexto social.
En todo caso, el principal motor para la adopción de una ayuda es la actitud
positiva de la persona cuya autonomía se pretende ampliar. Pensamos que la motivación
para adoptar y usar bien (voluntad de aportar el esfuerzo continuado para hacerlo)
cualquier nuevo dispositivo está determinada básicamente por la relación entre su
utilidad y su dificultad de uso.
Nuestra hipótesis es que la combinación de estas dos dimensiones ‐ percepción de
utilidad y percepción de dificultad de uso‐ son las más pertinentes para caracterizar
perfiles de usuarios en este contexto (Ver Figura 5.1). Se trata de dos dimensiones
dinámicas, variables a lo largo de la vida de las personas y contexto dependientes. Además,
pensamos que estas dos percepciones pueden ser modificadas gracias a un diseño
adecuado, que refuerce los aspectos valiosos para el usuario (utilidad) y lo muestre
asequible, familiar y fácil de usar (facilidad de uso).
Proyecto SIRAU 52
La percepción de utilidad se formaría en la relación entre la demanda de
autonomía –ganas de realizar por si mismo actividades que ahora no puede‐ y la
percepción de que el dispositivo es adecuado para adquirir estas nuevas habilidades de
autosuficiencia, es decir que atienda sus demandas de autonomía funcional.
Utilidad + Utilidad
Dificultad
Aceptabilidad Media
Usuarios capacitados pero poco motivados
Producto de bajo nivel de especialización pero escalable según
demanda Funciones básicas de lectura y grabación
Accionamiento “a la carta” Integración “a la carta” de nuevas funcionalidades
Máxima aceptabilidad
Usuarios muy motivados y muy capacitados
Producto de alto nivel de especialización Entornos Windows
Sistemas de navegación Interfaces estándar (pantalla táctil)
Integración “a la carta” de nuevas funcionalidades
+ Dificultad
Mínima aceptabilidad
Usuarios poco motivados y poco capacitados
Producto de bajo nivel de especialización
Funciones básicas de lectura (grabación opcional) Accionamiento por teclas o botones
Aceptabilidad Media
Usuarios muy motivados pero poco capacitados
Producto de bajo nivel de especialización pero escalable según
capacitación Funciones básicas de lectura y grabación opcional
Accionamiento “a la carta” Integración “a la carta” de nuevas funcionalidades
Figura 5.2: Aproximación a un modelado de usuario sobre las dimensiones de utilidad y dificultad percibidas.
5.2.2.2 DETERMINACIÓN DE PRINCIPIOS PARA EL DISEÑO.
Diversos autores han propuesto diferentes conjuntos de heurísticos o principios de
usabilidad para evaluar la calidad de una interfaz. En nuestro caso, el identificador SIRAU
es una interfaz física que incorpora también funcionalidades que se pueden asimilar a las
de aplicaciones software –por ejemplo la arquitectura de la información y la navegación‐,
pero otras que las exceden y que tienen más que ver con aspectos ergonómicos como el
tamaño, el peso o la manejabilidad. Es por eso que no hemos considerado pertinente
adoptar en su totalidad los 10 heurísticos de Nielsen para la valoración de la usabilidad
debido a que éstos están pensados para la valoración de páginas web y otras interfaces de
aplicaciones software.
Por otra parte, por tratarse de una interfaz de un sistema de ayuda, en la
evaluación se deben considerar como requerimientos esenciales del dispositivo, los
Proyecto SIRAU 53
aspectos afectivos relacionados con su uso, como la satisfacción o la percepción de propia
capacidad.
Así pues, hemos seleccionado los heurísticos de Nielsen que se adaptan al producto
que estamos desarrollando, incorporando otros, inspirándonos en la propuesta del Centro
para el Diseño Universal1 que sí se orientan a los usuarios con necesidades especiales y
tienen en consideración los dispositivos físicos, y no sólo las aplicaciones informáticas. La
relación resultante es la siguiente:
• Uso equitativo El diseño resulta útil y susceptible de ser vendido a cualquier grupo
de usuarios. Incluimos también un coste asequible a un amplio grupo de usuarios.
• Uso flexible. El diseño se adapta a un amplio rango de capacidades y preferencias
individuales.
• Uso intuitivo y sencillo. El uso es fácil de comprender, independientemente de la
experiencia, el conocimiento, la habilidad verbal o el nivel actual de concentración
del usuario. El sistema debe hablar el lenguaje del usuario, siguiendo las
convenciones, haciendo que la información aparezca en un orden lógico y natural.
• Información perceptible. El diseño transmite de forma eficaz la información
necesaria al usuario, independientemente de las condiciones del entorno y de sus
capacidades. El estado del sistema está perceptible y mantiene al usuario
informado acerca de lo que está pasando, gracias a una retroalimentación
apropiada en un tiempo razonable.
• Tolerancia a los errores y recuperabilidad. El diseño reduce al mínimo los riesgos y
las consecuencias adversas de las acciones accidentales involuntarias.
Proporcionar las operaciones de “deshacer” y “rehacer”.
• Bajo esfuerzo físico El diseño debe usarse de forma eficaz y cómoda, y con un
mínimo esfuerzo.
1 www.design.ncsu.edu/cud
Proyecto SIRAU 54
• Reconocimiento más que recuerdo Minimizar el esfuerzo de memoria del usuario,
haciendo los objetos, acciones y opciones perceptibles. Las instrucciones de uso
han de estar disponibles o fácilmente recuperables.
• Tamaño y espacio para acceso y uso. Proveer del tamaño y espacio apropiado para
el acceso, alcance, manipulación y uso, independientemente de la talla, la postura o
la movilidad del usuario.
• Estética y diseño mínimo Los diálogos no deben contener información irrelevante
o que se requiere muy raramente. Cada unidad adicional de información en un
diálogo compite con las unidades relevantes y disminuye su perceptibilidad.
• Capacitación La ayuda tecnológica debe explotar y no sustituir las capacidades del
usuario. Preferiremos aquellas soluciones que capaciten al usuario para el
aprendizaje y desarrollo de otras competencias –aunque requieran más esfuerzo
inicial‐, a las que sólo solucionan tareas específicas.
5.2.2.3 REQUERIMIENTOS FUNCIONALES
A partir del estudio preliminar con usuarios identificamos dos requerimientos
funcionales básicos que actúan como restricciones al resto de principios para el diseño: el
producto ha de ser escalable e integrable a la manera de realizar las actividades y al estilo
de vida de los usuarios finales.
Por este motivo, los requerimientos funcionales se han agrupado en dos grandes
bloques: escalabilidad y ajuste a actividades.
5.2.2.3.1 ESCALABILIDAD.
La interfaz ha de permitir de forma fácil adaptaciones –aplicación de diversas
configuraciones según el perfil de usuario identificado‐ e incluso la personalización –ajuste
a las capacidades, necesidades y preferencias de cada usuario, sin pérdida de la calidad.
Aplicamos el concepto de diseño inclusivo buscando un producto que tenga, a la
vez, un bajo nivel de acceso y un techo de potencialidades muy alto. En el caso del lector
SIRAU, lo conseguimos diseñando una versión básica muy simple, que puede resultar
accesible a un amplísimo rango de usuarios, por ejemplo, a todas aquellas personas que
sean capaces de utilizar un mando a distancia de una televisión. Esta versión sería la más
adecuada para el perfil de usuarios del cuadrante inferior izquierdo de la figura.
Proyecto SIRAU 55
La facilidad de uso vendría determinada por la simplicidad (poca exigencia
cognitiva) y por la naturalidad (proximidad a los instrumentos que maneja el usuario de
forma habitual).
Por otro lado, el mismo dispositivo se podría configurar para conseguir “un techo
muy alto”, es decir que pueda aprovechar las potencialidades de la PDA en el caso del
lector móvil, y de la plataforma RFID en el caso del lector fijo, a demanda del usuario.
Así pues tendremos un dispositivo de ayuda que en sus versiones más básicas es
un producto de baja especialización, que no requiere un gran esfuerzo para usarlo
cómodamente, mientras que en las más potentes, se trata un auténtico dispositivo TIC, por
tanto un producto de alto nivel de especialización que puede requerir un considerable
esfuerzo de entrenamiento para su uso eficiente.
Hemos identificado las siguientes dimensiones que deberían ser ajustables para
conseguir esta escalabilidad:
• Funcionalidad: En nuestro caso la versión más simple presentaría al usuario
únicamente el modo sólo lectura de las etiquetas. En la versión más compleja y
potente el usuario podría saltar del modo identificador de objetos con
funcionalidad de lectura y grabación de etiquetas, al modo PDA con las
funcionalidades disponibles de acceso a Internet, gestión de documentación,
agenda electrónica, correo electrónico.
• Arquitectura de la información y sistema de navegación: número de niveles,
sistemas de ayuda y retroalimentación
• Sistemas de intercambio de información: El dispositivo ha de permitir al usuario
elegir el sistema de accionamiento (pantalla táctil, superficies sensibles al tacto,
botones, membranas) y el canal y la forma de presentación de la información de
salida: color, contrastes, símbolos y textos en las presentaciones visuales; y el
lenguaje, el texto, las expresiones, el tono y el volumen para los mensajes hablados.
Proyecto SIRAU 56
5.2.2.3.2 AJUSTE A ACTIVIDADES.
Determinamos como requerimientos funcionales todas aquellas características que
tiene que cumplir un sistema para adaptarse a las necesidades del usuario en el contexto
natural donde realiza sus actividades. Se proponen desde nuestro estudio los siguientes
requerimientos en base al análisis contextual de tareas: llevable (tamaño y forma);
Robusto (material, protecciones resistente a golpes y caídas), Distancia de alcance del
dispositivo (que no requiera un alto grado de precisión para la lectura de las etiquetas, que
funcione aproximando el lector, que no sea necesario el contacto del lector con la
etiqueta); Autonomía (tiempo razonable de duración de las baterías sin necesidad de
recarga o recambio); Facilidad de uso/aprendizaje; Mínimo mantenimiento (tanto en la
frecuencia como en la sencillez de las operaciones de mantenimiento).
5.2.3 SEGUNDA FASE: EVALUACIÓN DE LA USABILIDAD INTEGRADA EN EL DESARROLLO
5.2.3.1 DESCRIPCIÓN PROTOTIPO SIRAU
La plataforma de identificación de objetos SIRAU, está formado por 4 elementos:
• Un lector de etiquetas integrado en la Agenda Personal Digital (PDA). La PDA tiene
un peso de 130gr. y unas dimensiones de 12x7cm. Consta de una pantalla táctil en
la cual se pueden seleccionar dos funciones: grabar y leer la etiqueta. Toda la
comunicación y información que proporciona la interfaz es por voz.
• Las dos funciones que ofrece el dispositivo son la lectura de las etiquetas y la
grabación de la información que éstas contienen. La grabación de la información se
realiza aproximando la etiqueta al lector y dictando el mensaje que se desea
grabar. Cuando se vuelve a identificar la etiqueta, el sistema procede a la lectura
del mensaje grabado anteriormente en ella.
Proyecto SIRAU 57
Figura 5.3: Prototipo SIRAU
Una antena RFID conectada a un µC ARM9 y este a la placa de reproducción de voz
Text‐to‐Speech. Consta de una botonera en la cual se selecciona la función de lectura de la
etiqueta. Realiza la comunicación con el servidor mediante Ethernet, e información que
proporciona la interfaz es por voz, mediante la tarjeta Text‐To‐Speech por hardware.
Un servidor local donde se encuentra una base de datos con los productos asignados a
cada tarjeta RFID, si el producto no se encuentra en la base de datos, este servidor accede al
servidor global para hacer la consulta.
Un servidor global, en el está la base de datos de todos los productos relacionados a su
identificación RFID correspondiente.
ACG RFID CompactFlash
HP iPAQ hx2400
BRAILLE GRABAR
BRAILLE
BRAILLE GRABAR BRAILLE LEER
SALIR
PANTALLA TACTIL
Proyecto SIRAU 58
5.2.3.2 TEST CON USUARIOS
En la fase preliminar de indagación se realizaron cinco entrevistas a usuarios
finales con la versión 0.0 del prototipo SAPIENS.
Con este estudio ya se evaluó en su momento la interfaz de usuario para esta etapa
del diseño que no ha cambiado con respecto al presente proyecto. Debido a este hecho se
han utilizado esta muestra para diseñar los cambios y aproximar así el nuevo prototipo
SIRAU a las necesidades del Usuario.
Para que la muestra fuera representativa de la población teníamos gran interés
que participaran usuarios jóvenes, adultos, con experiencia y sin experiencia en TIC, con
ceguera total y parcial. Se realizaron respetando los entornos naturales de los usuarios;
cuatro de ellas en el propio domicilio y una en el lugar de trabajo. La duración aproximada
fue de hora y media.
Como variables sociodemográficas se tomaron en cuenta el sexo, la edad, estado
civil, nivel de estudios, condición laboral, momento de aparición de la falta de visión
(congénita o adquirida) y la gravedad del deterioro visual que se padezca (ceguera
absoluta o parcial). Todas estas variables son de gran importancia para representar la
heterogeneidad de esta población.
La entrevista estaba compuesta por diferentes bloques de interés: datos
personales, vida cotidiana, desplazamientos, lugares públicos, tecnología de ayuda que
utilizan, cuestionario del grado de dependencia. De estas entrevistas obtuvimos por un
lado, delimitar los contextos de uso, como el propio domicilio o el lugar de trabajo y las
actividades en que les resultaría útil un lector de etiquetas, como por ejemplo, objetos de
la cocina, identificar música, ropa, clasificar objetos en el trabajo. Identificamos las
siguientes características que tenía que cumplir el prototipo para adaptarse a las
necesidades de los usuarios: llevable (tamaño y forma) en el caso de la PDA, distancia de
lectura, accesibilidad en el coste, autonomía, facilidad de uso/aprendizaje, y mínimo
mantenimiento.
En la primera fase de evaluación, como la adopción del prototipo implica la
colaboración e interacción de diferentes grupos de interés, contamos con la opinión de
usuarios finales, expertos y cuidadores que nos ayudaron a identificar, rectificar e
introducir las mejoras para desarrollar los posteriores prototipos. En la tabla 5.1
desglosamos los usuarios que colaboraron en la evaluación de la usabilidad del diseño.
Proyecto SIRAU 59
Tabla 5. 1: grupos de interés para la evaluación
Tabla 5.2: Evolución del prototipo interfaz SIRAU
5.2.3.3 INTERCAMBIO DE INFORMACIÓN
La PDA y la plataforma fija de identificación nos proporciona una base para poder
ofrecer información a los diferentes usuarios por distintos canales ‐ por voz, visual o táctil‐
. Los usuarios con visión limitada así como los cuidadores, pueden preferir la presentación
visual en formato aumentado o redundante ‐visual y por voz‐ teniendo la posibilidad de
elegir.
La PDA y el dispositivo fijo intercambian información con el usuario de forma
auditiva o visual y el usuario con la PDA mediante la pantalla táctil y/o por teclado, o por
teclado solamente en el caso del identificador fijo.
La problemática asociada al uso de una interfaz que es principalmente visual, es
una gran barrera con la que nos hemos encontrado y que hemos resuelto con soluciones
propuestas por los usuarios y extraídas del estudio de las entrevistas.
Versiones de la Interfaz SIRAU V 0.0 V 0.1 V 1.0 ‐ V 1.1 V 1.2 ‐ V 1.3 V 2.0 ‐ V 2.1 V 3.0 ‐ V 3.1
Imagen
Descripción/ Evolución
Pantalla táctil con dos áreas sensibles al
tacto: Inventario – Grabar
No tiene botón de ayuda
No tiene botón de escape
Voz pregrabada
Botonera leer‐grabar
Cambio de la apariencia física.
Voz con texto al habla (TTS) Opción de utilizar la
pantalla táctil o la botonera
Botón de ayuda y botón de escape.
Se añade el programa para la introducción
de la información
con el ordenador.
Base de datos
(SQL)
Introducir información en modo texto por el ordenador Más rapidez en la navegación
Fase
preliminar Fase
evaluación Total
Usuarios 5 5 Usuarios/expertos 2 2
Cuidadores 2 2 Educadores 2 2 Técnicas en rehabilitación
2 2
Técnica en tiflotecnología
1 1
16
Proyecto SIRAU 60
5.2.3.4 SALIDA DE INFORMACIÓN
5.2.3.4.1 PANTALLA
Lo más importante es que la pantalla tenga un diseño consistente y sencillo. La
consistencia permite al usuario desarrollar normas generales acerca del funcionamiento
de la interfaz y la sencillez ayuda a la comprensión de la función que tiene la pantalla de la
PDA.
La pantalla funciona para introducir información para todos los usuarios y como
presentación de información para los usuarios con resto visual. Como se muestra en la
tabla 5.2 en la primera versión (v 0.0) la pantalla táctil está dividida en dos zonas
delimitadas con las funciones de Grabar e Inventario, más la barra de menú que está activa
en la parte superior de la pantalla. La expresión inventario se ha cambiado por la de leer
que resulta más intuitiva (v 1.0 y siguientes). Y se ha quitado la barra menú para no
activarla.
Uno de los problemas detectados es la dificultad de localizar los límites de cada
zona (“Poner una referencia en el límite de los botones táctiles”2). Para resolver este
problema, por una parte, se ha introducido una zona neutra de separación entre las dos
zonas activas (v 1.0 y siguientes). Y por otra, una referenciación táctil en el marco de la
pantalla con letras braille (una G en mayúsculas para identificar la zona superior que
activa la función de grabar y la letra L en mayúsculas para la zona inferior para la función
leer). Para hacer más visibles las funciones de la pantalla a los usuarios con ceguera
parcial se ha introducido el contraste en blanco‐negro: la parte superior de la pantalla
muestra la letra G blanca en contraste con un fondo negro, en el medio de la pantalla táctil
se introdujo una zona neutra de color blanco para delimitar las dos funciones y en la parte
inferior de la pantalla muestra la letra L negra en contraste con un fondo gris claro (v 3.0 y
siguientes). Por causas técnicas, el fondo blanco no fue posible. Esta combinación
maximiza el contraste entre el fondo y la letra, en la PDA de nuestro prototipo. Algunos
usuarios han expresado su preferencia por las combinaciones de amarillo‐negro, esta
combinación no fue posible implementarla por limitaciones de la propia pantalla.
2Entre paréntesis, entrecomillado y en cursiva se detalla las aportaciones literales de los usuarios.
Proyecto SIRAU 61
En versiones anteriores se identificaba cada zona por las palabras completas
“Grabar” y “Leer”. En la versión final se ha preferido identificar las zonas sólo con las
iníciales para aumentar su tamaño y facilitar la identificación para los usuarios con resto
visual.
La pantalla en el dispositivo de identificación física, es una interfaz de
comunicación visual con el usuario, en el que se reflejan los datos obtenidos de la lectura
de la etiqueta RFID.
5.2.3.4.2 MENSAJES
La PDA y el dispositivo de identificación fijo, se comunica con el usuario con
mensajes de voz, mensajes presentados en la pantalla y con retroalimentación auditiva
(ver párrafo anterior).
En cuanto a los mensajes de voz, en las primeras versiones el mensaje era con voz
pregrabada de los técnicos, a partir de la versión 1.0 los mensajes se procesan mediante
un programa TTS (text‐to‐speech) “Texto a habla”, que permite elegir la voz de hombre o
mujer y el idioma. En las sesiones de prueba con los usuarios fue bien valorada.
Los usuarios preferían mensajes cortos y sencillos (“Los mensajes son largos”), por
eso los mensajes de salida se han modificando en este sentido. Por ejemplo La etiqueta
está editada, si desea sobrescribir pulse la pantalla, sino en tres segundos volverá al menú
principal se ha substituido por ¿sobrescribir etiqueta?.
Proyecto SIRAU 62
5.2.3.5 ENTRADA DE INFORMACIÓN
5.2.3.5.1 PANTALLA.
Tal como se ha explicado en el apartado anterior la pantalla táctil es uno de los
sistemas de accionamiento y ha ido evolucionando en las diversas versiones para facilitar
la delimitación de las zonas y las funciones asociadas. Siendo la PDA un dispositivo muy
basado en la presentación visual y en los accionamientos sobre la pantalla hemos
considerado conveniente conservar la funcionalidad de la pantalla a pesar de las
dificultades de utilizarla eficientemente por parte de las personas ciegas.
Los motivos que nos han llevado a esta decisión son, por una parte, que esta
presentación de la información sería adecuada para el colectivo de personas ciegas con
resto visual (el 80% de la población de personas ciegas) y por la otra, porque pensamos
que los acerca a la forma más habitual de interacción de las nuevas generaciones de los
dispositivos TIC, incluso en sus adaptaciones para persones ciegas (por ejemplo los
dispensadores automáticos de billetes de transporte público). En este caso hemos
priorizado la capacitación del usuario a la facilidad de uso. En todo caso, para los usuarios
que lo prefieran todas las funcionalidades se accionan tanto a través de la pantalla como
por botones.
5.2.3.5.2 BOTONES.
La primera versión de la PDA no incorporaba botones y las funciones se activaban
por la pantalla táctil. A partir de las primeras entrevistas pudimos constatar la preferencia
bastante generalizada del accionamiento por botones (“Prefiero botones”), y en algunos
casos observamos diversos problemas en el accionamiento sobre la pantalla. A partir de la
versión 0.1 se incorpora la opción de accionar las funciones grabar y leer por los botones
situados en la parte inferior de la PDA. Y a partir de la versión 1.2 se incorporan dos
botones más: un botón de ayuda donde se explica la localización de las funciones y otro
que permite abandonar el sistema. En la última versión se han referenciado las funciones
de los botones con letras braille.
La versión de lector de tarjetas fijo se incorporan los botones para iniciar la lectura
de tarjetas, así como para moverse en los menús de selección si fuese necesario.
Proyecto SIRAU 63
5.2.3.5.3 LECTOR.
El lector mide 4 x 3.5 cm y se interconecta con la PDA a través de la ranura
compact‐flash (CF), permitiendo la lectura de la información contenida en las etiquetas a
una distancia máxima de unos 5 cm. Este alcance permite un uso muy cómodo y natural,
ya que no es necesaria gran precisión; a diferencia de otros lectores que requieren
distancias mucho más pequeñas o incluso el contacto con la etiqueta (código de barras).
En las sesiones de test algunos usuarios consideraron el diseño poco compacto y poco
robusto (“El lector sale mucho de la PDA y puede romperse”). En las versiones actuales, por
tratarse de un prototipo, el lector sobresale de la PDA provocando esta sensación de
fragilidad, en una posible versión comercial el lector se debería doblar sobre la PDA para
conferir robustez al conjunto del dispositivo y un volumen más compacto.
5.2.3.5.4 MICRÓFONO.
La edición de la información asociada a la etiqueta en todas las versiones es en
modo voz, el usuario dispone como máximo de 15 segundos para grabar la información
asociada a la etiqueta, a partir del mensaje Hable después de la señal. El micrófono de la
PDA es suficientemente sensible para permitir una grabación de calidad a la misma
distancia de manipulación, sin necesidad de acercarla a la cara. Al transcurrir los 15
segundos finaliza automáticamente el modo grabación y vuelve al estado inicial. Si el
usuario lo prefiere puede finalizar el modo grabación accionando la pantalla en la que
aparece la palabra Fin.
5.2.3.5.5 NAVEGACIÓN
La navegación se refiere al camino que puede seguir un usuario para conseguir su
objetivo. Interesa que sea corta (pocos pasos), intuitiva e inequívoca.
Por esta razón la navegación utilizada en el lector SIRAU es lineal, es decir, el
usuario siempre debe seguir los mismos pasos y una vez completado uno se le conduce
automáticamente al siguiente, tal como se observa en el diagrama de la Figura 5.4.
Detallamos a continuación un ejemplo de los pasos que debe seguir el usuario para
grabar y leer las etiquetas. Para realizar la grabación de información, el usuario pulsa el
botón derecho y la PDA emite el mensaje de (grabar) seguido de una señal acústica, acerca
la etiqueta al lector y cuando la etiqueta entra en el campo de lectura del lector emite
etiqueta encontrada, ¿sobrescribir etiqueta?, si el usuario está de acuerdo en sobrescribir
tiene que pulsar la pantalla táctil para aceptar, esto activa el mensaje hable después de la
Proyecto SIRAU 64
señal, se graba la información y para finalizar se pulsa la pantalla táctil. Si no se pulsa la
pantalla el programa termina igualmente. Para leer una etiqueta, el usuario pulsa el botón
de la izquierda y la PDA emite el mensaje leer seguido de una señal acústica, el usuario
tiene 35 segundos para aproximar la etiqueta al campo de lectura, cuando ésta es
encontrada la PDA te informa con el mensaje etiqueta encontrada y prosigue a su lectura,
en finalizar vuelve al estado inicial.
Figura 5.4: Esquema navegación
Proyecto SIRAU 65
Tres usuarios expertos han evaluado la versión final de la interfaz. Consideramos
expertos a usuarios que utilizan habitualmente nuevas tecnologías.
Perfiles de los usuarios expertos:
Género Edad Grado de ceguera Experiencia en nuevas Tecnologías
Hombre 47 Parcial ProfesorHombre 44 Total Instructor de
informática Mujer 44 Total Instructor de
informática
Se han hecho grabaciones de audio y vídeo de la interacción del usuario con el
identificador SIRAU. Y se han evaluado los siguientes heurísticos, mediante un test de
usuario.
Los resultados de la usabilidad del SIRAU nos basamos en las valoraciones de los
tres expertos y la satisfacción de los usuarios que utilizan el producto e investigamos cómo
se desenvuelven con él.
Proyecto SIRAU 66
HEURÍSTICO DESCRIPCIÓN EVALUACIÓN FINAL Uso equitativo El diseño resulta útil y susceptible de
ser vendido a cualquier grupo de usuarios. Incluimos también un coste asequible a un amplio grupo de usuarios.
El programa se pueda introducir a una PDA sencilla de 100€, los evaluadores creen que es un coste accesible.
Uso flexible El diseño se adapta a un amplio rango de capacidades y preferencias individuales
Identificador escalable, se adapta a un amplio rango de capacidades, hay la versión simple y la que se puede aprovechar las funciones de la PDA, como agenda, correo electrónico.
Uso intuitivo y sencillo El uso es fácil de comprender, independientemente de la experiencia, el conocimiento, la habilidad verbal o el nivel actual de concentración del usuario. El sistema debe hablar el lenguaje del usuario, siguiendo las convenciones, haciendo que la información aparezca en un orden lógico y natural.
El identificador SIRAU es muy fácil de comprender sus funciones y los mensajes son correctos.
Información perceptible El diseño transmite de forma eficaz la información necesaria al usuario, independientemente de las condiciones del entorno y de sus capacidades. El estado del sistema está perceptible y mantiene al usuario informado acerca de lo que esta pasando, gracias a una retroalimentación apropiada en un tiempo razonable.
El dispositivo dispone de una ayuda integrada que mediante la pulsación de una tecla informa a los usuarios de los pasos a seguir.
Tolerancia a los errores y recuperabilidad
El diseño reduce al mínimo los riesgos y las consecuencias adversas de las acciones accidentales involuntarias. Proporcionar las operaciones de “deshacer” y “rehacer”.
Los usuarios expertos proponen que para su uso personal les sería útil añadir un botón que les lleve a un paso anterior o al menú principal si se equivocan en las funciones.
Bajo esfuerzo físico El diseño debe usarse de forma eficaz y cómoda, y con un mínimo esfuerzo.
Es cómodo de utilizar y sencillo.
Reconocimiento más que recuerdo Minimizar el esfuerzo de memoria del usuario, haciendo los objetos, acciones y opciones perceptibles. Las instrucciones de uso han de estar disponibles o fácilmente recuperables
Gracias a la referenciación braille y que solamente existen dos botones, es fácil de recordar. También hay un botón de ayuda. Las etiquetas que ser reutilizables y con alguna textura para poderlas identificar con más seguridad
Tamaño y espacio para acceso y uso Proveer del tamaño y espacio apropiado para el acceso, alcance, manipulación y uso, independientemente de la talla, la postura o la movilidad del usuario.
La PDA tiene un tamaño adecuado.
Estética y diseño mínimo Los diálogos no deben contener información irrelevante o que se requiere muy raramente. Cada unidad adicional de información en un diálogo compite con las unidades relevantes y disminuye su perceptibilidad.
Los mensajes de voz y mensajes presentados en la pantalla son correctos.
Capacitación La ayuda tecnológica debe explotar y no sustituir las capacidades del usuario. Preferiremos aquellas soluciones que capaciten al usuario para el aprendizaje y desarrollo de otras competencias –aunque requieran más esfuerzo inicial‐, a las que sólo solucionan tareas específicas.
Tenemos dos menús, para aquellos usuarios que lo deseen pueden utilizar las funciones de la PDA.
Tabla 5.3. Evaluación heurística con usuarios expertos de la versión final
Proyecto SIRAU 67
5.2.4 CONCLUSIONES
Los retos para desarrollar una interfaz como la del identificador SIRAU son
diversos. Por un lado la necesidad de atender con un único diseño a una población
heterogénea en cuanto a sus capacidades, necesidades y preferencias. Hemos optado por
una plataforma única, en su versión comercial, que gracias a una gran plasticidad en las
dimensiones clave, permite la adaptación al perfil de usuario e incluso la personalización.
Para conseguir esta escalabilidad es necesario, por una parte, identificar los
perfiles de usuario a partir de estudios de corte etnográfico y de estilo de vida, y por otra
dar respuesta técnica y validar las diferentes versiones.
En cuanto a los perfiles de usuario, a partir de los datos recogidos, hemos
confeccionado un modelo provisional que agrupa a los usuarios según las dimensiones de
utilidad percibida y de dificultad –también percibida en el uso del dispositivo. Nos parece
un modelo inspirador, pero que requiere ser revisado y validado. El tratamiento de la gran
heterogeneidad sociodemográfica del colectivo objetivo es uno de los retos, aunque parece
que el modelado de usuario puede ser una manera eficiente de abordarlo.
Respecto a las dimensiones más importantes que han de permitir la
personalización de la interfaz, hemos identificado a partir de las sesiones con usuario las
siguientes: la presentación de la información –mensajes de voz, presentación en pantalla,
referenciación táctil que pueden incluir texto en braille, retroalimentación auditiva‐ los
sistemas de accionamiento –pantalla táctil, botones, voz, teclado de ordenador‐,
navegación, y accesibilidad a funciones complementarias de la PDA –internet, correo
electrónico etc.
En ocasiones se han tenido que tomar decisiones de diseño que implicaban
conceder pesos relativos entre requerimientos que pueden entrar en conflicto. Por
ejemplo hemos preferido las alternativas más capacitadoras –por ejemplo mantener
operativa la pantalla táctil‐ a costa de incrementar –para algunos usuarios‐ el esfuerzo de
aprendizaje inicial.
Podemos afirmar que usabilidad ha estado presente en todo el proceso del diseño
del Identificador SIRAU, a través de herramientas de diseño centrado en el usuario, que
facilitan el conocimiento del mismo y el análisis del contexto y de la tarea. Además los
usuarios han sido capaces de trabajar con eficacia, eficiencia y satisfacción.
Proyecto SIRAU 68
6. PROTOTIPO UHF
6.1 PLANTEAMIENTO Y CARACTERÍSTICAS GENERALES.
Se describirán las especificaciones técnicas del proyecto así como los pasos
seguidos para realizar el diseño hardware y la programación software del equipo.
Figura 6.1.1. Esquema de conexión de los elementos.
En la figura 1.1 se muestra el conexionado, a nivel de bloques, de los diferentes
elementos que forman el dispositivo.
Para la realización dispositivo se han seleccionado los siguientes componentes:
• Microcontrolador ARM9 SRT912.
• LCD AC162 (Display visualización).
• CI ST3232 (Interface UART).
• CI STE100P (Interface ethernet).
• CI SkyeMoude M9 (Interface RFID).
• CI DoubleTalk RF8660fp (Interface Text‐To‐Speech).
La aplicación utiliza la identificación de las tarjetas RFID (TAG) y con esta información
el microcontrolador se conecta a un servidor local mediante Ethernet para recuperar la
información asociada. Dicho servidor cotejara la información correspondiente en la base
de datos y la retornará al microcontrolador. Finalmente el uC presentará la información a
través del sistema Text‐to‐Speech.
Proyecto SIRAU 69
6.2 FUNCIONAMIENTO GENERAL.
El diagrama de flujo de la aplicación puede observarse en la fig. 2.1. En el
momento del arranque se realiza la configuración de los periféricos que se usaran, tanto
internos de uC como externos (RFID y Text‐to‐Speech), así como de la conexión TCP con el
servidor a través de la interfaz Ethernet.
Si el microcontrolador detecta que todavía no se ha grabado ninguna dirección IP
en su memoria pasará directamente al proceso de grabación, es decir, seguirá la misma
secuencia que si el usuario hubiese pulsado la tecla S2 en el menú principal. Si existe una
dirección IP almacenada, el micro pasará al estado de espera (menú principal), lo que será
comunicado al usuario tanto por señal audible como a través del display.
En este punto tenemos dos opciones:
• Pulsar S3: Corresponde al botón de ejecutar lectura de TAG
• Pulsar S2: Para proceder a la inserción de nueva dirección IP.
Si se pulsa S3 el microcontrolador procederá a realizar la lectura de la información
del campo TID (Identificador de la tarjeta TAG) y a su envío al servidor SIRAU. Si el
proceso ha sido correcto el servidor retornara la información que corresponda en su base
de datos a dicho identificador. Cualquier error de lectura de la tarjeta o de comunicación
con el servidor será mostrado al usuario, volviendo posteriormente al menú principal.
Pulsando nuevamente S3 se leerán el resto de campos de información.
Si se pulsa S2 se entrará en el menú de cambio de IP, donde utilizando los botones
UP/DOWN podremos modificar su valor.
Proyecto SIRAU 70
Figura 2.1.Diagrama de flujo correspondiente al programa de lectura TAG.
Proyecto SIRAU 71
6.3 INTERCONEXIÓN DE LOS ELEMENTOS.
Las conexiones básicas entre los diferentes elementos serán las siguientes:
• Microcontrolador‐‐‐RFID UART0
• Microcontrolador‐‐‐Text‐to‐Speech UART1
• Microcontrolador‐‐‐PC Ethernet
Las conexiones UART serán a una velocidad de 38400 baudios por segundo, sin
paridad, con 8 bits de datos, 1 bit de parada y sin control de flujo por software.
La conexión LAN será una típica fast‐ethernet (TCP) con posibilidad de conexión a 10
Mbps ó 100 Mbps.
6.3.1 CONFIGURACIÓN DEL CONEXIONADO DEL MICROCONTROLADOR ARM9.
A continuación se muestra el conexionado básico para el funcionamiento del
microcontrolador ARM9 (Fig.3.1). A partir de dicho esquema se irán añadiendo los
diferentes circuitos para obtener el circuito completo capaz de realizar todas las funciones
que deseamos obtener.
Se puede observar las conexiones a alimentación y masa así como las de los
cristales de cuarzo que proporcionaran las señales de clock y los condensadores de
estabilización. En el esquema se incluyen todos los puertos de entrada/salida (GPIO),
nueve en total (compuestos de ocho patillas cada uno), que permiten la comunicación del
microcontrolador con todos los periféricos exteriores como display, interface ethernet,
pulsadores, etc.
6.3.2 ESQUEMA DE CONEXIÓN DEL DISPLAY.
En el esquema de la figura 3.2 se puede observar la conexión del display al
microcontrolador a través de los GPIO´s 8, y parte de los GPIO´s 9. A través del
potenciómetro POT2 se puede regular el contraste del display.
6.3.3 ESQUEMA DE CONEXIÓN DE LOS PULSADORES.
Se trata del esquema típico de conexión de pulsadores a un microcontrolador
(Fig.3.3), donde en estado de reposo la salida queda polarizada positivamente (3,3V) y en
estado activo pasan a masa (“0V”).
Proyecto SIRAU 72
Se puede observar que el único pulsador que incorpora estabilizador de señal para evitar
rebotes (condensador) es el de “reset”, por imposición del fabricante. El resto de
pulsadores no incorporan condensador ya que el control de rebotes se realiza mediante
software. El programa espera un tiempo preestablecido antes de comprobar de nuevo el
estado de los pulsadores.
6.3.4 ESQUEMA DE CONEXIÓN DE LA INTERFAZ UART.
Para la interfaz UART se recurre un conversor de niveles ST3232 que nos permite
adaptar los niveles de señal del sistema de comunicación (Fig.3.4). Este conversor de
niveles dispone de dos emisores/receptores y permite una velocidad máxima de unos
250Kbps aunque en este aplicación se limita a 34.800 bps lo que disminuye notablemente
la probabilidad de errores en la comunicación.
6.3.5 ESQUEMA DE CONEXIÓN DEL INTERFACE ETHERNET.
El STE100P actúa como interfaz de capa física de alto rendimiento, válida para
aplicaciones 10Base‐T y 100Base‐T (Fig.3.5). Soporta funcionamiento half/full‐duplex y
10/100 Mbps.
6.3.6 ESQUEMA DE CONEXIÓN DEL INTERFACE RFID.
El Modulo SkyeModule M9‐MH puede trabajar via UART hasta a 80Kbps aunque en esta
aplicación lo haremos a 38.4Kbps. Dispone de salida para antena de 50Ω.
Proyecto SIRAU 73
Figura 3.1. Esquema básico conexión ARM9
Proyecto SIRAU 74
Figura 3.2.Conexión del Display al microcontrolador.
Proyecto SIRAU 75
Figura 3.3.Esquema conexión pulsadores.
Figura 3.4. Esquema conexión interface UART.
Proyecto SIRAU 76
6.3.7 ESQUEMA DE CONEXIÓN DEL INTERFACE TEXTTOSPEECH.
Se trata del circuito de aplicación del RC8660 (Fig.3.7), donde se han introducido
algunas variaciones, como por ejemplo, eliminar la parte destinada a almacenar sonidos
muestreados digitalmente, es decir la conexión a la memoria flash. En esta aplicación la
utilización de dicha memoria es superflua ya que solo es necesaria la capacidad de
conversión de texto a voz, además todos los datos serán suministrados por el
microcontrolador. Dichos datos pueden ser almacenados temporalmente en el buffer de
entrada de 8Kbytes del que dispone el RC8660.
6.3.8 ESQUEMA DE CONEXIÓN DEL AMPLIFICADOR PARA TEXTTOSPEECH.
Por último el esquema del amplificador que se encarga de aumentar la señal
procedente del RC8660 y aplicarla sobre un altavoz para que pueda ser audible (Fig.3.8).
Como puede verse no se ha incluido ningún potenciómetro para regular el nivel de
volumen ya que este sistema permite regularlo mediante software a través del uC.
Figura 3.5. Esquema conexión interface Ethernet.
Proyecto SIRAU 77
Figura 3.6. Esquema conexión interface RFID.
Figura 3.7. Esquema conexión interface Text-to-Speech.
Proyecto SIRAU 78
Figura 3.8.Esquema conexión amplificador Text-to-Speech.
6.4 CONFIGURACIONES.
En este apartado se explicaran brevemente los métodos utilizados para la
configuración tanto del RFID como del Text‐to‐speech así como para el traspaso de
información entre estos y el microcontrolador.
6.4.1 ENVIÓ DE INFORMACIÓN AL TEXTTOSPEECH PARA CONVERSIÓN AUDIO.
El trasvase información se realiza a través de la UART0. El text‐to‐speech convierte
en audio cualquier información que le llegue a través de este puerto hasta su buffer de
entrada y que no contenga en su cabecera el numero “0x01h” (hexadecimal). Además para
señalar el final de la trama enviada se debe añadir al final el numero “0x00h”. Dicha
conversión se realiza según la codificación ASCII. Así por ejemplo:
La secuencia:
0x68 – 0x6F – 0x6C – 0x61 – 0x00
Se reproduciría como “hola”.
Hay que tener en cuenta que el conversor es capaz de manejar signos de
puntuación tales como “.” ó “,” e incluso acentos, pero si insertamos algún símbolo ASCII
Proyecto SIRAU 79
diferente de estos puede ocasionar un mal funcionamiento ya que este no está preparado
para su procesamiento.
6.4.2 REINICIALIZACÍON DEL TEXTTOSPEECH.
Este comando reinicializa el RC8660 limpiando el buffer de entrada y restaurando
los parámetros de voz y el valor de los registros de control a sus valores por defecto.
0x01 – 0x40
6.4.3 SELECCIÓN TIPO DE VOZ.
El Text‐to‐Speech dispone de 11 voces preseleccionadas:
0 Perfect Paul 1 Vader 2 Big Bob 3 Precise Pete 4 Ricochet Randy 5 Biff 6 Skip 7 Robo Robert 8 Goliath 9 Alvin 10 Gretchen
Para seleccionar alguna de estas voces se ha de enviar el número que le
corresponda seguido del comando hexadecimal “0x6Fh”.
6.4.4 SELECCIÓN DE VELOCIDAD DEL TEXTTOSPEECH
La velocidad de reproducción del sintetizador puede ser ajustada desde 0 (lento)
hasta 13 (rápido). La velocidad por defecto será de 5. Para seleccionar la velocidad se ha
de enviar el número que le corresponda seguido del comando hexadecimal “0x73h”.
6.4.5 SELECCIONANDO EL ÉNFASIS DE DIALOGO DEL INTERFAZ DEL TEXTTOSPEECH.
La expresión o entonación es la variación del tono o afinación dentro de la frase. Si
la expresión se ajusta a “0” el resultado será una afinación muy monótona, sin variaciones,
en cambio ajustándola al máximo ofrecerá una expresión muy animada. Puede ser
ajustada desde 0 (monótono) hasta 9 (enfatizada). La expresión por defecto será de 5.
Para seleccionar la expresión se ha de enviar el número que le corresponda seguido del
comando hexadecimal “0x65h”.
Proyecto SIRAU 80
6.4.6 VOLUMEN.
El volumen de salida puede ser seleccionado desde “0”(bajo) hasta “9”(alto). El
volumen por defecto será de 6. Para seleccionar el volumen se ha de enviar el número que
le corresponda seguido del comando hexadecimal “0x76h”.
6.4.7 TIEMPOS DE ESPERA ENTRE PALABRAS.
El retardo de texto mejora la inteligibilidad del sintetizador ofreciendo un tardanza
entre cada una de las letras y entre palabras. El retardo puede ser seleccionado desde “0”
(mínimo) hasta “15” (máximo). El retardo por defecto será 0. Para seleccionar el retardo
se ha de enviar el número que le corresponda seguido del comando hexadecimal “0x74h”.
6.4.8 ADQUISICIÓN DE LOS DATOS DE LA TARJETA (TAG).
Para poder leer el campo de información de un TAG RFID primero debemos
conocer el TID (identificador) de dicho TAG. Para ello la orden pertinente al modulo RFID,
conectado al UART1 (0x020x000x080x000x210x010x010x000x000xF30x5E) que hará que el lector
RFID entre en un bucle del cual solo saldrá cuando nosotros se lo indiquemos. Mientras se
encuentre dentro del bucle ira enviándonos todos los TID´s que encuentre en su radio de
acción.
Para leer la información de un TAG, el proceso será tomar el TID que obtengamos,
el cual nos llegara en una trama del tipo de la figura 4.1.
Figura 4.1.Respuesta TID.
Para obtener la información de un TAG concreto se ha de incluir una petición al
lector donde se incluya el TID del TAG del cual queremos leer la información. Para ello
enviaremos una trama del tipo de la figura 4.2.
Proyecto SIRAU 81
Figura 4.2.Respuesta TID.
En el caso de que enviásemos esta trama al lector RFID, y suponiendo que el mismo
TAG sigue presente, obtendremos como la de la figura 4.3, donde se observa el campo Data
que es la información del TAG en cuestión.
Figura 4.3.Respuesta lectura datos RFID.
Hay que tener en cuenta que el tamaño del bloque de datos que podemos solicitar
es, si quisiéramos, tan grande como la memoria, pero dado que se trata de una
comunicación supeditada a una tasa de errores en la transmisión bastante alta, los datos
recibidos difícilmente serian iguales a los almacenados en el TAG. Para solucionar esto se
propone restringir el tamaño de bloque de datos solicitados a unos 54 bytes como mucho,
y sobretodo realizar el control de CRC para asegurarnos de que estos datos son correctos.
La rutina seria la petición y comprobación continua, en caso de no correspondencia de
CRC´s volver a realizar la misma petición hasta que llegue correctamente. También se
puede reducir el tamaño del bloque de datos pero hay que tener en cuenta que entonces el
tiempo destinado a la transmisión aumentara considerablemente, es por esto que hay que
llegar a un compromiso entre tamaño de bloque de datos y errores en la transmisión.
6.4.9 COMUNICACIÓN CON SERVIDOR.
Para llevar a cabo la comunicación con el servidor, el microcontrolador se
encargará de empaquetar los datos leídos de la tarjeta TAG (TID) según el siguiente
modelo:
CodeRequest|Identificador del TAG|||||0|<data_end>
Proyecto SIRAU 82
Una vez empaquetado se lleva a cabo el envió de dicha trama al interfaz Ethernet
(STE100P), que se encargará de añadirle los campos necesarios para crear una trama
completa Ethernet (preámbulo, dirección de inicio y destino, tipo, CRC, etc). Una vez
completada dicho chip realizará la comunicación con el servidor. En la ultima etapa de la
comunicación el servidor retornará la información asociada al TAG con el siguiente
formato de trama:
CodeResponse|Identificador del TAG|Informacion del campo
nombre|Informacion del campo 1|Informacion del campo 2|Informacion del
campo 3|0|<data_end>
El microcontrolador recibirá dicha trama y la descompondrá para presentarla por
el canal más adecuado (en el caso de este prototipo por el LCD y el sistema Text‐to‐
Speech).
Proyecto SIRAU 83
6.5 PROGRAMACIÓN
A continuación se detallan básicamente las funciones utilizadas para el
funcionamiento del dispositivo. La mayoría de estas librerías han sido desarrolladas
íntegramente por los investigadores de nuestro grupo.
Después de iniciarse, el microcontrolador leerá la librería main.c donde comienza
nuestro programa. Realiza básicamente estas funciones:
Configuración Ethernet, Timer´s, LCD, UART´s.
Inicio del menú raíz donde podremos seleccionar la lectura de RFID o
configurar sus opciones.
El árbol de llamada a funciones desde el programa principal presenta la siguiente
estructura general:
Main (programa principal) Ethernet_Tx_Rx (Inicia la maquina de estados que gestiona la conexión con el servidor)
RFID_tid_info (Lee el identificador TID del TAG) RFID_sel_res (Envía petición de lectura TID) crc16 (Calcula CRC) 91x_conf_ip (Gestiona el borrado de la IP del dispositivo así como el almacenamiento de la nueva dirección asignada por el usuario)
Además, como ya se ha indicado, se utilizan otras librerías para configuración y
gestión:
91x_it.c (Gestiona interrupciones) 91x_Timer_Delay.c (Produce retardo) 91x_port.c (Configura los puertos serie)
Por último deben agregarse también las siguientes librerías de KEIL:
LCD.c (Keil Software) UserFont.c (Keil Software) ENET.c (STmicroelectronics) Tcpip.c (STmicroelectronics) RETARGET.C (Keil Software) 91x_scu.c (STmicroelectronics) STR91xR.LIB (Keil Software)
Estas librerías son de uso público se encuentran disponibles en la web del fabricante.
Proyecto SIRAU 84
6.5.1 CONFIGURACIÓN DEL MICROCONTROLADOR.
En la configuración del microcontrolador (puesta en marcha de periféricos) se
indican los puertos de entrada/salida (GPIO´s) a utilizar así como las UART´s, timers o
rutinas de interrupción.
Esta tarea se realiza a través del programa µVision3 que puede ser midoficada a
través de un Configuration Wizard. En nuestro caso deberán modificarse los valores que
hagan refencia a clock´s de origen para los periféricos TIMER´s, UART´s y Ethernet, así
como la configuración de los PLL para estos, y activar los GPIO´s que necesitemos para la
comunicación con periféricos exteriores al microcontrolador.
La lista de recursos que necesitaremos activar para nuestra aplicación es la siguiente:
UART0 y UART1 (a velocidad de 38400 bps) Interface Ethernet Timer´s GPIO´s 0‐1‐5 (Ethernet),8‐9 (display) La configuración de los GPIO´s para la UART y pulsadores (GPIO3) se realizara implementando una subrutina para tal fin.
Watchdog Timer (WDG).
6.5.2 LIBRERÍAS IMPLEMENTADAS
6.5.2.1 LIBRERÍA 91X_RFID_SELECT_RESP.C
Contiene la subrutina RFID_sel_res, a la que se le pasan los parámetros “Port”, que
será la UART que utilizará para comunicarse con el interface RFID, y “time”, que será el
tiempo máximo que esperará a la detección del TAG, superado este tiempo la subrutina se
finalizara. Básicamente esta subrutina envía el comando de “buque de búsqueda de TAG”
al RFID. Este comando hace que el RFID este constantemente enviando peticiones de
lectura a cualquier TAG que este en su radio de alcance. Si esta búsqueda se alarga por un
periodo de tiempo superior al establecido por el parámetro de entrada “time” se finalizara
y retornara como parámetros de salida un indicador para que la función que la llamo sepa
que no se ha podido realizar la lectura. Si encuentra algún TAG en su radio de acción,
transmitirá al microcontrolador una trama en la que además de otros campos podremos
obtener el identificador único del TAG. Seguidamente el microcontrolador la almacenará
en una cadena de caracteres y la retornara a la función que la llamo.
Proyecto SIRAU 85
6.5.2.2 LIBRERÍA 91X_RFID_TID.C
Contiene la subrutina RFID_tid_info, a la que se le pasan los parámetros “Port” y
“time” que realizan la misma función que en la subrutina RFID_sel_res, comentada
anteriormente. La función de esta subrutina es, utilizando la subrutina RFID_sel_res,
obtener la trama completa de respuesta del RFID y extraer únicamente la información del
identificador único. Una vez extraída la almacena en una cadena de caracteres y la
devuelve a la función que la llamo.
6.5.2.3 LIBRERÍA 91X_TIMER_DELAY_LIB.C
Contiene dos subrutinas:
• Timer_Delay_conf: Tiene el parámetro de entrada “timer” con el que se define el
timer del microcontrolador que se desea utilizar. Esta subrutina configura el timer
seleccionado para usarse por desbordamiento y generar una interrupción.
• Timer_Delay: Tiene como parámetros de entrada “delay”, se trata de un número
que permitirá establecer el retraso y “timer”, que será el mismo que hallamos
configurado con la instrucción Timer_Delay_conf. Básicamente pone en marcha el
“timer”, que aumenta una variable cada vez que se desborda, y compara dicho
valor con el que le hemos pasado como “delay”. Permanecerá en bucle hasta que
no se alcance dicho valor.
6.5.2.4 LIBRERÍA 91X_PORT.C
Contiene la subrutina Conf_Serial_Port, a la que se le pasa el parámetro “Port”. Este
puede tener valor 1 para configurar la UART0, valor 2 para configurar la UART1 ó 0 para la
dos UART´s. Esta subrutina realiza la configuración de los puertos seleccionados para que
se pueda establecer comunicación a través de ellos con el interface RFID y Text‐to‐Speech.
Configura la comunicación serie con los siguientes valores:
Palabras de 8 bits bit de parada Comunicación sin paridad Velocidad de 38400 bps Sin control de flujo por hardware Modo Full‐duplex (comunicación simultanea en ambos sentidos)
Proyecto SIRAU 86
6.5.2.5 LIBRERÍA 91X_TALK.C
Dentro de esta librería se incluyen la mayoría de funciones que puede utilizar el
Text‐to‐Speech, exactamente 27, y dado que ya están comentadas brevemente en el
archivo de texto donde están implementadas (incluido en anexos), solo se comentarán las
mas utilizadas en este dispositivo:
• TALK_Send: Tiene como parámetros de entrada “TxBuffer” donde se le pasa la
cadena de caracteres a convertir a audio, y “Port” donde se le señala la UART que
debe usarse para comunicarse en el Text‐to‐Speech.
• TALK_Stop: Tiene como parámetro de entrada “Port” donde se le señala la UART a
utilizar para comunicarse. Envia al Text‐to‐Speech la orden de parar cualquier
conversión de texto a audio que este realizando, es decir, que deje de hablar.
6.5.2.6 LIBRERÍA 91X_RFID_CRC_LIB.C
Contiene la subrutina 91x_rfid_crc_lib.c. Tiene como parámetro de entrada
“*dataP”, se trata de un puntero a una cadena (string). Esta subrutina se utiliza para
generar el CRC (Código de redundancia cíclica) necesario en la comunicación con el
interface RFID. Cada vez que se produce un intercambio de información con el RFID se
genera el CRC correspondiente y este se compara con que el viene insertado en la trama
entrante. Si estos coinciden se da por válida la comunicación, si no, se vuelve a enviar la
petición hasta que estos sean validos.
Básicamente se realiza una función lógica XOR bit a bit, utilizando el número
“0x8408” como polinomio generador, sobre la cadena de entrada. Cuando se ha realizado
esta operación sobre toda la cadena se retorna el valor obtenido.
6.5.2.7 LIBRERÍA 91X_IT.C
Esta librería es propiedad de la empresa STMicroelectronics y es de dominio
público. Permite asignar una serie de instrucciones para cualquier interrupción admitida
por el microcontrolador ARM. En este caso se ha utilizado la interrupción correspondiente
al TIMER2, que es el que maneja los delays.
Proyecto SIRAU 87
6.5.2.8 LIBRERÍA 91X_ETHERNET_TX_RX_LIB.C
Esta librería es propiedad de la empresa STMicroelectronics y es de dominio público.
Permite la comunicación a través de LAN con un PC. Cuando se arranca el
microcontrolador se entra en un bucle infinito que ejecuta esta función. Las
modificaciones realizadas permiten a esta subrutina realizar las operaciones de envío de
datos al servidor así como la lectura de los datos devueltos por este.
6.5.2.9 LIBRERÍA 91X_CONF_IP.C
En esta librería se incluyen las rutinas necesarias para el borrado/escritura de la
dirección IP del dispositivo. Las más importantes son:
• change_ip: Se encarga de crear una interfaz gráfica (display) para que el usuario
pueda introducir la nueva IP mediante las teclas Up/Down y confirmar su
selección con Enter (S3).
• load_ip: Realiza la lectura de la dirección IP de la memoria del dispositivo. La
posición de memoria utilizada es la 0x80000h.
• default_ip: Gestiona las dos rutinas anteriores para, primeramente cargar una
dirección IP genérica y, posteriormente ofrecer al usuario la posibilidad de
cambiarla.
• reset_ip: Genera el menú de confirmación de borrado de IP.
• save_ip: Se encarga de almacenar en memoria la nueva dirección IP seleccionada
por el usuario.
6.5.2.10 LIBRERÍA 91X_SYST_RESET_LIB.C
Incluye la rutina syst_reset que produce el reinicio del dispositivo. Para ello, activa
el sistema watchdog del microcontrolador, dejando que el timer contador desborde a
propósito. Cuando esto suceda el dispositivo entenderá este desbordamiento como un
error en el sistema (sistema colgado) y procederá a un reset general.
Proyecto SIRAU 88
7. PROTOTIPO HF Este apartado se centra en explicar el sistema que se ha programado en la PDA
para poder implementar el prototipo HF. Por ello este informe trata de sistemas y
librerías que se han desarrollado con Visual Studio en la plataforma Windows CE 5.0. Este
apartado intenta dar una visión muy generalista de un sistema que por el tiempo que lleva
desarrollándose y por la dimensión del mismo presenta un nivel de complejidad muy
elevado. Por ello se ha procurado presentar el sistema de forma que pueda ser
comprensible i no perderse dentro de la gran cantidad de librerías que han resultado de
este desarrollo.
7.1 PROYECTO SIRAU.ENGINEDEMOC
SIRAU.EngineDemoC es la tercera generación del motor de SIRAU para PocketPC3.
Para cumplir con el objetivo de SIRAU el motor debe ser capaz de:
Leer códigos de etiquetas mediante un lector de tarjetas RFID4 HF5. Conectar / desconectar el dispositivo de red inalámbrico (WIFI6). Conectarse a un servidor remoto, enviando el código, para recibir la información asociada.
Cifrar y descifrar la información enviada / recibida del / al servidor. Pasar esta información a un motor de text‐to‐speech7. Guardar esta información en una caché8 basada en una base de datos. Grabar sonido por micrófono y asociarlo a un código para permitir mensajes orales.
Reproducir estos sonidos si su código asociado es leído.
Además, debe ser un motor flexible y expandible, para permitir su adaptación a otros
sistemas, más o menos similares.
Para cumplir todas estas expectativas, el diseño aplicado ha consistido en crear
numerosos proyectos muy especializados cada uno de ellos en un área específica, así se
permite la creación de futuros proyectos para PocketPC, pudiendo usar de una manera
rápida, sencilla y documentada los “proyectos SIRAU” que se estimen oportunos.
3 http://es.wikipedia.org/wiki/PocketPC 4 http://en.wikipedia.org/wiki/RFID, http://www.epcglobalinc.org/what/cookbook/ 5 http://en.wikipedia.org/wiki/High_frequency 6 http://es.wikipedia.org/wiki/Wi-Fi 7 http://en.wikipedia.org/wiki/Speech_synthesis, http://www.loquendo.com/es/index.htm 8 http://es.wikipedia.org/wiki/Cach%C3%A9
Proyecto SIRAU 89
Los proyectos SIRAU desarrollados y sobre los que este motor trabaja son:
SIRAU.Data.PocketPC SIRAU.Data.SQL SIRAU.Commons SIRAU.Devices.PocketPC.RFIDController SIRAU.Devices.PocketPC.WIFIController SIRAU.Media.TextToSpeech SIRAU.Media.Sound SIRAU.Net.PocketPC SIRAU.Net.PocketPC.Common SIRAU.PocketPC SIRAU.Security.PocketPC.Criptography
Sin embargo, algunos de los proyectos no son usados directamente por el motor, ya
que su funcionalidad puede ser delegada a otro de los proyectos. Este es el caso de
SIRAU.Security.PocketPC.Criptography, que solo se utiliza en las comunicaciones con el
servidor, por lo que la dependencia has sido delegada al proyecto SIRAU.Net.PocketPC, para
que de forma transparente y automática cifre y descifre los datos.
Lo expuesto en el párrafo anterior es un ejemplo de la flexibilidad que permite el
motor y de cómo aprovecharla en futuros proyectos o versiones del motor.
Así pues, éste proyecto es el resultado de la unión de todos los proyectos SIRAU, que
permite que el motor sea simplemente un enrutador de datos de un proyecto SIRAU a
otro, delegando prácticamente cualquier responsabilidad a cada proyecto SIRAU, gracias a
su gran especialización.
Fig.1 Esquema de dependencias directas del proyecto EngineDemoC.
Proyecto SIRAU 90
Aun con todos estos proyectos especializados, además EngineDemoC se apoya en
otras 3 clases, útiles solo desde el punto de vista del motor, ya que evitan que éste
profundice demasiado en determinados aspectos de funcionamiento, simplificando su
funcionamiento.
Hasta el momento, los proyectos SIRAU controlaban básicamente dispositivos
(RFID, WIFI, sonido), conexión a servidores (Bases de datos, servidores de red) o
proporcionaban tipos de datos comunes a todos ellos. Estas clases por el contrario tienen
como objetivo reducir y centrar el comportamiento del motor, abstrayendo determinados
comportamientos a otro nivel para evitar que el motor se preocupe de esos detalles.
Estas clases de apoyo son:
Messager: Tiene como objetivo poder notificar siempre cualquier información, ya
sea visualmente mediante texto o auditivamente mediante el motor de text‐to‐
speech.
WIFIManager: Su objetivo es el control preciso del dispositivo de conexión de red
inalámbrica. Se encarga de encenderlo y apagarlo cuando de verdad sea necesario,
evitando que esta operación se produzca demasiadas veces, ya que la operación de
encendido es bastante lenta. Básicamente cuando el motor necesita conectar por
WIFI, esta clase enciende el dispositivo, pero cuando el motor acaba y le manda a
esta clase apagar el dispositivo, se espera un tiempo prudencial antes de apagarlo,
por si el motor vuelve a requerir el dispositivo WIFI.
ProductSearcher: Su misión es la de evitar que el motor deba preocuparse de ir
a buscar los datos a la base local o al servidor de red, simplemente debe
preocuparse de pedirle a esta clase el producto y ella le devolverá su descripción o
el error producido, de forma totalmente transparente, ya que será esta clase quien
se encargue de hacer todo el procedimiento.
Gracias a toda esta infraestructura de apoyo, el desarrollo del motor ha sido fácil,
rápido y eficaz y se han definido perfectamente los objetivos que debe cumplir, delegando
las acciones necesarias para su cumplimiento, en quien de verdad debe encargarse de
realizarlas.
Proyecto SIRAU 91
El motor cumple con dos objetivos bien definidos:
Recuperación de información para un producto: LEER
Asociación de grabación de audio con un producto: GUARDAR
7.1.1 RECUPERACIÓN DE INFORMACIÓN PARA UN PRODUCTO: LEER
La información textual asociada a un producto se almacena en una cache basada en
SQL Server Mobile9. La información oral, en un directorio, identificada por el número del
producto.
Así, cuando se requiera información para un producto, el primer paso será usar
llamar al proyecto SIRAU.Devices.PocketPC.RFIDController para que encuentre el código del
que se quiere obtener la información. Si no se encuentra en un periodo de tiempo
determinado, saldrá de la operación.
De lo contrario, el motor usara la clase ProductSearcher para obtenerla, proceso que
se lanzara en segundo plano, por lo que a la vez el motor buscara y reproducirá (si existe)
la grabación de audio asociada al producto, ganando en velocidad, ya que la conexión al
servidor es lenta.
El primer paso que dará ProductSearcher será pedir la información a la caché. En
caso de que no exista, llamará a WIFIManager para que encienda el dispositivo WIFI y se
conectara al servidor para enviarle la petición.
Cualquiera de las 2 vías devolverá el nombre del producto y los 3 niveles de
información asociada, o un error. Si la información obtenida ha sido gracias al servidor y
no ha sido un error, ésta se almacenará en la caché.
Finalmente, los datos obtenidos serán reproducidos por la clase Messager, usando
el motor de text‐to‐speech y se dará la funcionalidad de poder reproducir (si existen) los
siguientes niveles de información.
9 http://www.microsoft.com/spain/sql/editions/sqlmobile/default.mspx
Proyecto SIRAU 92
7.1.1.1 DIAGRAMAS DE BLOQUES
El código existe:
El código no existe
Proyecto SIRAU 93
7.1.1.2 DIAGRAMA DE FLUJO
Proyecto SIRAU 94
7.1.2 ASOCIACIÓN DE GRABACIÓN DE AUDIO CON UN PRODUCTO: GUARDAR
Del mismo modo que el punto anterior, el primer paso será usar llamar al proyecto
SIRAU.Devices.PocketPC.RFIDController para que encuentre el código del que se quiere
obtener la información. Si no se encuentra en un periodo de tiempo determinado, saldrá
de la operación.
De lo contrario, el motor usara el proyecto SIRAU.Media.Sound para realizar la
grabación de audio, que terminara cuando el usuario lo indique o cuando haya pasado un
determinado periodo de tiempo.
Si existe el producto asociado en la caché se actualizara. De lo contrario, añadirá un
elemento en la cache. Esto fijará la fecha del último uso a la actual y su grabación de audio
asociada.
7.1.2.1 DIAGRAMA DE BLOQUES
Proyecto SIRAU 95
7.1.2.2 DIAGRAMA DE FLUJO
Proyecto SIRAU 96
7.2 PROTOTIPO DE PRUEBAS PARA SIRAU
Para este proyecto el prototipo usado ha sido una HP iPAQ serie hx240010, con un
dispositivo RFID de ACG por Compact Flash11, corriendo sobre Windows Mobile 200512.
Fig.2 Prototipo de trabajo
10 Pagina web de HP iPAQ hx2400 11 http://acg-id.aaitg.com/index.php?id=102 12 http://www.microsoft.com/spain/windowsmobile/5/InstalledFeatures/default.mspx
ACG RFID CompactFlash
HP iPAQ
BRAILLE GRABAR ETIQUETA
BRAILLE LEER ETIQUETA
BRAILLE GRABAR BRAILLE LEER
ESCAPE SALIR
PANTALLA TACTIL
Proyecto SIRAU 97
7.2.1 INTERFAZ GRAFICA
La interfaz gráfica ha sido construida partiendo de la base del proyecto SAPIENS,
usando su misma estructura.
Así, la pantalla principal se compone únicamente de 2 botones:
Una vez pulsado cualquiera de los botones, se mostrara una pantalla para permitir
la cancelación de la operación en curso, que consta de un único botón:
[FIN] – Según la operación en curso, su función es la de volver a la pantalla principal o la
de simular el botón [ACEPTAR].
Proyecto SIRAU 98
Esta estructura forma parte del proyecto SAPIENS y ha sido heredada por ser este
proyecto una evolución suya. De entre las nuevas características, ha sido el triple nivel de
información el que ha generado una nueva pantalla, para poder explorar estos niveles.
Así, una vez ejecutada la función LEER, cada vez que sea presentado un nivel de
información, si existe otro, se mostrará una pantalla con un único botón:
[MAS] – Muestra el siguiente nivel de información.
Proyecto SIRAU 99
Si no se pulsa el botón durante un determinado periodo de tiempo, o se muestra el último
nivel de información, se mostrara la pantalla principal.
7.2.2 NAVEGACIÓN
Proyecto SIRAU 100
7.3 DESCRIPCIÓN POR CLASES:
7.3.1 ENGINEDEMOC
Esta clase es pública en el proyecto y representa el motor de la aplicación.
Implementa la interfaz IDisposable para poder ser destruida adecuadamente.
Constructores:
public EngineDemoC(string Host, int Port)
Inicializa todos los módulos con un número máximo de elementos que almacenará
la caché de 5000 y los datos de conexión al servidor local. Estos valores no serán
modificables una vez el motor este instanciado.
public EngineDemoC(string Host, int Port, int MaxCacheProducts)
Inicializa todos los módulos con un número máximo de elementos que almacenará
la caché y los datos de conexión al servidor local. Estos valores no serán
modificables una vez el motor este instanciado.
Propiedades públicas:
public string Host
Devuelve la dirección del servidor local.
public int Port
Devuelve el puerto del servidor local.
public string OralPath
Devuelve la ruta donde se almacenan las grabaciones de audio.
Proyecto SIRAU 101
public string DataBasePath
Asigna o devuelve la ruta donde se almacenan las grabaciones de audio.
public int RFIDTimeOut
Asigna o devuelve el tiempo máximo de lectura de etiquetas RFID.
public int WIFITimeOut
Asigna o devuelve el tiempo máximo de lectura de tarjetas RFID.
public int MaxCacheItems
Devuelve el número máximo de productos que podrá almacenar la caché.
public bool GettingInfo
Devuelve si se está buscando información.
public bool InformationAvailable
Devuelve si existe más información (otro nivel) disponible.
Funciones públicas:
public bool Read()
Realiza toda la operación necesaria para obtener la información, empezando por
leer el tag y acabando con la información asociada o los errores que se hayan
producido.
public bool ReadNext()
Lee el siguiente nivel de información disponible.
public void Save()
Realiza toda la operación necesaria para almacenar la información oral obtenida
gracias a una grabación de audio.
Proyecto SIRAU 102
public void StopAll()
Detiene todas las operaciones en curso.
public void StopRecording()
Detiene la grabación de audio para la información oral.
public void StopRFID()
Detiene la búsqueda de códigos por RFID.
public void StopMessaging()
Detiene el mensaje que se esta reproduciendo.
public void StopOralMessage()
Detiene la reproducción de audio.
public void StopGettingInfo()
Detiene la búsqueda de información.
public void ShowMessage(string text)
Permite mostrar un texto mediante el sistema de muestra de mensajes del motor.
Funciones privadas:
private void InitializeSpeecher()
Inicializa el motor de text‐to‐speech.
private void InitializeAudio()
Inicializa el modulo de audio.
private void InitializeWifi()
Inicializa el modulo de WIFI.
Proyecto SIRAU 103
private void InitializeRfid()
Inicializa el modulo de RFID.
private void InitializeNetClient()
Inicializa el modulo red.
private void InitializeMessager()
Inicializa la clase de notificación.
private void InitializeWIFIManager()
Inicializa la clase de manejo de WIFI.
private void InitializeProductSearcher()
Inicializa la clase de búsqueda de información de productos.
private void InitializeCache(int MaxItems)
Inicializa el modulo de cache con el número máximo de elementos especificado.
private bool Inventory(ref string code)
Arranca el dispositivo RFID y realiza la búsqueda de códigos. El código es devuelto
mediante el parámetro pasado por referencia code, mientras que la función
devuelve si la operación ha ido correctamente o no.
private string[] GetProductDescription(string tag)
Automatiza la clase ProductSearcher para obtener la información asociada al
código del parámetro tag, o los errores que se hayan producido. Devuelve un
vector para almacenar los diferentes niveles de información.
private void InitializeEngine(string host, int port, int
maxProducts)
Inicia el motor, llamando a cada función de inicialización de cada modulo. Esta
función es la que realmente instancia el motor, y debe ser llamada por sus
constructores.
Proyecto SIRAU 104
Proyecto SIRAU 105
7.3.2 MESSAGER
Descripción:
Esta clase es interna en el proyecto, por lo que una vez compilado el proyecto no
será visible. Se ha decidido ocultarla ya que su función es solo permitir al motor mostrar
mensajes, aun cuando no funcione el motor de text‐to‐speech. No se ha implementado la
interfaz IDisposable ya que la clase del motor de text‐to‐speech será asignado por
referencia, por lo que será el motor (o el creador de la clase Messager, para ser más
generales) quien se ocupara de destruirla.
Constructores:
public Messager(ref Speecher spx)
Crea una nueva instancia de la clase Messager, recibiendo la referencia de una
instancia ya creada de la clase Speecher, de este modo, se está usando el objeto
original.
Funciones públicas:
public void ShowMessage(string text)
Muestra el texto pasado por el parámetro text con el motor de text‐to‐speech, y en
caso de no estar disponible, mediante un MessageBox13.
public void ShowMessage(string text, bool BlockingPrevious)
Muestra el texto pasado por el parámetro text con el motor de text‐to‐speech,
deteniendo cualquier reproducción que este en curso y evita que la función vuelva
hasta que la reproducción del texto haya terminado. En caso de no estar
disponible, mostrara el texto mediante un MessageBox.
13 http://msdn2.microsoft.com/en-us/library/system.windows.forms.messagebox(VS.71).aspx
Proyecto SIRAU 106
public void SetSpeechMode(Speecher.ProcessingMode mode)
Modifica la configuración del motor de text‐to‐speech para establecer el modo
especificado por el parámetro mode.
public void WaitForSpeecher()
Bloquea la continuación del programa hasta que la reproducción actual del motor
de text‐to‐speech termine.
7.3.3 WIFIMANAGER
Descripción:
Esta clase es interna en el proyecto, por lo que una vez compilado el proyecto no
será visible. Se ha decidido ocultarla ya que su función es la de minimizar el número de
veces que se conecta el dispositivo WIFI, porque una conexión implica no solo encender el
dispositivo, sino que además debe esperarse a obtener una dirección de red. Todo el
proceso es bastante lento y además bloquea el programa, es por eso que esta clase
disminuye el número de desconexiones del dispositivo, y solo lo apaga tras un tiempo
determinado sin que se le encargue encender el dispositivo WIFI. No se ha implementado
la interfaz IDisposable ya que las clases que usa serán asignadas por referencia, por lo que
será el motor (o el creador de las clases, para ser más generales) quien se ocupara de
destruirlas.
Proyecto SIRAU 107
Propiedades públicas:
public string WirelessSoftware
Según el fabricante del PocketPC que se use, el software que lleva incorporado
para el control del dispositivo WIFI cambia.Existe un problema con el sistema
operativo y es que las funciones que expone para el control de dispositivos, no
funciona siempre ni en todos los modelos. Con esas dos premisas, la objetivo de
esta propiedad es poder arrancar el software del fabricante con los parámetros
necesarios para arrancar el dispositivo WIFI.
Constructores:
public WIFIManager(ref WIFIController WContr, ref Messager msg)
Crea una nueva instancia de la clase WIFIManager, recibiendo las referencias de
unas instancias ya creadas de las clases WIFIController y Messager, de este
modo, se está usando el objeto original.
Propiedades públicas:
public int WIFITimeOut
Asigna o devuelve el tiempo máximo de espera hasta cerrar el dispositivo WIFI,
después de la última petición.
public string WirelessSoftware
Asigna o devuelve el software del fabricante sobre el que corre este software para
encender el dispositivo WIFI.
Proyecto SIRAU 108
Funciones privadas:
private WIFIStatus EnableWifiProgramatically()
Enciende el dispositivo WIFI usando el proyecto SIRAU.Devices.
PocketPC.WIFIController para ello. Luego devuelve el estado del dispositivo, para
saber si la operación ha tenido éxito.
private void EnableWifiBySoft()
Enciende el dispositivo WIFI usando el software proporcionado por el fabricante
del PocketPC. Se mostrará al usuario el software de configuración inalámbrica del
fabricante.
private void _wifiIsNotLoadedTimer_Tick(object sender, EventArgs
e)
Controla el tiempo máximo que puede tardar el software del fabricante en
encender el dispositivo WIFI.
private void _mantainWIFIOnTimer_Tick(object sender, EventArgs
e)
Controla el tiempo máximo que el dispositivo WIFI puede estar encendido.
Funciones públicas:
public void EnableWIFI()
Reinicia el controlador de tiempo máximo que el dispositivo WIFI puede estar
encendido y si el dispositivo estaba apagado, lo enciende mediante
EnableWifiProgramatically() y EnableWifiBySoft().
private void DisableWIFI()
Proyecto SIRAU 109
Detiene el dispositivo WIFI. Esta función debe usarse con CUIDADO, ya que detiene
el controlador de tiempo máximo y cierra el dispositivo WIFI.
7.3.4 PRODUCTSEARCHER
Descripción:
Esta clase es interna en el proyecto, por lo que una vez compilado el proyecto no
será visible. Se ha decidido ocultarla ya que su función es la de reducir las tareas del
motor, evitando que deba preocuparse de ir a buscar la información asociada a un código
en la cache o al servidor de red. Aunque los objetos a usar serán asignados por referencia,
implementa la interfaz IDisposable para eliminar las referencias a sus eventos.
Constructores:
public ProductSearcher(ref NetClientCrypted client, string host,
int port, ref WIFIManager wifiMan, ref SIRAUCache cache)
Crea una nueva instancia de la usando los objetos originales para gestionar la
búsqueda de códigos.
Proyecto SIRAU 110
Propiedades públicas:
public bool Searching
Devuelve si se está buscando un código.
Funciones privadas:
private void GetProductDescriptionThreat()
private SIRAUProduct GetProductFromPersonalDB(string code)
Obtiene el producto de la cache. Si no existe lanzara un excepción de tipo
SIRAUCache.ItemNotInCacheException.
private SIRAUProduct GetProductFromRemoteDB(string code)
Obtiene el producto del servidor local. Para ello debe encender el dispositivo WIFI,
conectarse al servidor, enviar el código y recibir la información. El proceso es algo
lento y muy susceptible de errores.
private void oClient_ServerClosed()
Captura el evento ServerClosed de la clase NetClientCrypted para saber si el
servidor ha cerrado e informar a la función GetProductFromRemoteDB.
private void oClient_DataReceived(string message)
Captura el evento DataReceived de la clase NetClientCrypted para pasar el
mensaje recibido a la función GetProductFromRemoteDB.
private static string[] SetDescriptionToReturn(SIRAUProduct p)
Transforma un objeto de la clase SIRAUProduct en una matriz de cadenas de
texto, organizando la información en niveles:
[0] = Nombre del producto + Primer nivel de información. [1] = Segundo nivel de información. [2] = Tercer nivel de información.
Proyecto SIRAU 111
private SIRAUProduct MessageToProduct(SIRAUMessage sms)
Transforma un mensaje recibido del servidor local (SIRAUMessage) en un objeto
de la clase SIRAUProduct.
Excepciones:
GetProductException
Excepción general para la clase ProductSarcher.
Proyecto SIRAU 112
8. SISTEMA DE SERVIDORES Este apartado se centra en explicar el sistema que se ha programado en la creación
de la infraestructura necesaria para dar servicio a los terminales desarrollados. Por ello
este informe trata de sistemas y librerías que se han desarrollado con Visual Studio. Este
apartado intenta dar una visión muy generalista de un sistema que por el tiempo que lleva
desarrollándose y por la dimensión del mismo presenta un nivel de complejidad muy
elevado. Por ello se ha procurado presentar el sistema de forma que pueda ser
comprensible i no perderse dentro de la gran cantidad de librerías que han resultado de
este desarrollo.
8.1 SERVIDOR LOCAL
8.1.1 INTRODUCCIÓN
El nivel Local de la aplicación SIRAU es la que se encarga de enlazar los
dispositivos lectores de tarjetas con el servidor global emplazado en Internet.
La finalidad de este puente consiste en mantener la información ya usada por el
usuario en una máquina “cercana” al dispositivo, de forma que no sea necesario un acceso
a Internet para peticiones sobre un mismo producto. Debe, además, garantizar la
privacidad de los datos transmitidos a los dos extremos, esto es, del dispositivo lector al
servidor local mediante LAN, y del servidor local al global vía Internet.
Esta capa tiene además la responsabilidad de mantener las distintas informaciones
asociadas a los productos de interés regularmente actualizadas conforme a los datos del
fabricante mediante un refresco diario.
Este servidor local viene acompañado además de una aplicación diseñada para
permitir al usuario cierta organización sobre la información final recibida en su
dispositivo. Dado que es el usuario final quién hará uso de esta aplicación, respeta unos
parámetros propuestos para lograr la mayor accesibilidad posible.
Proyecto SIRAU 113
Los proyectos SIRAU desarrollados para el nivel local son los siguientes:
SIRAU o Dependencias:
SIRAU.Net SIRAU.Net.Common
Aplicación dirigida al usuario final para la organización personalizada de la
información según unos niveles preestablecidos.
SIRAUService o Dependencias:
SIRAU.Net SIRAU.Net.Common SIRAU.Security.Cryptography Install_Service_Options SerializeFactory14
Proceso que ejerce de servidor local como servicio para Windows, encargado de
mantener la información actualizada. Delega las comunicaciones TCP/IP sobre la
librería SIRAU.Net.
14 http://en.wikipedia.org/wiki/Serialization
Proyecto SIRAU 114
Install_Service_Options
Proyecto encargado de instalar el servicio SIRAUService en Windows y
configurarlo adecuadamente para su correcto funcionamiento.
SIRAUSetup
Proceso encargado de instalar el ejecutable de SIRAU así como el servicio
SIRAUService en el sistema Windows del usuario. Hace uso de todos los proyectos
anteriores. Se detalla su uso en el manual del usuario.
Proyecto SIRAU 115
8.1.2 DIAGRAMAS DE BLOQUES
8.1.2.1 SIRAU
8.1.2.2 SIRAUSERVICE
Proyecto SIRAU 116
8.1.3 DIAGRAMAS DE FLUJO
8.1.3.1 SIRAU
Proyecto SIRAU 117
8.1.3.2 SIRAUSERVICE
Nota: Para simplificar el diagrama se ha obviado el uso de la criptografía proporcionado por
SIRAU.Security.Cryptography, usada en todas las comunicaciones con SIRAU Web Service, así como
el módulo SerializeFactory usado para transformar objetos en cadenas para poder, de este modo,
encriptarlos.
Proyecto SIRAU 118
8.1.4 DESCRIPCIÓN POR CLASES
Program
Clase principal que conforma el ejecutable SIRAU. Usa los formularios Main_Form y
Type_Form para permitir la interacción con el usuario, y la clase SQLGets para
comunicarse con la base de datos local.
o Funciones privadas private static void Main()
Únicamente se compone de la función de entrada main(), que crea y
lanza la interfaz mediante la clase Main_Form.
private static void Exit()
Función de salida para el programa.
Proyecto SIRAU 119
Main_Form
Clase derivada de Form. Permite al usuario elegir el tipo de producto a modificar.
Se ajusta automáticamente según la resolución del escritorio Windows del usuario.
Proyecto SIRAU 120
o Constructor public Main_Form()
Calcula los parámetros necesarios para ajustar la ventana al tamaña
y ubicación adecuadas. Llama a las funciones propias
add_type_buttons y high_res o low_res según corresponda.
o Función pública void Form1_Resize()
Impide la redimensión de la ventana.
o Funciones privadas private void add_type_buttons()
Coloca los botones correspondientes a los distintos tipos de
producto pertenecientes a la base de datos local del usuario usando
la clase SQLGets. Asigna el evento Click de los botones a la función
type_open.
private void type_open(object sender, EventArgs
e)
Función llamada al pulsar sobre un botón de este formulario.
Deshabilita la opción pulsada y abre el nuevo Type_Form
correspondiente al tipo de producto elegido.
private void type_form_closed(object sender,
EventArgs e)
Función llamada al cerrar un Type_form previamente abierto.
Habilita de nuevo el botón correspondiente.
private void low_res()
Configura el formulario para resoluciones bajas.
private void high_res()
Configura el formulario para resoluciones altas.
Proyecto SIRAU 121
private void exit_click(object sender, EventArgs
e)
Captura el evento de Click sobre el botón “Salir” y cierra el
formulario.
private void escape(Object sender,
KeyPressEventArgs e)
Captura el evento Keypress de la tecla escape para cerrar el
formulario.
Proyecto SIRAU 122
Type_Form
Clase derivada de Form. Permite al usuario modificar el nivel de prioridad de un
campo de información para el tipo de producto elegido. Se ajusta automáticamente
según la resolución del escritorio Windows del usuario.
Proyecto SIRAU 123
o Constructor public Type_Form(int id)
Calcula los parámetros necesarios para ajustar la ventana al tamaña
y ubicación adecuadas. Llama a las funciones propias high_res o
low_res según corresponda. Se le pasa el identificador de tipo de
producto como parámetro.
o Propiedades públicas Collection<int> field = new Collection<int>()
Contiene los índices que indican los campos para este
tipo de producto.
Collection<int> level = new Collection<int>()
Colección paralela a la anterior. Almacena el nivel
actual para cada campo.
o Funciones privadas private void low_res()
Configura el formulario para resoluciones bajas.
private void high_res()
Configura el formulario para resoluciones altas.
private void ok(object sender, EventArgs e)
Guarda los cambios realizados en la base de datos.
private void form_resize()
Impide la redimensión de la ventana.
private void exit_click(object sender, EventArgs
e)
Captura el evento de Click sobre el botón “Salir” y cierra el
formulario.
private void escape(Object sender,
KeyPressEventArgs e)
Proyecto SIRAU 124
Captura el evento Keypress de la tecla escape para cerrar el
formulario.
SQLGets
Interfaz lógica para las comunicaciones con la base de datos local. Usa el
constructor por defecto.
o Funciones públicas public void get_types(ref Collection<string>
types, ref Collection<int> ids)
Devuelve los tipos de producto existentes en la colección pasada
por referencia, y sus correspondientes identificadores en la
colección paralela.
public void get_field_levels(int product_type,
ref Collection<int> fields, ref Collection<int>
levels)
Devuelve los campos existentes para el tipo de producto
especificado en el parámetro product_type en la colección pasada
por referencia, y sus correspondientes niveles actuales en la
colección paralela.
Proyecto SIRAU 125
public string get_type_by_id(int id)
Devuelve la cadena con el nombre correspondiente al tipo de
producto especificado mediante el identificador pasado por
parámetro.
public Collection<int> get_levels ()
Devuelve los niveles disponibles en la base de datos del usuario.
public void levels_update(int id_product_type,
Collection<int> fields, Collection<int> level)
Actualiza los niveles de los campos del tipo de producto
especificado. Recibe una colección con los campos a actualizar y sus
nuevos niveles en paralelo.
public int get_product_id_by_name(string
type_name)
Devuelve el identificador correspondiente a la cadena pasada como
parámetro.
public string get_field_name_by_id(int id_field)
Devuelve la cadena con el nombre correspondiente al campo
especificado mediante el identificador pasado por parámetro.
Proyecto SIRAU 126
MainService
Clase derivada de ServiceBase. Constituye la estructura principal sobre la que se
sustenta el servidor local. Entre sus responsabilidades se encuentran:
o Abrir servidor TCP/IP (puerto 9999) mediante la librería SIRAU.Net
o Crear un objeto UpdaterSQL para comunicarse con las bases de datos.
o Crear un objeto DaemonSQL que se encargará de mantener la base de datos
local actualizada. Estas actualizaciones se realizan una vez al dia.
o Mostrar un icono notificador en la bandeja del sistema del usuario.
o Propiedades
int port; Puerto de escucha para el servidor TCP/IP
int t; Intervalo de actualizacion en milisegundos
o Constructor
public MainService()
Construye el objeto SIRAUService, lo inicializa y le asigna un
nombre representativo del servicio Windows.
o Funciones de servicio protected override void OnStart(string[] args)
Inicia el servicio en el sistema con tipo de cuenta
“LocalSystem”.Crea e inicia el objeto DaemonSQL. Inicia el servidor.
Proyecto SIRAU 127
protected override void OnStop()
Llama a exit() para detener el servicio.
o Funciones públicas void serv_ClientConnected(AClientManager client)
Asigna la captura del evento DataReceived a la función propia
client_DataReceived().
void client_DataReceived(string clientID, string
message)
Llama al proceso del mensaje recibido.
void queryprocess(string ClientID, string sms)
Analiza el mensaje recibido, y lanza una petición de busqueda al
objeto UpdaterSQL si es necesario.
o Funciones privadas: private void showicon()
Muestra un icono de notificacion del servicio en la bandeja de
sistema del usuario.
private void Exit()
Detiene el servidor, el temporizador DaemonSQL, elimina el icono
de notificación, y detiene el servicio.
Proyecto SIRAU 128
DaemonSQL
Clase encargada de mantener actualizada la base de datos local mediante el uso del
servidor global (SIRAU Web Service). Contiene un temporizador personalizable
para ajustarse al intervalo de actualizaciones deseado (por defecto, una vez al dia).
Hace uso de la clase UpdaterSQL para las actualizaciones.
Proyecto SIRAU 129
o Propiedades
System.Timers.Timer _t Temporizador ajustable.
o Constructor public DaemonSQL(double seconds)
Construye el objeto DaemonSQL y crea el temporizador según el
parámetro pasado. Enlaza el evento del temporizador con la función
OnTimedEvent.
o Funciones públicas public void Start()
Realiza una primera actualización de la base de datos local y pone en
marcha el temporizador.
public void Stop()
Detiene el temporizador.
o Funciones privadas private void OnTimedEvent(object source,
ElapsedEventArgs e)
Ejecuta una actualización de la base de datos.
Proyecto SIRAU 130
UpdaterSQL
Clase encargada de interaccionar tanto con la base de datos local para mantenerla
actualizada, como con el servidor global (mediante SIRAU Web Service). Es
responsable también de resolver peticiones sobre productos específicos en tiempo
de ejecución.
Incluye una función de apoyo necesaria para ordenar correctamente los distintos
campos de información de un producto según las preferencias establecidas por el
usuario (mediante el ejecutable SIRAU).
Hace uso del módulo de criptografía para encriptar todas las comunicaciones
habidas con el servidor global a través de Internet y del módulo SerializeFactory
usado para convertir todo tipo de objetos a, en este caso, cadenas.
o Funciones públicas public void Update()
Función que realiza una actualización general de la base de datos
local conectandose al servidor global mediante Internet. El proceso
seguido es el siguiente:
• Obtener y enviar al servicio web la fecha de la última
actualización realizada en el sistema.
• Recibir los productos actualizados desde esta fecha.
• Seleccionar los productos existentes en la base de datos del
usuario que han sido actualizados, según la información
recibida en el anterior paso.
• Pedir y actualizar las informaciones asociadas a estos
productos.
public string search(String codi)
Busca la información asociada al producto pasado por parámetro,
normalmente a petición del usuario. Realiza una primera busqueda
en la base de datos local, y si el producto no se encuentra, accede al
servidor global. Hace uso de la función get_ordered_descriptions()
para organizar la información devuelta según las preferencias del
usuario.
Proyecto SIRAU 131
public string search(String codi)
Busca la información asociada al producto pasado por parámetro,
normalmente a petición del usuario.
o Función privada: private void get_ordered_descriptions(string
code,
ref Collection<int> level1,
ref Collection<int> level2,
ref Collection<int> level3)
Devuelve, en las colecciones pasadas como parámetros, qué campos corresponden
a cada nivel de información para el producto pasado como primer parámetro.
Proyecto SIRAU 132
SerializeFactory
Proyecto que surge de la necesidad de transformar todo tipo de objetos al tipo
cadena, dado que sólo podemos encriptar cadenas para transmitir información
segura entre las distintas capas de abstracción.
o Funciones públicas: public static XmlDocument SerializeToXmlDoc
(object Objeto)
Función que transforma cualquier objeto en su representación XML.
public static string SerializeToString (object
Object)
Transforma un objeto dado en un equivalente del tipo string.
public static void SerializeToXmlFile (object
Object,string Destination)
Crea la representación del objeto pasado en un archivo XML
guardado en disco con el nombre especificado en el parámetro
Destination.
public static object Deserialize (XmlDocument
Document, object Object)
Devuelve un objeto del tipo especificado por parametro con el
contenido del documento XML pasado.
public static object Deserialize (string serial,
object objeto)
Devuelve un objeto del tipo especificado por parametro con el
contenido de la cadena pasada.
Proyecto SIRAU 133
public static object DeserializeFile (string
source, object objeto)
Devuelve un objeto del tipo especificado por parametro con el
contenido del fichero especificado en ‘source’
Proyecto SIRAU 134
8.2 SERVIDOR GLOBAL
El nivel global de la aplicación SIRAU es la que se encarga de centralizar la
información genérica de todos los productos existentes en el sistema, así como de
introducir nuevos productos o modificar los ya existentes. Es, por tanto, la capa encargada
de proporcionar al conjunto de servidores locales la información que requieran, y
abastecer, del este modo, de las actualizaciones realizadas en la información de productos
ya existentes.
Dada la magnitud de las consecuencias que puede acarrear la información
almacenada en este repositorio, su acceso debe restringirse al máximo para poder
garantizar la integridad de la misma. Es, por lo tanto, de máxima necesidad, autorizar
únicamente a los agentes indispensables y estos, a su vez, deben encontrarse restringidos
a sus propios productos (en caso de ser un fabricante, por ejemplo). Estos agentes
autorizados dispondrán de un acceso vía web mediante el cual podrán modificar la
información de sus productos o crear nuevos.
De cara al usuario, deberá asegurarse la privacidad de todos los datos transmitidos
mediante Internet, valiéndose de la encriptación pertinente, alcanzando así el nivel
máximo de seguridad exigible.
Los proyectos necesarios para la aplicación a nivel global son los siguientes:
SIRAU Web Service
o Dependencias:
SIRAU.Security.Cryptography
SerializeFactory
Servicio web que proporciona las funciones necesarias a sus clientes, los
servidores locales. Entre estas funciones destacan la transmisión de los
productos actualizados, así como de sus informaciones asociadas.
Proyecto SIRAU 135
SIRAU Website
Sitio web mediante el cual los distintos agentes de información pueden
interaccionar con el sistema, añadiendo o modificando los datos asociados a sus
productos.
o Dependencias:
Módulo de criptografía SIRAU.Security.Cryptography
Módulo de serialización SerializeFactory
Proyecto SIRAU 136
8.2.1 DIAGRAMAS DE BLOQUES
8.2.1.1 SIRAU SERVICE
8.2.1.2 SIRAU WEBSITE
Proyecto SIRAU 137
8.2.2 DESCRIPCIÓN POR CLASES
Service
Clase que conforme el servicio web llamado SIRAU Web Service. Proporciona a los
clientes las informaciones relativas a los productos requeridos por los mismos.
o Funciones privadas: private DataSet.DescriptionsDataTable getinfo
(string code)
Función interna que devuelve el DataSet correspondiente al
producto identificado por el código ‘code’.
o Funciones públicas: public string getinfo(string codecollection,
byte[] bKeys)
Función encargada de recibir las peticiones de los clientes sobre un
conjunto de productos, serializados adecuadamente en un objeto
del tipo string. Recibe a la vez las claves necesarias para descifrar la
colección de códigos.
public byte[] newkeys()
Genera un nuevo par de claves y lo devuelve en forma de array de
bytes.
public string getupdated(string last, byte[]
bKeys)
Recibe una fecha que representa la última actualización realizada
por el cliente cifrada, por lo que además requiere el envío de la
clave usada.
Devuelve un string serializado con el conjunto de identificadores de
producto actualizados desde la fecha señalada.
public void newproduct(XMLDocument producto)
Añade un producto nuevo al sistema.
Proyecto SIRAU 138
public void modproduct(XMLDocument producto)
Actualiza la información vinculada a un producto ya existente.
Proyecto SIRAU 139
9. MANUALES DE USUARIO
9.1 SERVIDOR GLOBAL
Al servidor Global pueden acceder terceras personas, debidamente autorizadas, a
introducir la información global sobre los identificadores de producto. Éste, por otro lado,
será el servidor que mantenga la base de datos global a la cual accederán los servidores
locales, bajo consulta automática, para actualizar sus bases. Este servidor dispone de un
servicio web para la introducción o edición de datos en la base de datos. La ordenación de
los datos se ha realizado por formularios donde se divide la información en familias de
productos. Dentro de cada familia existen diversos formularios de productos “estándar” y
existe la posibilidad de crear nuevos. Cada etiqueta o rango de etiquetas, se asocian un
producto concreto. Un ejemplo sería un CD de música, en este caso el producto estaría
asociado a la familia CD/DVD, al producto CD y la información se dividiría en diversos
campos: Producto (título, cantante), Repertorio, Duración, Información adicional (disco de
oro, colección). Esta información al completo es la que se ofrece a los servidores locales.
9.1.1 CARACTERÍSTICAS
Este servidor se implementa mediante un servicio web.
Todas las comunicaciones están cifradas; de este modo se garantiza la privacidad
de los datos a través de Internet.
La introducción de datos se realiza a través de un sitio web, y se encuentra
restringido a los agentes autorizados.
9.2 SERVIDOR LOCAL
La base de datos local se encuentra en el sistema que conecta con Internet. Esta
base de datos incorporará un sistema de depuración y renovación de datos que mantiene
la base de datos dentro de unos límites razonables de tamaño sin sacrificar velocidad. Esta
base de datos es un punto crítico para que el sistema no sea extremadamente lento ya que
lanzar consultas a través de Internet puede suponer un tiempo excesivo.
El servidor de datos local se dirige a la base de datos global cuando no encuentra
información asociada a la etiqueta que demanda el terminal. Este servidor también se
conecta una vez al día al servidor en internet para refrescar los productos que están en su
base de datos, por si se hubiese producido algún cambio en la información asociada. Si
Proyecto SIRAU 140
fuese así, el servidor local esperaría la primera conexión del terminal con base de datos
propia para refrescar la tercera base de datos – en caso de existir.
Este servidor tiene también el cometido de ordenar la información antes de
transmitirla al terminal. Para ello se ha diseñado un sistema de filtros, donde se incluyen
roles, donde se especifica cómo y en qué orden se ha de presentar la información. Estos
filtros sirven, por ejemplo, para determinar que, si es un servidor local de una persona
ciega, la primera información que presente sea el color de una prenda de ropa. Si no
existen filtros activos, la información también se ordena, pero en este caso de una forma
predefinida.
La información se sirve al terminal en tres niveles de importancia que vienen
determinados por los filtros que se han comentado con anterioridad. Así por ejemplo en el
primer nivel, siguiendo el caso de una persona invidente y una camisa, estarían el color, la
forma, la temporada y la talla, en el segundo nivel la forma de planchar y lavar y en el
tercer nivel la composición del tejido e información adicional.
9.2.1 CARACTERÍSTICAS
Servidor sobre protocolo TCP/IP con múltiples conexiones simultáneas.
Todas las comunicaciones están cifradas; de esta forma se mantiene la privacidad
de los datos a nivel local.
Actualización automática de la información vinculada a los productos existentes en
esta base de datos. Se realiza, como mínimo, una vez al día.
Notificación de actividad al usuario mediante un icono en la bandeja del sistema.
Este servicio se ejecuta mediante la cuenta especial “Local System”, por lo que se
ejecuta independientemente del usuario que inicie sesión en dicho ordenador.
Requiere de una instalación realizada por un experto.
Proyecto SIRAU 141
9.2.2 CONFIGURADOR LOCAL DE NIVELES DE INFORMACIÓN
Junto con el servidor local, se proporciona una herramienta para que el usuario
pueda ordenar los distintos campos de información en niveles de prioridad, para ajustar
de este modo la calidad de la información mostrada al usuario final.
Su interfaz está diseñada de acuerdo con los principios de diseño accesible,
consiguiendo así una usabilidad los más sencilla posible. Entre las características de esta
interfaz se incluyen:
Detección automática de la resolución del escritorio usada en su escritorio.
Fuentes y componentes de gran tamaño.
Alto contraste.
Navegabilidad por teclado.
9.2.2.1 USO DEL CONFIGURADOR
Seleccione el tipo de producto para el que desea realizar un cambio.
Proyecto SIRAU 142
Seleccione el nivel de prioridad deseado para el campo de interés, teniendo en
cuenta que ‘1’ es el nivel máximo de prioridad.
En el caso de que haya varios campos con un mismo nivel, se aplicará un sistema
de prioridades interno definido por el fabricante.
Confirme los cambios si así lo desea pulsando el botón ‘Aceptar’, o deséchelos
pulsando ‘Cancelar’.
Proyecto SIRAU 143
9.3 PROTOTIPO SIRAU HF
SIRAU HF permite el reconocimiento de objetos etiquetados sin necesidad de tener
contacto visual directo, mediante un lector RFID HF. Este software está diseñado para
correr sobre PocketPC15 con Windows Mobile16.
Antes de empezar a utilizar SIRAU HF:
Asegúrese de que el lector de tarjetas esta correctamente e insertado en la
ranura Compact Flash de la PocketPC.
Asegúrese de que la tarjeta de memoria esta bien colocada en la ranura de
tarjetas de memoria.
Asegúrese de que tiene la conexión WIFI funcionando.
Ante cualquier problema durante el arranque del programa, realice un “soft
reset”17 al aparato y vuelva a comprobar los puntos anteriores.
15 http://es.wikipedia.org/wiki/PocketPC 16 http://www.microsoft.com/spain/windowsmobile/5/InstalledFeatures/default.mspx
Proyecto SIRAU 144
9.3.1 EJECUTAR SIRAU HF:
Pulse Inicio
Programas
SIRAU HF
Espera mientras el programa arranca, podrá oír un mensaje comunicadle que el
software está empezando. Su PocketPC quedará así:
17 Con el lápiz del PocketPC, pinchar en el orificio de reset. Podrá encontrarlo en el manual de su PocketPC.
Proyecto SIRAU 145
9.3.2 USAR SIRAU HF
Para obtener la información asociada a una etiqueta, pulse el botón [L] de la
pantalla principal, o el botón marcado como rojo y 3 puntos verticales, de la botonera
inferior de la PocketPC.
Acerque el lector a una etiqueta. Si no encuentra una etiqueta en20 segundos, o
pulsa la pantalla, que mostrara el botón [FIN], volverá a la pantalla principal.
Una vez encontrada la etiqueta, si existe un mensaje oral grabado, se reproducirá
mientras se obtiene la información asociada a la etiqueta.
Terminada la reproducción oral (o inmediatamente después de encontrar la
etiqueta si no había reproducción oral) una voz reproducirá la información asociada. Si no
existe esta información en su PocketPC, ésta intentara conectarse al servidor local. Esta
operación puede tardar algunos segundos.
Puede silenciar la voz y volver a la pantalla principal en cualquier momento,
pulsando el botón [FIN].
Si existe más información asociada, se mostrara el botón [MAS]. Si no lo pulsa en
10 segundos, volverá a la pantalla principal.
Si se pulsa el botón [MAS], se repetirán los pasos 3, 4 y 5, hasta que no exista más
información asociada a la etiqueta o hasta que decida volver a la pantalla principal.
Para grabar un mensaje oral y asociarlo a una etiqueta, pulse el botón [G] de la
pantalla principal, o el botón marcado como amarillo y 4 puntos en cuadrado, de la
botonera inferior de la PocketPC.
Acerque el lector a una etiqueta. Si no encuentra una etiqueta en20 segundos, o
pulsa la pantalla, que mostrara el botón [FIN], volverá a la pantalla principal.
Una vez encontrada la etiqueta, una voz le indicara cuando hablar.
Solo dispondrá de 15 segundos de mensaje. Pasado este tiempo o pulsando el
botón [FIN], se guardara su mensaje oral y se asociará con la etiqueta encontrada.
La navegación queda resumida en este grafico:
Proyecto SIRAU 146
Para salir del programa, pulse el botón derecho de la botonera inferior de la
PocketPC.
Proyecto SIRAU 147
10. CONCLUSIONES (RESUMEN)
El proyecto SIRAU pretende crear la infraestructura de un servicio que permita a
cualquier persona acceder a la información relacionada con un producto cualquiera.
Aunque en un principio es un servicio pensado y desarrollado para personas con
discapacidad visual, el uso es fácilmente extensible a cualquier tipo de persona que pueda
necesitar información adicional sobre un producto concreto. La tendencia del mercado es
que se imponga un sistema de etiquetaje global de producto, este sistema en un futuro
será una forma más de identificación como ahora puede ser un número de serie o un
código de barras. Este proyecto pretende aprovechar esta tecnología e intentar añadir
prestaciones al sistema. Las ventajas económicas que supone la utilización de una
tecnología como la radio‐identificación pueden verse reforzadas por una dimensión más
humana, como es la ayuda a personas con discapacidad. La utilización de la identificación
por radiofrecuencia para ofrecer información adicional sobre el producto al usuario, será,
en un futuro no muy lejano, una prestación más de cualquier producto.
Los retos para desarrollar un sistema como SIRAU son diversos. Por un lado la
necesidad de atender con un único diseño a una población heterogénea en cuanto a sus
capacidades, necesidades y preferencias. Hemos optado por una plataforma que gracias a
una gran plasticidad en las dimensiones clave, permite la adaptación al perfil de usuario e
incluso la personalización. Para conseguir esta escalabilidad es necesario, por una parte,
identificar los perfiles de usuario a partir de estudios de corte etnográfico y de estilo de
vida, y por otra dar respuesta técnica y validar las diferentes versiones.
En cuanto a los perfiles de usuario, a partir de los datos recogidos, hemos
confeccionado un modelo provisional que agrupa a los usuarios según las dimensiones de
utilidad percibida y de dificultad –también percibida en el uso del dispositivo. Nos parece
un modelo inspirador, pero que requiere ser revisado y validado. El tratamiento de la gran
heterogeneidad sociodemográfica del colectivo objetivo es uno de los retos, aunque parece
que el modelado de usuario puede ser una manera eficiente de abordarlo.
El proyecto ha presentado una serie de retos tecnológicos muy importantes. Un
ejemplo es la consulta automática del terminal al servidor local, se han tenido que
desarrollar los motores que controlasen tanto la comunicación y el puerto como la
encriptación de la misma, así como, en el modelo UHF, se ha tenido que programar
directamente sobre un stack en C de TCP. Y este es solo un ejemplo de los muchos retos a
Proyecto SIRAU 148
los que nos hemos enfrentado en el periodo de desarrollo de este proyecto. Esta
experiencia ha servido, en primer lugar, para aportar al equipo una experiencia muy útil a
la hora de enfrentarse a problemas tecnológicos en sistemas complejos y por otro para
generar una serie de herramientas para el diseño de sistemas adaptados.
Con SIRAU se han conseguido todos los objetivos planteados al inicio, por un lado,
una infraestructura que permitiese crear un sistema de reconocimiento global donde fuese
posible el acceso y edición de información referente a productos de la vida diaria, y por
otro un desarrollo y mejora de sistemas que permitan al usuario el acceso a la información
de forma cómoda e intuitiva.
Bibliografía
Bibliografía: Granollers, T. y Lorés, J. (2004): Esfuerzo de Usabilidad: un nuevo concepto para medir la usabilidad de un sistema interactivo basada en el Diseño Centrado en el Usuario. V Congreso Interacción Persona Ordenador 3 - 7 de mayo de 2004 Universitat de Lleida. Abascal, J.; A. Civit (2001): Universal access to mobile telephony as a way to enhance the autonomy of elderly people. En Proceedings of the 2001 EC/NSF workshop on Universal accessibility of ubiquitous computing: providing for the elderly Alcácer do Sal, Portugal, Pages: 93 - 99 ISBN:1-58113-424-X. Disponible en http://portal.acm.org/citation.cfm?id= 564551 “RFID Whitepaper”: alliedworld.com 2002 Allied Business Intelligence Inc RFID Magazine EPC UHF Clase I Generación 2, http://www.rfid-magazine.com Randall J. Jackson: Radio Frequency Identification (RFID); A White Paper aviable on: http://home.agh.edu.pl/~luc/my_doc/what_is_rfid.pdf RFID Magazine Tecnología SAW, http://www.rfid-magazine.com RFID Magazine Conozcamos el tag RFID, http://www.rfid-magazine.com RFID Magazine Estado de las regulaciones para UHF RFID en los diferentes países, http://www.rfid-magazine.com RFID Magazine Aspectos físicos de RFID, http://www.rfid-magazine.com RFID Magazine Tecnología RFID: Introducción, http://www.rfid-magazine.com Granollers, T. y Lorés, J. (2004): Esfuerzo de Usabilidad: un nuevo concepto para medir la usabilidad de un sistema interactivo basada en el Diseño Centrado en el Usuario. V Congreso Interacción Persona Ordenador 3 - 7 de mayo de 2004 Universitat de Lleida. Abascal J., Nicolle C. (2000). The Application of USERfit Methodology to Teach Usability Guidelines. In C. Farenc & J. Vanderdonckt (eds.) Tools for Working with Guidelines. Springer. ISBN 1-85233-355-3. pp. 209-216. EPCTM Global (2005), Radio- Frequency Identity Protocols Class-1 Generation-2 UHF RFID Conformance Requeriments. Version 1.0.2. http://www.epcglobalinc.org. Fundación Vodafone: Tecnologías de la Información y Comunicaciones y Discapacidad Dependencia y Diversidad. Instituto de Biomecánica de Valencia (2003): Carencias y oportunidades de la I+D para la Innovación en Ayudas Técnicas para las Personas con Deficiencias Visuales. En Libro Blanco I+D+I al servicio de las Personas con Discapacidad y las Personas Mayores. Valencia: IBV.
Kintsch, A. and De Paula, R. 2002. A framework for the adoption of assistive technology. In Proceedings of AAAC 2002: Supporting Learning Through Assistive Technology (June). Park, CO. E3 1--10. Kurniawan, S.; Sutcliffe, A.; Blenkhorn, P. (2003): How Blind Users' Mental Models Affect Their Perceived Usability of an Unfamiliar Screen Reader. En las Actas de Human-Computer Interaction INTERACT ‘03 Krueger, R. (1991): El grupo de discusión. Guía práctica para la investigación aplicada. Madrid, Pirámide. Nielsen, J. (1993). Usability engineering. London, UK: Academia Press Professional, Boston, MA Noguera, M., López, C., Salinas, J.: El interfaz de usuario. Universidad Illes Balears Norman, D. A. (2005): El Diseño emocional: por qué nos gustan (o no) los objetos cotidianos. Barcelona: Paidós. Remartínez, A. (2004): Tecnología y dependencia. En: Sánchez Fierro, J.: Libro Verde sobre la Dependencia en España. Fundación AstraZeneca. ISBN: 84-8473-258-4. http://usuarios.discapnet.es/disweb2000/art/LibroVerdeDependenciaEspa%C3%B1a.pdf Verdugo Alonso, Miguel A. (2003): IV La psicología de las personas con deficiencias visuales. En Verdugo Alonso, Miguel A. Personas con discapacidad. Perspectivas psicopedagógicas y rehabilitadoras. Siglo XXI de España Editores. Bauer, P., Sichitiu, M., Istepanian, R., and Premaratne, K. The mobile patient: wireless distributed sensor networks for patient monitoring and care. Information Technology Applications in Biomedicine, 2000.Proceedings.2000 IEEE EMBS International Conference on, 2000, 17-21 Bing, Jiang and Mamishev, A.Robotic monitoring of power systems. Power Delivery, IEEE Transactions on, 19[3], 912-918. 2004. Breazeal, C., Adams, B., Scassellatti, B., and Brooks, R. A. Humanoid robots: a new kind of tool. IEEE Intelligent Systems and Their Applications, 15[4], 25-31. 2000. Burns, A. Welling. Real-time systems and programming languages 2001, ed. 3rd: Addison Wesley. Calhoun, B. H., Daly, D. C., Naveen, Verma, Finchelstein, D. F., Wentzloff, D. D., Wang, A., Seong-Hwan, Cho, and Chandrakasan, A. P. Design considerations for ultra-low energy wireless microsensor nodes. Computers, IEEE Transactions on, 54[6], 727-740. 2005. Goldsmith, A. J. and Wicker, S. B. Design challenges for energy-constrained ad hoc wireless networks. Wireless Communications, IEEE [see also IEEE Personal Communications], 9[4], 8-27. 2002.
Guyomar, D., Badel, A., Lefeuvre, E., and Richard, C.Toward energy harvesting using active materials and conversion improvement by nonlinear processing. Ultrasonics, Ferroelectrics and Frequency Control, IEEE Transactions on, 52[4], 584-595. 2005. Hori, T., Nishida, Y., Aizawa, H., Murakami, S., and Mizoguchi, H. Distributed sensor network for a home for the aged. Systems, Man and Cybernetics, 2004 IEEE International Conference on, 2004, 2 , 1577-1582 Hung, K., Zhang, Y. T., and Tai, B. Wearable medical devices for tele-home healthcare Engineering in Medicine and Biology Society, 2004.EMBC 2004.Conference Proceedings.26th Annual International Conference of the, 2004, 2 , 5384-5387 Joseph, A. D. Energy harvesting projects Pervasive Computing, IEEE, 4[1], 69-71. 2005. Julian, P., Andreou, A. G., Riddle, L., Shamma, S., Goldberg, D. H., and Cauwenberghs, G. A comparative study of sound localization algorithms for energy aware sensor network nodes Circuits and Systems I: Regular Papers, IEEE Transactions on [see also Circuits and Systems I: Fundamental Theory and Applications, IEEE Transactions on], Kansal, A. and Srivastava, M. B. An environmental energy harvesting framework for sensor Networks Low Power Electronics and Design, 2003.ISLPED '03.Proceedings of the 2003 International Symposium on, 2003, 481-486 Kansal, A., Rahimi, M., Estrin, D., Kaiser, W. J., Pottie, G. J., and Srivastava, M. B. Controlled mobility for sustainable wireless sensor networks. Sensor and Ad Hoc Communications and Networks, 2004.IEEE SECON 2004.2004 First Annual IEEE Communications Society Conference on, 2004, 1-6 Park, C. and Chou, P. H. Power Utility Maximization for Multiple-Supply Systems by a Load-Matching Switch. Low Power Electronics and Design, 2004.ISLPED '04.Proceedings of the 2004 International Symposium on, 2004, 168-173 Philipose, M., Smith, J. R., Jiang, B., Mamishev, A., Sumit, Roy, and Sundara-Rajan, K. Battery-free wireless identification and sensing Pervasive Computing, IEEE, 4[1], 37-45. 2005.