Post on 26-Jun-2020
PLATAFORMA ELECTRÓNICA DE ASISTENCIA A VICTIMAS DE
VIOLENCIA DE GENERO EN ENTORNOS INDOOR
DESARROLLO DE LA HERRAMIENTA SOFTWAREBASADA EN UN SISTEMA OPERATIVO LINUX
DARIO FERNANDO CORTES TOBAR
UNIVERSIDAD DE SEVILLAESCUELA TECNICA SUPERIOR DE INGENIEROSDEPARTAMENTO DE INGENIERÍA ELECTRONICA
MÁSTER EN ELECTRÓNICA, TRATAMIENTO DE LA SEÑAL Y COMUNICACIONES
SEVILLA2009
1
PLATAFORMA ELECTRÓNICA DE ASISTENCIA A VICTIMAS DE
VIOLENCIA DE GENERO EN ENTORNOS INDOOR
DESARROLLO DE LA HERRAMIENTA SOFTWAREBASADA EN UN SISTEMA OPERATIVO LINUX
DARIO FERNANDO CORTES TOBAR
TRABAJO DE FIN DE MASTER
Director:DR. FEDERICO BARRERO GARCÍA
UNIVERSIDAD DE SEVILLAESCUELA TECNICA SUPERIOR DE INGENIEROSDEPARTAMENTO DE INGENIERÍA ELECTRONICA
MÁSTER EN ELECTRÓNICA, TRATAMIENTO DE LA SEÑAL Y COMUNICACIONES
SEVILLA2009
2
INDICE DE CONTENIDO
1. INTRODUCCION Y JUSTIFICACION..............................................................8
1.1. MARCO LEGAL.......................................................................................10
2. OBJETIVOS....................................................................................................15
2.1. OBJETIVO GENERAL.............................................................................15
2.2. OBJETIVOS ESPECIFICOS...................................................................15
3. ANALISIS PREVIO.........................................................................................16
3.1. TIC...........................................................................................................16
3.2. COMUNICACIONES INALÁMBRICAS...................................................20
3.3. POSICIONAMIENTO GPS E INDOOR...................................................25
3.4. TECNOLOGÍA OPEN HARDWARE........................................................373.4.1. Openmoko como Alternativa a Dispositivos Móviles Propietarios...39
3.5. OPEN SOFTWARE.................................................................................423.5.1. Licencia GNU...................................................................................42
3.5.2. Distribuciones GNU - LINUX............................................................43
3.5.3. Software Text to Speech..................................................................46
3.6. ARQUITECTURA DE SOFTWARE.........................................................513.6.1. Programación por capas (Niveles)...................................................52
3.6.2. Metodología de Desarrollo de Aplicaciones UML............................53
4. ANTECEDENTES Y ESTADO ACTUAL.........................................................55
4.1 DISPOSITIVOS DE MONITORIZACIÓN PARA LA LOCALIZACIÓN......554.1.1. Sistemas de contacto programado..................................................56
4.1.2. Monitorización mediante radio frecuencia.......................................58
4.1.3. Monitorización a través de GPS......................................................63
3
4.2. OTROS DISPOSITIVOS DE CONTROL A DISTANCIA.........................70
5. DESCRIPCION DEL SISTEMA INDOOR PROPUESTO...............................74
6. DESCRIPCION GENERAL DE LA APLICACIÓN...........................................84
6.1. ESPECIFICACIÓN DE REQUERIMIENTOS..........................................856.1.1. Requerimientos funcionales.............................................................85
6.1.2. Requerimientos no funcionales........................................................86
6.2. CASOS DE USO.....................................................................................866.2.1 Diagrama de Casos de Uso..............................................................87
6.2.2. Detalles de Casos de Uso................................................................89
6.3. MODELO DE DOMINIO..........................................................................91
6.4. DIAGRAMAS DE SECUENCIA PARA DESCRIPCION DE LOS CASOS DE USO..........................................................................................................93
6.5. DIAGRAMA DE CLASES........................................................................966.5.1. Patrones de Diseño..........................................................................97
6.6. DIAGRAMA DE SECUENCIA...............................................................100
6.7. PROGRAMACIÓN DEL OPENMOKO..................................................101
6.8. COMUNICACIÓN BLUETOOTH...........................................................107
6.9. FESTIVAL TTS.......................................................................................1116.9.1. Compresor / Descompresor...........................................................112
7. RESULTADOS EXPERIMENTALES.............................................................116
7.1. PRUEBAS DE DESCUBRIMIENTO BLUETOOTH...............................116
7.2. PRUEBAS DE POTENCIA BLUETOOTH.............................................124
7.3. SOFTWARE TTS Y TRANSMISION BLUETOOTH..............................125
8. CONCLUSIONES Y FUTURO TRABAJO....................................................128
REFERENCIAS BIBLIOGRÁFICAS.................................................................132
4
INDICE DE FIGURAS
Figura 1. Mujeres muertas por violencia de género en el ámbito de la pareja o
ex pareja.............................................................................................................10
Figura 2. Proceso de Información.......................................................................16
Figura 3. Sistema de ayuda HelpLink.................................................................18
Figura 4. Victor Reader Stream..........................................................................18
Figura 5. Simulador CellDesigner.......................................................................19
Figura 6. Medidor de Glucosa GL-100 y pasarela MedicGate...........................20
Figura 7. Alcance de las tecnologías inalámbricas............................................22
Figura 8. Propagación multicamino....................................................................22
Figura 9. Diferentes tipos de modulaciones digitales.........................................23
Figura 10. Modulaciones 8PSK Y 8QAM............................................................24
Figura 11. Acceso al medio FDMA, TDMA y CDMA...........................................25
Figura 12. 24 satélites de la constelación NAVSTAR.........................................26
Figura 14. Nodos ZigBee y su distribución en un espacio indoor......................29
Figura 15. Medidas de RSS vs. Modelo teórico.................................................29
Figura 16. Arquitectura clásica de un sistema RFID..........................................30
Figura 17. Estructura para posicionamiento usando RFID................................31
Figura 18. Patrón de intensidad de la señal RFID.............................................31
Figura 19. Resultados del posicionamiento RFID en una sala y un corredor....32
Figura 20. Ejemplo de localización usando laser infrarojo.................................32
Figura 21. Medidas de RSSI...............................................................................34
Figura 22. Posicionamiento mediante Transmit Power Level Bluetooth............35
Figura 23. Arquitectura de una red Bluetooth.....................................................35
Figura 24. Resultados experimentales de posicionamiento Bluetooth..............36
5
Figura 25. Sistema de posicionamiento por Ultrasonido....................................37
Figura 26. Distribución espacial de los valores de correlación para cada señal
generada por cuatro transductores de ultrasonido.............................................37
Figura 27. Bug labs y módulos...........................................................................38
Figura 28. Chumby.............................................................................................39
Figura 29. Openmoko FreeRunner.....................................................................40
Figura 30. Diagrama hardware del FreeRunner.................................................41
Figura 31. Diagrama de bloques simplificado de un conversor texto-voz.........47
Figura 32. Arquitectura de 3 niveles...................................................................52
Figura 33. Sistema de Contacto E3 ElmoTech...................................................57
Figura 34. Brazalete y transmisor de RF para arresto domiciliario....................58
Figura 35. Transmisor electrónico anclado al tobillo..........................................59
Figura 36. Brazalete y transmisor de Radio frecuencia ProTech.......................60
Figura 37. Brazalete y transmisor ElmoTech......................................................61
Figura 38. Monitoreo de Presencia ElmoTech....................................................62
Figura 39. Brazalete y transmisor de Radio frecuencia Isecuretrac..................62
Figura 40. Sistema STaR ElmoTech...................................................................65
Figura 41. Componentes Sistema STaR ElmoTech...........................................66
Figura 42. Sistema de monitorización GPS TrackerPAL....................................67
Figura 43. Sistema GPS ProTech.......................................................................68
Figura 44. Sistema GPS Isecuretrac..................................................................69
Figura 45. Sistema para Monitoreo de Alcohol...................................................71
Figura 46. Sistema Actsoft para Monitoreo de Alcohol.......................................72
Figura 47. Simulador CellDesigner.....................................................................73
Figura 48. Formato del paquete para comunicación de datos Bluetooth..........77
Figura 49. Arquitectura del sistema de localización indoor propuesto...............79
Figura 50. Diagrama de flujo entre Servidor y Receptor....................................81
Figura 51. Diagrama de flujo para el Localizador...............................................82
Figura 52. Diagrama de Casos de Uso..............................................................88
Figura 53. Modelo de Dominio............................................................................92
Figura 54. Diagrama de secuencia para CU_2..................................................94
Figura 55. Diagrama de secuencia para CU_3..................................................94
6
Figura 56. Diagrama de secuencia para CU_4..................................................95
Figura 57. Diagrama de secuencia para CU_5..................................................95
Figura 58. Diagrama de Clases..........................................................................97
Figura 59. Patrón Factory Method – Paquete Interfaz.......................................98
Figura 60. Patrón Abstract Factory – Paquete Voz............................................99
Figura 61. Patrón Bridge – Paquete Entidad......................................................99
Figura 62. Diagrama de secuencia de la aplicación.........................................100
Figura 63. Compilación cruzada en Linux........................................................105
Figura 64. Muchos dispositivos GIAC – Modo normal de descubrimiento.......117
Figura 65. Muchos dispositivos GIAC – Modo entrelazado de descubrimiento.
...........................................................................................................................117
Figura 66. Pocos dispositivos DIAC y muchos GIAC – Modo normal de
descubrimiento..................................................................................................118
Figura 67. Pocos dispositivos DIAC y muchos GIAC – Modo normal de
descubrimiento..................................................................................................119
Figura 68. Muchos dispositivos GIAC y pocos DIAC – Modo entrelazado de
descubrimiento..................................................................................................119
Figura 69. Muchos dispositivos GIAC y pocos DIAC – Modo entrelazado de
descubrimiento..................................................................................................119
Figura 70. Muchos dispositivos DIAC y pocos GIAC – Modo normal de
descubrimiento..................................................................................................120
Figura 71. Muchos dispositivos DIAC y pocos GIAC – Modo entrelazado de
descubrimiento..................................................................................................121
Figura 72. Pocos dispositivos DIAC y pocos GIAC – Modo normal de
descubrimiento..................................................................................................122
Figura 73. Pocos dispositivos DIAC y pocos GIAC – Modo normal de
descubrimiento..................................................................................................122
Figura 74. Pocos dispositivos DIAC y pocos GIAC – Modo entrelazado de
descubrimiento..................................................................................................123
Figura 75. Pocos dispositivos DIAC y pocos GIAC – Modo entrelazado de
descubrimiento..................................................................................................123
7
1. INTRODUCCION Y JUSTIFICACION
La denominada “violencia doméstica y de género” se ha convertido en
uno de los principales problemas a los que se enfrenta nuestra sociedad. No
entiende de fronteras, de clases sociales, de culturas, de etnias o de religiones
y es una clara violación de los derechos fundamentales del ser humano. Los
hechos hablan por sí solos. El Informe Mundial sobre la Violencia y la Salud,
realizado por la agencia de Naciones Unidas denominada World Health
Organization [1], constituye la principal expresión de violencia a escala mundial.
Además de las facetas conocidas de la violencia colectiva, como las guerras o
los conflictos, en el Informe se examinan otros tipos de violencia
tradicionalmente relegadas a un segundo plano, como la propia violencia de
género. En el Informe se señala que las mujeres son las que corren más
riesgos en entornos domésticos o familiares. Casi la mitad de las mujeres que
mueren por homicidio son asesinadas por sus parejas actuales o anteriores (un
porcentaje que se eleva al 70% en algunos países). Aunque es difícil obtener
cifras exactas debido a la falta de registros, según los datos disponibles, una de
cada cuatro mujeres será víctima de violencia sexual por parte de su pareja en
el curso de su vida. La mayoría de las víctimas de agresiones físicas se ven
sometidas a múltiples actos de violencia durante largos periodos.
Las tecnologías de información y comunicación, TIC, han jugado un
papel fundamental en la lucha contra la violencia de género y la violencia
doméstica. Un la última década se han desarrollado e implementado sistemas
en muchos países que velan por que se cumplan las órdenes de alejamiento
instauradas por una persona maltratada, así como también existen dispositivos
electrónicos que vigilan el cumplimiento de arrestos domiciliarios,
8
monitorización del consumo de alcohol o estupefacientes y también para
monitorear la salud de personas y enviar reportes constantes de su estado y
alertas si existe algún indicio de deterioro.
En la actualidad en muchos países se hace uso de los medios
electrónicos para intentar proteger a las mujeres que han sufrido maltrato y que
han interpuesto una orden de alejamiento sobre su agresor. Existen muchas
clases de dispositivos comerciales para rastrear al agresor y asegurarse que
este no se acerque a su víctima una distancia mínima establecida. Todos estos
dispositivos operan haciendo uso de la tecnología GPS1 y en algunos casos la
combinan con sistemas de telecomunicaciones móviles GSM o GPRS.
Estos sistemas han demostrado ser muy útiles en la lucha en contra del
maltrato, pero tienen una gran limitación y es que la tecnología GPS que se
utiliza para determinar la posición del sujeto es susceptible a fallos cuando se
trata de espacios cerrados como edificaciones o túneles y también son
susceptibles a interferencias con elementos metálicos.
Lo que se pretende con el desarrollo de este trabajo es dar una solución
tecnológica que sea capaz de superar las limitaciones de los sistemas actuales
de monitorización de personas a través de la estructura GPS en espacios
indoor2 y de esta manera asegurar la integridad de las víctimas de violencia
familiar o de género en todo momento y lugar.
La justificación para el uso de opensoftware y openhardware es buscar
la independencia de los sistemas operativos y de los fabricantes de dispositivos
móviles predominantes en el mercado y que restringen los nuevos desarrollos
sobre sus productos. La filosofía de los sistemas abiertos es liberar el código
fuente a la comunidad de programadores y diseñadores para que estos puedan
realizar modificaciones que enriquezcan y mejoren las prestaciones del
1 GPS: Global Positioning System, Sistema de Posicionamiento Global2 Indoor: Adjetivo que significa, bajo techo o dentro de una edificación
9
sistema, adaptándolo a nuevas necesidades y corrigiendo problemas.
1.1. MARCO LEGAL
La lucha contra la violencia de género se ha convertido en uno de los
principales ejes sociales de actuación en los últimos años en España. Entre las
acciones más recientes en esta dirección cabe destacar la Ley Orgánica
1/2004 contra la violencia de género. Muchos pasos se han dado en búsqueda
de soluciones, instrumentos y recursos para erradicar esta problemática. Sin
embargo, y a pesar de la acción continua del Estado en pro de erradicarla,
seguimos enfrentándonos al problema, como puede observarse del informe
sobre el tema publicado por el observatorio contra la violencia doméstica y de
género del Consejo General del Poder Judicial [2]. La sociedad, ante la
dramática realidad cotidiana de los datos y estadísticas ofrecidos por los
medios de comunicación en el tema, entiende que todo lo realizado sabe a
poco (véase [3]-[5], por citar algunas de las múltiples noticias e informes
relativos al tema).
Figura 1. Mujeres muertas por violencia de género en el ámbito de la pareja o ex pareja.
Los expertos afirman sin embargo que aunque las estadísticas son
escalofriantes, la situación está lejos de ser desesperada. «La violencia no es
10
inevitable, ni constituye un componente intrínseco de la condición humana»,
señala la Dra. Etienne Krug, Directora del Departamento de Prevención de los
Traumatismos y la Violencia del WHO. Añade que «en todo el mundo se
encuentran pruebas de que la violencia puede prevenirse con una diversidad
de medidas destinadas a los individuos, las familias y las comunidades».
Aunque algunas investigaciones apuntan hacia factores biológicos e
individuales como causa de la predisposición hacia la violencia de género, con
más frecuencia estos factores interactúan con factores familiares, sociales,
culturales y otros factores externos para crear situaciones en las que es
probable la aparición de la violencia. Entender esas situaciones y esas causas
ofrece la posibilidad de intervenir antes de que se cometan los actos violentos,
proporcionando a los responsables políticos una gran variedad de alternativas
concretas para prevenir la violencia. Entre las recomendaciones del Informe
figura la necesidad de aumentar la capacidad de recolectar datos sobre la
violencia de género para comprender los factores que la provocan. Las
estadísticas sobre el tema, tablas 1 y 2, claman por soluciones eficaces y, por
ejemplo, avisan de la necesidad de desarrollar dispositivos electrónicos de
ayuda eficaz a la protección de las víctimas [5].
Tabla 1. Órdenes de protección desde el 3er trimestre de 2005 al 2º trimestre de 2007.
11
Incoadas Resueltas: adoptadas Resueltas: denegadas PendientesAndalucía 11186 9109 1956 54
Aragón 1701 1435 263 3Asturias 1426 954 459 0Baleares 2132 1533 501 64Canarias 5853 4365 1388 0Cantabria 734 561 171 0
Castilla y León 2820 2281 501 33Csatilla-La mancha 2917 2478 416 23
Cataluña 12359 8592 3516 122Valencia 8912 7184 1579 34
Extremadura 1312 901 374 21Galicia 2816 2230 543 43Madrid 10410 7104 3168 134Murcia 3456 2840 563 0Navarra 690 568 120 2
Paía Vasco 2269 1513 708 45La Rioja 388 346 42 0Nacional 71381 53994 16268 578
Tabla 2. Estadísticas de incumplimiento de medidas acordadas durante el 1er trimestre de 2007.
Los requisitos para hacer parte del programa están recogidos en la
Instrucción 13/2006 de Instituciones Penitenciarias que, aunque sigue
manteniendo unos criterios rigurosos de selección de los internos, flexibiliza los
exigidos en la Instrucción anterior derogada (13/2001), a través de dos
importantes novedades: en primer lugar, ya no se exige ninguna limitación en
función del tipo de delito, es decir no hay exclusión por alarma social, y
segundo, se puede aplicar desde la primera clasificación inicial en tercer
grado3. Por tanto, es necesario:
a.- Haber obtenido una valoración positiva en las diferentes evaluaciones
relativas al cumplimiento de los objetivos de su programa individualizado de
tratamiento.
b.- Existencia de factores que favorezcan una integración socio-laboral.
c.- Existencia de un pronóstico favorable de reinserción social.
Pilar Otero González en su ensayo sobre Monitorización electrónica en
el ámbito penitenciario [6] afirma que si estos medios técnicos facilitan
3 Los penados en 3er grado son aquellos que cumplen su condena fuera de los recintos penitenciarios y por ello deben estar siempre bajo supervisión del funcionario mediante monitorización electrónica.
12
Penal Civil QuebrantamientosAndalucía 163 40 143
Aragón 11 3 15Asturias 5 2 17Baleares 27 7 26Canarias 47 4 77Cantabria 4 7 7
Castilla y León 28 3 38Csatilla-La mancha 10 0 18
Cataluña 74 3 202Valencia 61 0 91
Extremadura 7 0 11Galicia 7 2 21Madrid 189 21 70Murcia 10 0 17Navarra 17 0 6
Paía Vasco 35 3 67La Rioja 21 3 9Nacional 716 98 835
cualquier alternativa a la prisión, por sí mismos no tienen, en principio, que
constituir ningún problema. La vigilancia electrónica es un instrumento que
puede ayudar a ejecutar de forma más cómoda, más barata y más efectiva el
cumplimiento de determinadas penas. Evidentemente, el sistema telemático
que se está aplicando en tercer grado conlleva una apreciable reducción de
gastos: el brazalete electrónico cuesta 4,20 € por interno al día, frente a 52,51 €
que cuesta cada recluso al Estado diariamente.
Ante este panorama, se puede constatar que la utilización de estos
instrumentos reduce de forma considerable los gastos que reporta el
mantenimiento del sistema penitenciario y, en segundo lugar, el uso no abusivo
de estas tecnologías que ayuda a evitar el desarraigo del interno es, sin duda,
menos aflictivo para el penado que el ingreso en prisión. En este sentido, es
significativo que la gran mayoría de los internos a quienes se ha propuesto
estos medios de control lo han aceptado sin reservas. Y en la medida en que el
derecho a la intimidad, posiblemente afectado, es consentido libremente y
válidamente emitido por parte del penado, despeja cualquier duda de
constitucionalidad al respecto.
Este sistema telemático puede suponer potencialmente una gran
intromisión en la intimidad del penado. No obstante, el protocolo de actuación
preserva claramente la finalidad para la que fue creado, de forma que sólo se
vigila el movimiento del agresor cuando salta la alarma, bien por traspasar la
zona blindada de exclusión o bien por prealertas, por ejemplo por intento de
manipulación del aparato. Igualmente, el aparato llevado por la víctima puede
incidir en la revictimización y supone, en cierto modo, una limitación de su
intimidad en la medida en que sus movimientos están sometidos al control de
terceras personas. No obstante, esta medida compensa la necesaria seguridad
con que cuenta la persona que ha sido agredida y, por otro lado, contribuye a
sustituir el sistema de protección consistente en “esconder” a la víctima en
centros de acogida, alejándola a ella y a sus hijos del entorno donde se
desarrolla su vida.
13
Sin embargo, la monitorización eñectrónica presenta problemas, pues si
la víctima y el inculpado trabajan en el mismo lugar, la medida ¿puede impedir
al inculpado continuar trabajando? El debate está en pie ante la falta de
desarrollo reglamentario. Por ejemplo, en dos casos en que agresor y víctima
vivían próximos, los agresores cambiaron de domicilio, pero si coinciden en el
mismo trabajo es más complicado [7]. En un caso de coincidencia del centro de
trabajo se previno al agresor a no acercarse a la cafetería y posteriormente él
mismo pidió traslado a otra oficina de la misma empresa. De hecho, es factible
el cambio si se trata de una gran empresa con filiales en otra provincia, pero si
no, la solución es ciertamente difícil. A pesar de ello no hay que olvidar que la
LO de Protección Integral Contra la Violencia de Género, en su artículo 21.1
prevé el derecho de la trabajadora víctima de violencia de género, en los
términos previstos en el Estatuto de los Trabajadores, a la reducción o a la
reordenación de su tiempo de trabajo, a la movilidad geográfica, al cambio de
centro de trabajo, a la suspensión de la relación laboral con reserva de puesto
de trabajo y a la extinción del contrato de trabajo.
Debido a esta carencia, es difícil encontrar el ajuste legal que permite
imponer estos brazaletes electrónicos como medio de control de la medida
cautelar dado que el artículo 48.4 del CP lo prevé exclusivamente para reforzar
el cumplimiento de la pena de alejamiento. Sin embargo, en los casos de
violencia de género, el art. 64.3 prevé específicamente la posibilidad de usar
dispositivos electrónicos para vigilar la observancia de la orden de alejamiento:
“Podrá acordarse la utilización de instrumentos con la tecnología adecuada
para verificar de inmediato su incumplimiento”.
14
2. OBJETIVOS
2.1. OBJETIVO GENERAL
Desarrollar una aplicación software para el dispositivo móvil Openmoko
basada en herramientas de software libre que sea capaz de interactuar con
otros dispositivos de un sistema de monitorización indoor.
2.2. OBJETIVOS ESPECIFICOS
Definir la especificación de requerimientos y de diseño para demarcar las características funcionales y técnicas de la aplicación.
Identificar las características técnicas y el método de programación del dispositivo Openmoko.
Estudiar las características del protocolo Bluetooth y la forma de localizar dispositivos dentro de un rango de cobertura y enviar datos a los mismos.
Desarrollar una estructura para la comunicación de datos entre dispositivos y la reproducción de audio en el dispositivo móvil.
15
3. ANALISIS PREVIO
3.1. TIC
Ya en en1986, en [8] se define a las TIC como el conjunto de tecnologías
que permiten la adquisición, producción, almacenamiento, tratamiento,
comunicación, registro y presentación de informaciones, en forma de voz,
imágenes y datos contenidos en señales de naturaleza acústica, óptica o
electromagnética.
Figura 2. Proceso de Información.
FUENTE: Formación de técnicos e investigadores en tecnologías de la información. [8]
El objetivo de las TIC es mejorar de la calidad de vida de las personas
dentro de un entorno, y que se integran a un sistema de información
interconectado y complementario. Se fundamentan en la electrónica como
tecnología base que soporta el desarrollo de las telecomunicaciones, la
informática y el audiovisual.
16
En resumen, las tecnologías de la Información y Comunicación son
aquellas herramientas computacionales e informáticas que permiten procesar,
almacenar, sintetizar, recuperar y presentar información que se encuentra en
diferentes formatos, entre ellas podemos destacar las PDA’s, ordenadores,
teléfonos móviles y la más relevante de ellas en la última década: Internet.
Las aplicaciones o programas multimedia han sido desarrollados como
una interfaz amigable y sencilla de comunicación, para facilitar el acceso de los
usuarios a las TICs. Una de las características más importantes de estos
entornos es "la posibilidad de interactuar con el dispositivo tecnológico, a
diferencia de las tecnologías más clásicas (TV, radio) que permiten una
comunicación unidireccional, de un emisor único a un grupo de receptores
pasivos. En el caso de las TIC, por ejemplo un ordenador interconectado
mediante las redes digitales de comunicación, o un teléfono móvil, la
comunicación es bidireccional o multidireccional. El usuario de las TICs es por
tanto, un sujeto activo que envía sus propios mensajes y, lo más importante,
toma las decisiones sobre el proceso a seguir: secuencia, ritmo, código, etc.
Existen innumerables ejemplos de como las TIC estan mejorando la
calidad de vida de las personas. La de mayor difusión en la última década es la
Internet que ha logrado que toda la información del mundo esté al alcance de
un click, los telefonos móviles son otra de las TIC's de mayor influencia en la
actualidad, las líneas móviles han superado en número, y por mucho, a las
líneas telefónicas tradicionales y existen teléfonos móviles para todos los
gustos y necesidades. A contunuación se mencionan algunas TIC's que tienen
como objetivo mejorar la calidad de vida de las personas.
Help Link
Es un dispositivo diseñado para ayudar a los adultos mayores que viven
de forma independiente.
17
En el caso de una caída o una emergencia médica, la ayuda está
disponible con sólo pulsar un botón, 24 horas al día sin tener que llegar a un
teléfono. Al pulsar el botón de ayuda de inmediato es comunicado con un
especialista de su servicio de salud que puede enviar ayuda inmediátamente.
Además del terminal de sobremesa (figura 3) se le entrega al paciente
un dispositivo silmilar pero de menores dimensiones para ser usado como
pulsera, colgador o cinturón. [9]
Figura 3. Sistema de ayuda HelpLink
TVB-001 Victor Reader Stream
Este dispositivo de ayuda a discapacitados visuales es capaz de leer
libros DAISY XML (Digital Accesible Information System), estándar
mundialmente aceptado para leer y publicar contenido multimedia navegable,
libros en formatos HTML y TXT, música en formato MP3 y otros materiales
como los libros de AUDIBLE, una biblioteca de pago.
Figura 4. Victor Reader Stream
18
También se ha presentado la versión más nueva del DAISY Pipeline, una
suite de conversión gratuita que permite convertir DAISY XML a formato DAISY
Digital Talking Book (DTB). Juntas, estas tecnologías ofrecen una solución
completa para convertir los documentos de texto en formatos accesibles para
las personas invidentes o con problemas de lectura. [10]
Software educativo on-line
Existe gran variedad de websites que ofrecen contenidos educativos,
muchos de ellos promovidos por los estamentos gubernamentales o por las
instituciones educativas con el fin de brindar diferentes opciones de enseñanza
alternativa a las tradicionales y fomentar un mejor uso de la Internet. Estos
sitios ofrecen contenidos interactivos para grados de escolaridad de primaria y
secundaria de acceso gratuito y con información certificada por fuentes
oficiales.
Un ejemplo de estos websites es CellDesigner, un asistente para crear
diagramas de redes genéticas y bioquímicas. Las redes pueden enlazar a
simulaciones y a otros paquetes de análisis a través del banco de trabajo. Las
redes se dibujan basándose en el sistema gráfico de la notación propuesto por
Gitano y usan Systems Biology Markup Language (SBML). Con CellDesigner
permite ver y modificar modelos existentes de SBML, simular y ver la dinámica
a través de una interfaz gráfica intuitiva. [11]
Figura 5. Simulador CellDesigner
19
Wireless Glucose Meter
El medidor inalámbrico GL-100 está diseñado para la monitorización de
los niveles de glucosa en la sangre como una herramienta de control eficaz de
la diabetes.
Muestra el nivel de glucosa en la sangre y simultáneamente transmite de
forma inalámbrica los datos de las mediciones a un centro de monitoreo por
medio del dispositivo MedicGate. [12]
Figura 6. Medidor de Glucosa GL-100 y pasarela MedicGate
El MedicGate es un recolector de signos vitales que funciona como
puerta de enlace entre el paciente y un centro de comunicación. MedicGate se
comunica de forma inalámbrica con los dispositivos de control médico, lo que
permite ubicarlos en cualquier lugar en el domicilio del usuario dentro de un
rango de 200 metros. MedicGate puede ser fácilmente actualizado y
configurado de forma remota desde el centro de monitoreo.
3.2. COMUNICACIONES INALÁMBRICAS
Las comunicaciones inalámbricas se caracterizan por el empleo del aire
y las ondas de radio como soporte de la comunicación. A diferencia de lo que
ocurre con las comunicaciones cableadas, las primeras no requieren un medio
físico como cable de cobre o fibra óptica para el establecimiento de la
comunicación.
20
La más popular de las comunicaciones móviles y la que mayor
penetración ha tenido en el público es la telefonia móvil, que en la última
década a superado por mucho el número de usuarios en comparación con la
telefonía fija. Pero esta no es la única de las comunicaciones inalámbricas que
ha tenido una gran acogida, el IEEE 802.11, más conocido como Wi-Fi permite
crear redes corporativas locales a bajo costo que permiten que sus usarios se
conecten dónde lo necesiten. Existen tambien las redes WPAN (Redes
personales inalámbricas) que permiten conectar dispositivos que el usuario
lleva en el bolsillo sin necesidad de cables, como el teléfono móvil con una PDA
por medio del Bluetooth.
Finalmente, existe una marcada tendencia a introducir las tecnologías
inalámbricas en entornos industriales para aplicaciones de telecontrol y
monitorización mediante estándares ZigBee, UWB o RFID. [13]
Las ventajas que poseen las redes inalámbricas son:
● Flexibilidad: Dentro de la zona de cobertura, los nodos se podrán
comunicar libremente sin necesidad de un cable.
● Menor planificación: Con las redes cableadas se debe planificar la
distribución física de los equipos, mientras que con una red inalámbrica
solo debemos preocuparnos de estar dentro de la cobertura de la red.
● Robustez frente a percances: Ante eventos inesperados, como tropiezos
con el cable, las redes inalámbricas pueden sobrevivir mejor a estos.
Pero las redes inalámbricas también presentan algunos inconvenientes:
● Calidad del servicio: Las redes cableadas ofrecen una mejor calidad de
servicio que las inalámbricas. De igual manera, las redes cableadas
tienen una tasa de error debido a interferencias menor en 6 órdenes de
magnitud con respecto a las inalámbricas.
● Seguridad: Se debe tener precaución con la suplantación de identidad,
conexiones no permitidas y el robo de datos, asi como también con no
interferir con otras redes de comunicación como la de la policia,
21
bomberos, hospitales, etc.
El ejemplo más representativo de las primeras redes inalámbricas es el
de la recepción de televisión, en el que un satélite en órbita alrededor de la
tierra enlaza estaciones terrenas. Sin embargo a medida que la tecnología y los
usuarios fueron demandando nuevos servicios, se hicieron necesarias redes
con mayor ancho de banda y capacidad bidireccional, así surgieron las redes
de telefonía móvil que ofrecían comunicación de voz (GSM) y, tras la explosión
de internet, también permite la comunicación móvil de datos (UMTS).
Figura 7. Alcance de las tecnologías inalámbricas [13]
La propagación de las ondas de radio se ve afectada por los fenómenos
de reflexión y difracción. El resultado es que la señal se atenua y al receptor
llegan versiones retardadas de la señal original. Esto se conoce como
propagación multicamino.
Figura 8. Propagación multicamino [13]
22
El efecto de la propagación multicamino es que la señal sufre un
ensanchamiento temporal que depende del camino que sigan la señal principal
y sus reflexoines y refracciones. Esa diferencia de caminos dará lugar a
retardos distintos y, en general, pequeños, pero a medida que la tasa binaria de
la información aumenta puede llegar a producir errores en la transmisión.
Un canal de comunicaciones presenta características espectrales que
determinan las frecuencias útiles y el ancho de banda disponible. Puede ocurrir
que las características de la información a transmitir no sean las idóneas para
que se envíen por el canal de comunicaciones, por eso es necesario someter a
la señal de información a un proceso de modulación que le confiera ciertas
propiedades y que la adapte a las características del canal. [13]
De manera genérica, una señal viene definida por su amplitud,
frecuencia y fase, de tal manera que podemos encontrar modulaciones en cada
uno de estos parámetros o modulaciones híbridas. Sin embargo, cuanto mayor
es la complejidad del esquema de modulación, mayor relación señal-ruido
(SNR) y mayor sensibilidad exige del receptor y por tanto, menor es el alcance.
Figura 9. Diferentes tipos de modulaciones digitales
La mas sencilla de las modulaciones es ASK, que consiste en variar la
amplitud de la portadora; este tipo de modulación es muy sensible a la
atenuación y a las interferencias. FSK es una modulación en frecuencia que
23
soluciona el problema de la vulnerabilidad frente a la atenuación a costa de
usar un mayor ancho de banda, por lo que es de bajo rendimiento.
PSK es una modulación digital en fase que no es muy utilizada pero de
la cual se han derivado otros esquemas de modulación más complejos y
difundidos como el BPSK, QPSK, 8PSK o el 8QAM.
Figura 10. Modulaciones 8PSK Y 8QAM
Otro de los aspectos importantes en las comunicaciones inalámbricas es
el acceso al medio, cuyo objetivo es evitar que las informaciones de los
usuarios interfieran entre sí.
La primera de estas técnicas fue FDMA, en la cual el ancho de banda
del canal se divide en porciones menores de ancho de banda y se asigna cada
porción a un usuario para su uso exclusivo durante todo el tiempo. Para
optimizar el uso del canal apareció TDMA, con el cual el ancho de banda se
asigna completamente a cada usuario durante ciertas ranuras de tiempo. La
técnica más empleada en comunicaciones inalámbricas es CDMA, en la que a
cada usuario se le asigna un código binario distinto de manera que todos los
usuarios pueden ocupar la misma banda y, para identificar la señal procedente
de cada uno se realiza una correlación con su código, tras la que se obtendrá
la señal deseada.
24
Figura 11. Acceso al medio FDMA, TDMA y CDMA
3.3. POSICIONAMIENTO GPS E INDOOR
GPS es un sistema de posicionamiento basado en satélites desarrollado
y controlado por el Departamento de Defensa de EE.UU. que permite a
cualquier usuario saber su localización, velocidad y altura, las 24 horas del día,
bajo cualquier condición atmosférica y en cualquier punto del globo terrestre
con una presición de unos pocos metros.
Su funcionamiento se basa en una red de satélites formada por 24
unidades en órbita terrestre aproximadamente a 20200 km, distribuidos en 6
planos orbitales. Estos planos están separados entre sí por aproximadamente
60o en longitud y tienen inclinaciones próximas a los 55o en relación al plano
ecuatorial terrestre. Cada satélite circunvala la tierra dos veces cada 24 hora.
Por encima del horizonte siempre están visibles para los receptores GPS por lo
menos 4 satélites, de forma tal que puedan operar correctamente desde
cualquier punto de la Tierra donde se encuentren situados.
25
Figura 12. 24 satélites de la constelación NAVSTAR.
Para situar una posición, el GPS se basa en la triangulación,
determinando la posición exacta de un punto al conocer las distancias de este
a otros tres puntos de referencia. Sabiendo la distancia que nos separa de 3
puntos podemos determinar nuestra posición relativa a esos mismos puntos a
través de la intersección de 3 circunferencias cuyos radios son las distancias
medidas entre el receptor y los satélites.
Figura 13. Triangulación usando satélites.
La posición que ocupan los satélites en sus respectivas órbitas facilita
que el receptor GPS reciba, de forma constante y simultánea, las señales de
por lo menos 6 u 8 de ellos, independientemente del sitio donde nos
encontremos situados. Mientras más señales capte el receptor GPS, más
precisión tendrá para determinar las coordenadas donde se encuentra ubicado.
26
El receptor GPS funciona midiendo su distancia a los satélites, y usa esa
información para calcular su posición. Esta distancia se mide calculando el
tiempo que la señal tarda en llegar al receptor. Conocido ese tiempo y
basándose en el hecho de que la señal viaja a la velocidad de la luz (salvo
algunas correcciones que se aplican), se puede calcular la distancia entre el
receptor y el satélite.
Cada satélite indica que el receptor se encuentra en un punto en la
superficie de la esfera, con centro en el propio satélite y de radio la distancia
total hasta el receptor. Obteniendo información de dos satélites se nos indica
que el receptor se encuentra sobre la circunferencia que resulta cuando se
intersectan las dos esferas. Si adquirimos la misma información de un tercer
satélite notamos que la nueva esfera solo corta la circunferencia anterior en
dos puntos. Uno de ellos se puede descartar porque ofrece una posición
absurda. De esta manera ya tendríamos la posición en 3-D. Sin embargo, dado
que el reloj que incorporan los receptores GPS no está sincronizado con los
relojes atómicos de los satélites GPS, los dos puntos determinados no son
precisos.
Teniendo información de un cuarto satélite, eliminamos el inconveniente
de la falta de sincronización entre los relojes de los receptores GPS y los
relojes de los satélites. Y es en este momento cuando el receptor GPS puede
determinar una posición 3-D exacta (latitud, longitud y altitud). Al no estar
sincronizados los relojes entre el receptor y los satélites, la intersección de las
cuatro esferas con centro en estos satélites es un pequeño volumen en lugar
de ser un punto. La corrección consiste en ajustar la hora del receptor de tal
forma que este volumen se transforme en un punto. [14]
Algunas características del sistema GPS son:
● Satélites en la constelación: 24 (4 x 6 órbitas)• Altitud: 20.200 km• Período: 11 h 56 min
27
• Inclinación: 55 grados (respecto al ecuador terrestre). • Vida útil: 7,5 años
● Segmento de control (estaciones terrestres) • Estación principal: 1 • Antena de tierra: 4 • Estación monitora (de seguimiento): 5
● Señal RF • Frecuencia portadora:
Civil 1575,42 MHz (L1). Militar 1227,60 MHz (L2).
• Nivel de potencia de la señal: -160 dBW (en superficie tierra)
● Exactitud • Posición: aproximadamente 15 m• Hora: 1 ns
● Sistema de coordenadas: • Sistema Geodésico Mundial 1984 (WGS84) • Centrado en la Tierra, fijo.
Para el posicionamiento indoor se emplea el mismo principio de la
triangulación, pero en este caso se usan tecnologias de comunicaciones RF,
infrarojos, Zigbee, ultrasonido o Bluetooth. Debido a las diferentes limitaciones
de cada una de estas tecnologias, la efectividad del posicionamiento es
proporcional al número de sensores existentes y es común encontrar sistemas
que combinen 2 tecnologias wireless.
Posicionamiento Indoor mediante ZigBee
Varios modelos de posicionamiento usando tecnologia Zigbee ([15][16])
consisten en la ubicación de varios nodos fijos a modo de faros que transmiten
su posición hacia un dispositivo móvil. El dispositivo móvil es un dispositivo
FFD (Full Function Device), que se programa como un coordinador ZigBee. Al
iniciar, el dispositivo móvil transmite una señal para que los nodos fijos puedan
detectarlo. El móvil es responsable de transmitir el nivel de potencia recibido de
la señal de radio (RSS) a la aplicación de software que ejecuta un algoritmo de
ubicación con el fin de determinar la posición del móvil.
28
Para la operación del sistema, es necesario definir las coordenadas del
mismo y la posición de los nodos fijos (estaciones base). Se adopta un sistema
2D, suponiendo que todos los nodos están a la misma altura. Conociendo la
posición de al menos tres nodos fijos y sus distancias con el dispositivo móvil
es posible calcular las coordenadas (x, y) en las que el dispositivo móvil se
encuentra. En [16] implementan el algoritmo triangular dinámico (DTN) que es
muy adecuado para entornos pequeños, con un máximo de error de 2 metros.
Además, su baja complejidad permite reducir los tiempos de procesamiento.
Figura 14. Nodos ZigBee y su distribución en un espacio indoor.
Los resultados de la medición de RSS se muestran en la figura 15.
Figura 15. Medidas de RSS vs. Modelo teórico.
Es importante señalar que la caracterización de la señal es crucial para
garantizar un buen rendimiento por el modelo de propagación. Cuanto más
29
valores de la RSS se recogen más preciso será el modelo. Por otra parte, se
puede demostrar que con un número relativamente pequeño de los valores
recogidos es posible desarrollar un sistema flexible y eficaz, con errores de
0,25 a 2,5 metros.
En ambiente más grandes las redes pueden tener miles de dispositivos
asociados a ellos, reduciendo las distancias entre de los dispositivos, esto
debido al bajo costo y bajo consumo de energía de los dispositivos ZigBee.
Posicionamiento Indoor mediante Tags RFID
La estructura de un sistema de posicionamiento indoor usando Tags
RFID es muy similar a la empleada con tecnología ZigBee, con la diferencia de
que el alcance de los Tags RFID es mucho menor, pero su costo tambien es
significativamente más bajo, lo que permite ubicar un número mucho mayor de
Tags en el espacio que estamos demarcando.
El sistema consta basicamente de un gran número de Tags RFID cuya
posición conocemos, un dispositivo móvil capaz de detectar los Tags y enviar
esa información a un dispositivo central de procesamiento que contiene la base
de datos con la posición de todos los Tags y que desarrolla los algoritmos
necesarios para determinar la posición del dispositivo móvil.
Figura 16. Arquitectura clásica de un sistema RFID.
30
En el esquema propuesto en [17] se llena un espacio cerrado con Tags
RFID asociadas a puntos de referencia y se dispone de una estación base
(radar) con antena omni-direccional.
Figura 17. Estructura para posicionamiento usando RFID. [17]
Para el caso anterior, la estación base es fija y no existe ninguna
interferencia entre las etiquetas RFID y el radar, por lo que la localización de
cada Tag es muy precisa. Pero cuando necesitamos que el dispositivo que
localiza los Tags esté en movimiento [18] y la ruta tenga interferencias como
muros o esquinas, vemos que el resultado del posicionamiento es bastante
pobre.
Figura 18. Patrón de intensidad de la señal RFID. [17]
Los resultados mostrados en [18] para una ruta variable nos dan un
porcentaje de error de cerca del 50% en salas amplias y solo tiene una
31
precisión aceptable en corredores estrechos.
Figura 19. Resultados del posicionamiento RFID en una sala y un corredor. [18]
Posicionamiento Indoor mediante Infrarojo
Un diagrama conceptual propuesto en [19] de seguimiento de un usuario
en una sala mediante el uso de rayos infrarrojos se ilustra en la figura 20. Los
componentes del sistema de seguimiento diseñado constará de tres unidades
transmisoras (cada uno con ocho emisores de infrarrojos, IRED), que se
montan en tres diferentes esquinas de la habitación, y un receptor portado por
el usuario. Los transmisores de pared son independientes uno de otro. El
usuario de la unidad móvil consta de sensores de infrarrojos que actúan como
receptores.
La posición de un usuario de la sala se obtiene con el siguiente
procedimiento:
Figura 20. Ejemplo de localización usando laser infrarojo. [19]
32
Los transmisores de la pared envian rayos infrarrojos codificados. Si hay
una persona en la habitación, el hardware receptor del usuario recibirá la señal.
La información recibida es descodificada y comunicada a la PC. Códigos
recibido a intervalos de tiempo de 2.50111s son utilizados para calcular la
posición del usuario, que se realiza mediante Matlab. La posición del usuario se
obtiene de calcular los puntos de intersección de haces de diferentes
transmisores. Una Interfaz gráfica de usuario (GUI) de Matlab se utiliza para
mostrar de la persona posición tanto en 2D y 3D.
El posicionamiento mediante infrarojos es poco fiable por que la
comunicación con infrarrojos es muy suceptible a degradarse debido a rebotes
en las paredes o a cortarse si un obstáculo se interpone (Si pasa una persona
por ejemplo) y el alcance máximo de este tipo de sensores no supera los 2
metros.
En [20] se propone otro método de posicionamiento usando Infrarojo
mediante la medición de los ángulos de incidencia del haz de luz entre el
receptor móvil y una serie de transmisores fijos.
Posicionamiento Indoor mediante Bluetooth
Bluetooth a demostrado ser el mejor sistema para posicionamiento
indoor, esto debido principalmente a su mayor rango de alcance y distorción
casi nula frente a obstáculos físicos como paredes o personas. Además,
existen diferentes métodos para determinar la posición de un receptor móvil
que hacen de los sistemas bluetooh los más precisos de los estudiados.
Algunos métodos para determinar la posición usando bluetooth son:
a- Tiempo de Respuesta (TOA): Este método consiste en medir el tiempo
que tarda una señal Bluetooth en viajar desde el emisor hasta el receptor y
33
retornar y con este tiempo, dividido entre la velocidad de la onda, obtenemos la
distancia a la que se encuentra el receptor.
El inconveniente con este método es que la velocidad de la onda emitida
por el transmisor bluetooth es muy alta y significaría velocidades de
procesamiento del orden de los MHz, además en el proceso de envío, captura
y procesamiento de la señal se introducen retrazos del orden de los
milisegundos lo cual nos provoca mediciones muy poco precisas.
b- RSSI: Es una medida de la potencia con que la señal es recibida. El
inconveniente con este parámetro es que dispositivo entrega valores positivos
o negativos dependiendo de si esta por encima o por debajo del llamado
“Golden Range”, lo que significa que está muy cerca o muy lejos del rango
respectivamente. Si el dispositivo está dentro del Golden Range, el valor de
respuesta es cero, pero ese Golden Range es muy amplio y nos entrega la
misma respuesta tanto a 5 metros como a 40 metros.
Figura 21. Medidas de RSSI
c- Transmit Power Level: Es un parámetro de potencia con que la señal
bluetooth es transmitida. Este se puede variar de modo que se crean zonas a
34
manera de anillos a los cuales tiene alcance el transmisor. Cuando un
tranmisor y un receptor establecen comunicación, podemos saber a que
distancia se encuentra porque conocemos la potencia del transmisor y por
tanto el radio del anillo.
Figura 22. Posicionamiento mediante Transmit Power Level Bluetooth
Al igual que con los sistemas indoor anteriores, la arquitectura del
sistema consta de varios transmisores bluetooth fijos, distribuidos en todo el
espacio donde queremos posicionar y cuya ubicación conocemos, estos
transmisores referencia estan comunicados con un equipo central que contiene
la base de datos de la posición de todos los transmisores y realiza las
operaciones necesarias para determinar la posición del dispositivo móvil.
Figura 23. Arquitectura de una red Bluetooth [21]
Un sistema comercial de posicionamiento mediante Bluetooth es el BIPS
[21], en el cual los nodos transmisores crean una piconet y se comunican entre
ellos y con el servidor central mediante conexión ethernet.
35
En [22] se muestran los resultados de pruebas realizadas con un
sistema como el mencionado y podemos observar que los resultados son
considerablemente mejores que con otras tecnologias wireless y con un mayor
alcance.
Figura 24. Resultados experimentales de posicionamiento Bluetooth [22]
Posicionamiento Indoor mediante Ultrasonido
Esta tecnología es quizás una de las menos estudiadas para realizar
posicionamiento indoor. Una de las razones puede ser el factor salud, ya que
no sabemos como una transmisión constante de ultrasonido pueda afectar la
salud humana.
Los sistemas que utilizan ondas de ultrasonido tienen la ventaja de que
puede construirse a bajo costo y precisión relativamente alta, sin embargo, se
dice que estos sistemas son débiles frente a los ruidos y son más lentos. Para
alcanzar la arquitectura del sistema práctico a bajo costo, en [23] llevan a cabo
experimentos con la utilización de transductores de ancho de banda estrecha y
características direccionales. De los experimentos, se ha obtenido que la
distancia entre un emisor y un receptor se puede medir en una gran precisión
mediante el uso de transductores de ancho de banda estrecha.
36
Por otra parte, debido a la utilización de ondas ultrasónicas con
características uni-direccionales la precisión de posicionamiento puede ser
reducida. Sin embargo, es difícil encontrar investigaciones sobre el error de
posicionamiento debido a la influencia de la variación de la intensidad de la
señal y a las características direccionales.
Figura 25. Sistema de posicionamiento por Ultrasonido [23]
Figura 26. Distribución espacial de los valores de correlación para cada señal generada por cuatro transductores de ultrasonido [23]
3.4. TECNOLOGÍA OPEN HARDWARE
En el último lustro han visto la luz varios proyectos tecnológicos con
filosofía Open Source, similar a los principios del software libre. A pesar de que
tienen una historia muy reciente y una menor difusión que el software libre, los
proyectos open hardware se han venido consolidando y puede acabar jugando
un papel relevante en un futuro inmediato.
37
Los diseños del hardware quedan disponibles para ser modificados por
la comunidad, o para construir nuevos dispositivos basados en ellos. En
algunos casos hay verdaderos fabricantes que proporcionan dispositivos
completos o componentes básicos para construirlos, en otros, la fabricación
queda en manos de los usuarios finales, pero en todos, el software que
controla el dispositivo está abierto y puede ser cargado y adaptado libremente.
Bug Labs
Bug Labs ofrece una línea de dispositivos que se ensamblan entre sí
como un juego de construcción para convertirse en aparatos más sofisticados.
[24]
El producto está orientado inicialmente a diseñadores que pueden usar
los componentes para desarrollar sus ideas. Entre los componentes
desarrollados se encuentran sensores, pantalla táctil LCD, receptor GPS,
conexión WiFi, reproductor de audio o detector de movimiento y acelerómetro.
El fabricante ofrece un entorno de desarrollo del software de control además de
una serie de esquemas con funciones ya desarrolladas que los usuarios
pueden instalar directamente o modificar.
Figura 27. Bug labs y módulos
38
Chumby
El Chumby ha sido diseñado para ejecutar pequeñas aplicaciones Flash
(a las que la compañía prefiere llamar "widgets") capaces de cumplir una
amplia gama de funciones, como reproducir música, mirar las noticias vía RSS
y mostrar tus fotos favoritas. [25]
Es un miniordenador con pantalla táctil, conectividad Wi-Fi y funcionando
bajo Linux, con sensores de presión a su alrededor cuya modularidad reside en
la capacidad de modificar su funcionamiento. Y, ¿para qué sirve? Pues eso lo
determina cada usuario. Existen una gran variedad de widgets que podremos
instalar y que nos permitirán configurar el Chumby como un completo
reproductor multimedia.
Dado que el hardware es abierto, circulan diseños de usuarios para
mejorar las prestaciones del equipo.
Figura 28. Chumby
3.4.1. Openmoko como Alternativa a Dispositivos Móviles Propietarios
Openmoko es un proyecto de Código Abierto creado por la compañía
First International Computer, Inc con el fin de poner en marcha el primer
sistema operativo libre para teléfonos móviles a nivel mundial.
El proyecto Openmoko permite a los usuarios y a los desarrolladores
39
modificar el software para realizar ligeros cambios estéticos, cambiar el fondo
de pantalla o reprogramar desde cero el dispositivo, así como transformar el
hardware de los móviles. El proyecto no solo libera el software sino que
además facilita los archivos CAD bajo licencia Creative Commons y se ha
anunciado la publicación de los esquemas internos de los dispositivos
Openmoko. [26]
Existen muchos sistemas operativos para dispositivos móviles, de
manera similar a lo que ocurre con los sistemas operativos para PC’s, entre los
más populares podemos contar a Symbian y Windows Mobile, pero sólo
Openmoko es una verdadera conversión de Linux de escritorio en Linux móvil,
con el plus de que incluso la plataforma de hardware es tan abierta como la
plataforma de software.
Figura 29. Openmoko FreeRunner
Por qué Openmoko es la mejor opción open-source?
Openmoko está construido a partir de código abierto, es una colección
de programas de código abierto para construir una plataforma de desarrollo
móvil.
Aunque el proyecto está en su infancia, ya existe una extensa
40
comunidad de desarrolladores. Aparte de esto, todos los componentes
utilizados en la construcción de Openmoko tienen sus propias comunidades,
razón por la cual siempre se podrá contar con la ayuda de alguien de la
comunidad de desarrolladores, además, Openmoko tiene un conjunto muy rico
de API’s, de las cuales unas han sido desarrolladas exclusivamente para
Openmoko, mientras que los otras son derivadas de otros proyectos.
La razón por la cual se ha escogido el dispositivo Neo FreeRunner es la
facilidad que nos brinda para manipular a nuestro antojo tanto el software como
el hardware y de esa manera crear diferentes aplicaciones o aprovechar las
creadas por la comunidad Openmoko y que hagan uso de los dispositivos
GSM/GPRS, WLAN, Bluetooth, acelerómetro y los dispositivos de audio o
video. Esta libertad está garantizada al usar una distribución Linux como
sistema operativo y usar componentes con drivers de código abierto, así como
poner a disposición del público los esquemas de los circuitos y los CAD de los
componentes.
Figura 30. Diagrama hardware del FreeRunner
Fuente: Openmoko home page [26]
41
3.5. OPEN SOFTWARE
3.5.1. Licencia GNU
Las licencias de la mayoría del software están diseñadas para eliminar la
libertad de compartir y modificar dicho software. Por el contrario, la GNU
General Public License (GNU GPL) está diseñada para garantizar la libertad de
compartir y modificar el software. Esta licencia GNU se aplica en la mayoría de
los programas realizado por la Free Software Foundation (FSF, Fundación del
Software Libre) y en cualquier otro programa en los que los autores quieran
aplicarla. [27]
Cuando hablamos de Software Libre, hablamos de libertad, no de precio.
La licencia GNU GPL está diseñada para asegurar las libertades de distribuir
copias de Software Libre (y cobrar por ese servicio si se desea), asegurar que
recibirá el código fuente del programa, asegurar que puede modificar el
programa o modificar algunas de sus piezas para un nuevo programa.
La GPL no obliga a publicar el programa modificado. Existe la libertad de
hacer versiones modificadas y usarlas en privado, sin tener nunca que hacerlas
públicas. Esto es aplicable también a organizaciones (empresas incluidas); una
organización puede hacer una versión modificada y usarla internamente sin
hacerla pública fuera de la organización. Pero si hace de alguna manera
pública la versión modificada, la GPL obliga que ponga el código fuente
modificado a disposición de los usuarios.
Existen muchas otras licencias GNU pero la licencia GPL garantiza que
todas las versiones mejoradas de un software que se publiquen, sean software
libre. Esto significa que se evita el riesgo de tener que competir con una versión
modificada privativa de su propio trabajo.
42
Un aspecto crucial del software libre es que los usuarios tienen la
libertad de cooperar. Es absolutamente esencial que a los usuarios que deseen
ayudarse entre sí se les permita compartir sus correcciones de errores y
mejoras con otros usuarios.
Se han propuesto licencias alternativas a la GPL que requerirían que las
versiones modificadas fueran supervisadas por el autor original. Mientras el
autor original permaneciera atento a las necesidades de mantenimiento, esto
podría funcionar bien en la práctica; pero si el autor (en mayor o menor medida)
no atiende las necesidades de todos los usuarios, el procedimiento se viene
abajo.
3.5.2. Distribuciones GNU - LINUX
Debian
Se trata de una distribución estable, madura y popular entre la
comunidad GNU/Linux. Ofrece una herramienta de gestión de paquetes
denominada APT que permite la descarga e instalación automatizada de
paquetes a través de Internet en modo consola. A su vez, posee uno de los
sistemas de repositorios con mayor cantidad de programas. No obstante, los
repositorios de Debian no dan soporte a paquetes propietarios denominados
non-free, lo que provoca que determinados paquetes deban ser instalados
desde repositorios no oficiales o bien tengan que ser compilados manualmente.
Finalmente, resulta ser una distribución muy configurable y con el desarrollo
pertinente sobre la misma puede dar lugar a un sistema rápido, fiable, muy
estable y fácil de configurar. Sin embargo, resulta ser una distribución que
requiere unos conocimientos previos considerables debido a que numerosas
tareas no se encuentran automatizadas.
Uno de los mayores inconvenientes que tiene esta distribución es que el
periodo de actualización de la distribución estable suele ser elevado, puesto
43
que las aplicaciones y kernel’s4 deben pasar toda una batería de pruebas que
garanticen su estabilidad y su correcto funcionamiento. No obstante, las
versiones testing de esta distribución se actualizan semanalmente y resultan
casi tan fiables como la versión estable.
Ubuntu
Es una distribución GNU/Linux que ofrece un sistema operativo
predominantemente enfocado a ordenadores de escritorio aunque también
proporciona soporte para servidores.
Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la
facilidad de uso, la libertad de uso, los lanzamientos regulares (cada 6 meses)
y la facilidad en la instalación. Ubuntu es patrocinado por Canonical Ltd., una
empresa privada fundada y financiada por el empresario sudafricano Mark
Shuttleworth.
Fedora
Fedora es una distribución de GNU/Linux para propósitos generales que
se mantiene gracias a una comunidad internacional de ingenieros, diseñadores
gráficos y usuarios que informan de fallos y prueban nuevas tecnologías.
Cuenta con el respaldo y la promoción de Red Hat.
El proyecto no busca sólo incluir software libre y de código abierto, sino
ser el líder en ese ámbito tecnológico. Algo que hay que destacar es que los
desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en
lugar de aplicar los parches específicos en su distribución, de esta forma se
asegura que las actualizaciones estén disponibles para todas las variantes de
GNU/Linux. Durante sus primeras 6 versiones se llamó Fedora Core, debido a
que solo incluía los paquetes más importantes del sistema operativo.
4 Kernel: Parte esencial de un sistema operativo que se encarga de gestionar los recursos como el acceso seguro al hardware de la computadora, determinando qué programa accederá a un determinado hardware si dos o más quieren usarlo al mismo tiempo
44
Damn Small Linux
Damn Small Linux (DSL) es una distribución Linux LiveCD funcional y
completa, pensada para funcionar en computadoras con muy pocos recursos o
antiguos, como los procesadores Intel 80486. Gracias a su pequeño tamaño
(50MB), se puede poner dentro de una Memoria USB y arrancar con la misma
en cualquier computadora.
DSL tiene incluidos scripts para la descarga e instalación del Advanced
Packaging Tool (APT) de Debian y Synaptic. Adicionalmente, Damn Small Linux
permite la descarga directa de programas grandes como OpenOffice.org y el
GNU Compiler Collection (GCC), de igual manera que programas más
pequeños como Xmms por medio del sistema MyDSL, que permite a los
usuarios la comodidad de una descarga e instalación en un sinfín de
aplicaciones.
Linux From Scratch
Linux From Scratch o LFS es una colección de documentos que nos
indican los pasos para compilar una distribución GNU/Linux desde cero. El
proyecto se diferencia de otras distribuciones en que no consta de paquetes y
scripts preensamblados para una instalación automática del sistema, sino que
sus usuarios son provistos simplemente con paquetes de código fuente y un
manual de instrucciones para el armado de un sistema GNU/Linux propio.
Debido al inmenso trabajo que demanda la instalación de este sistema
en comparación a otras distribuciones, los usuarios que deciden hacer uso de
LFS son principalmente aficionados que desean aprender sobre el
funcionamiento interno de un sistema GNU/Linux y ensamblar un sistema a su
medida. Linux From Scratch es también utilizado como base de varias
distribuciones, usualmente alejadas de su espíritu original de
"metadistribución".
45
3.5.3. Software Text to Speech
Este tipo de software dota a las máquinas de la capacidad de producir
mensajes orales que no han sido previamente grabados. Tomando como
entrada un texto, los sistemas de conversión texto-voz realizan el proceso de
lectura de forma clara e inteligible y con una voz lo más natural y humana
posible.
Las características de estas aplicaciones deben ser:
1. Debe producir una voz que resulte natural y sea inteligible.
2. La síntesis del habla ha de ser completamente automática, sin que se
tenga que introducir ningún tipo de reajuste manual en ninguna parte del
proceso.
3. El texto introducido en la aplicación ha de ser un texto arbitrario
cualquiera.
Eduardo Lleida Solano, en su publicación web “Conversión Texto-Voz”
[28] nos da una explicación del funcionamiento de un software Text to Speech:
El primer problema que encuentra un sistema de conversión texto-voz es que
debe inferir el contenido real de la representación escrita del mensaje. Para ello
se debería realizar un procesado lingüístico del texto a partir de un análisis
fonético-morfológico para derivar la pronunciación, un análisis sintáctico para
dar la estructura gramatical del texto y poder inferir rasgos prosódicos, un
análisis semántico para dar una representación del significado del mensaje y
un análisis pragmático para dar una relación entre frases e ideas de la
conversación global. Un aspecto importante en la inteligibilidad y naturalidad de
la señal sintetizada son las reglas prosódicas, que aunque en cierta medida
pueden ser inferidas de la estructura sintáctica de la frase, la mejor forma de
generar una entonación adecuada a una frase es que la máquina entienda lo
que está diciendo.
46
Figura 31. Diagrama de bloques simplificado de un conversor texto-voz
El módulo de análisis lingüístico del texto lleva a cabo dos funciones
fundamentales:
1. Transforma la representación ortográfica del mismo en una
representación fonética, es decir, determina la sucesión de difonemas y
trifonemas que lo componen.
2. Extrae del texto la información prosódica del mismo. Esta información
se llevará al generador de prosodia, el cual generará la plantilla de prosodia
adecuada que permita al sintetizador generar voz con una buena entonación.
Lógicamente, este análisis lingüístico del texto es diferente para cada
idioma, teniendo que adaptarse a las características propias de cada uno. Hay
que tener en cuenta que tanto la base de fonemas como las características
prosódicas son distintas para cada idioma. El texto que se desea sintetizar ha
de ser analizado conforme a sus propiedades sintácticas, semánticas y
contextuales para producir los parámetros adecuados.
El generador de prosodia se encarga de la entonación, uno de los
principales responsables de la calidad de un conversor texto-voz. La
entonación es, ante todo, un fenómeno lingüístico relacionado con la sensación
perceptiva que produce la variación a lo largo de todo un enunciado de tres
parámetros físicos: frecuencia fundamental, duración y amplitud. Estas
47
variaciones se dan en unidades mayores que la palabra, normalmente
sintagmas o frases, que son las unidades lingüísticas contenidas en los grupos
fónicos.
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 normalización de texto o preprocesado.
Entonces asigna una transcripció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). 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.
Existen innumerables programas de conversión texto a voz, cada uno
con diferentes características y prestaciones, pero manteniendo el espíritu del
proyecto, se ha optado por las opciones de software libre con licencia GPL.
Flite
Es un pequeño motor de síntesis de voz en tiempo de ejecución
(runtime) desarrollado por el Carnegie Mellon University, derivado del proyecto
Festival, de la Universidad de Edinburgo, y del proyecto Festvox del Carnegie
Mellon University.
48
Inicilmente se consideró a Flite como la herramienta software que
cumpliera con la tarea de convertir de texto a voz la información que queremos
que reproducir en el dispositivo móvil debido a su pequeño tamaño en disco y a
los bajos requerimientos de cómputo para su funcionamiento.
Esta opción fue descartada debido al poco desarrollo existente de voces
e idiomas diferentes al inglés. Para ser más precisos, no existe lengua
castellana entre los idiomas desarrollados para Flite.
eSpeak
Es un programa para transformar texto en voz, que puede ser manejado
desde una consola de texto. La voz producida no es muy realista, suena
bastante robótica. Pero tiene una serie de ventajas que lo hacen interesante: es
muy fácil de usar; podemos controlar la velocidad, el tono y la amplitud de la
voz; y no presenta problemas con ningún tipo de texto.
Espeak fue descartado porque, a pesar de que es muy fácil de instalar y
usar e incluye lengua castellana, el programa ocupa mucho más espacio en
disco y la voz que reproduce el audio, que no se puede variar, es demasiado
artificial y desagradable.
Festival TTS
Festival es un sistema desarrollado originalmente por el Centro de
Investigación de Tecnologías del Lenguaje de la Universidad de Edinburgo, la
Universidad Carnegie Mellon así como otros centros de enseñanza han
realizado contribuciones substanciales al proyecto.
Se distribuye como software libre bajo licencia tipo MIT-X11 permitiendo
uso comercial y no comercial sin restricción. El proyecto incluye la
49
documentación completa para desarrollar sistemas de síntesis de voz con
varios APIs, siendo un entorno ideal para el desarrollo e investigación de las
técnicas de síntesis de voz.
El proyecto está escrito en lenguaje C++ y está implementado como un
intérprete de comandos el cual puede conectarse con diversos módulos y
aplicaciones.
El proyecto festival es multilingüe. Además algunos grupos han
desarrollado herramientas que permiten utilizar otros idiomas con el proyecto,
entre ellos castellano con voz andaluza y catalán.
Se ha escogido Festival como la herramienta text-to-speech porque, a
pesar de que necesita más espacio en disco para su instalación, esta se puede
modificar para instalar sólo algunos paquetes, evitándonos instalar la voz
inglesa y sus diccionarios. La principal ventaja de usar Festival es su gran
difusión entre la comunidad de programadores, por lo que se han desarrollado
muchos idiomas y herramientas adicionales, como compresores y
reproductores, compatibles con Festival.
Las principales características de Festival TTS son:
● Licencia X11: Software libre que no restringe su uso pero no se incluye
código GPL. Permitido su uso comercial pero se debe incluir el
copyright.
● Tamaño en disco de la instalación: 11MB. Esto incluye Archivos de
compilación y voz masculina castellano de Andalucía.
● La configuración para lengua castellana no se hace por defecto, es
necesario editar varios archivos de configuración.
● La salida de audio del programa es por defecto .wav.
50
● Existe la opción de que el audio generado se reproduzca directamente
en el hardware de audio o se almacene en el disco duro como archivo.
3.6. ARQUITECTURA DE SOFTWARE
Paul Clements en su obra “Software architecture: An executive overview”
[29] define la arquitectura de software como una vista del sistema que incluye
los componentes principales del mismo, la conducta de esos componentes
según se la percibe desde el resto del sistema y las formas en que los
componentes interactúan y se coordinan para alcanzar la misión del sistema.
La AS se refiere a la estructura a grandes rasgos del sistema, estructura
consistente en componentes y relaciones entre ellos, constituye un puente
entre el requerimiento y el código. La arquitectura de software define, de
manera abstracta, los componentes que llevan a cabo alguna tarea de
computación, sus interfaces y la comunicación ente ellos.
Cada paradigma de desarrollo exige diferente número y tipo de vistas o
modelos para describir una arquitectura. No obstante, existen al menos tres
vistas absolutamente fundamentales en cualquier arquitectura:
● La visión estática: describe qué componentes tiene la arquitectura.
● La visión funcional: describe qué hace cada componente.
● La visión dinámica: describe cómo se comportan los componentes a lo
largo del tiempo y cómo interactúan entre sí.
Las arquitecturas más comunes son:
● Monolítica.
● Cliente-servidor.
● Arquitectura de tres niveles.
● Pipeline.
51
● Orientada a servicios.
● Máquinas virtuales.
3.6.1. Programación por capas (Niveles)
Su objetivo principal es la separación de la lógica de negocios de la
lógica de diseño, esto se logra separando la capa de datos de la capa de
presentación al usuario.
Figura 32. Arquitectura de 3 niveles
Fuente: Architecture: An executive overview [29]
1. Capa de presentación: es la que ve el usuario, presenta el sistema al
usuario, le comunica la información y captura la información del usuario dando
un mínimo de proceso (realiza un filtrado previo para comprobar que no hay
errores de formato). Esta capa se comunica únicamente con la capa de
negocio.
2. Capa de negocio: es donde residen los programas que se ejecutan, se
reciben las peticiones del usuario y se envían las respuestas tras el proceso.
Se denomina capa de negocio pues es aquí donde se establecen todas las
reglas que deben cumplirse. Esta capa se comunica con la capa de
52
presentación, para recibir las solicitudes y presentar los resultados, y con la
capa de datos, para solicitar al gestor de base de datos para almacenar o
recuperar datos de él.
3. Capa de datos: es donde residen los datos y es la encargada de
acceder a los datos. Está formada por uno o más gestores de bases de datos
que realizan todo el almacenamiento de datos, reciben solicitudes de
almacenamiento o recuperación de información desde la capa de negocio.
3.6.2. Metodología de Desarrollo de Aplicaciones UML
El Lenguaje Unificado de Modelado UML es un lenguaje cuyo
vocabulario y sintaxis están ideados para la representación conceptual y física
de un sistema. Sus modelos son precisos, no ambiguos, completos y pueden
ser trasladados directamente a una gran variedad de lenguajes de
programación, como Java, C++ o Visual Basic, pero también a tablas de bases
de datos relacionales y orientados a objetos. Es posible generar código a partir
de un modelo UML (ingeniería directa) y también puede construirse un modelo
a partir de la implementación (ingeniería inversa), aunque en las dos
situaciones debe intervenir un mayor o menor grado de supervisión por parte
del programador, en función de lo buenas que sean las herramientas
empleadas. [30]
Como todo lenguaje, UML incluye una gama de símbolos válidos
(vocabulario) y las reglas para combinarlos apropiadamente; permite generar
diferentes modelos para la representación de un sistema. Las reglas del UML
indican básicamente cómo crear estos modelos, el momento y orden
apropiados deberán ser establecidos por el método de desarrollo que se elija.
Una de las principales intenciones de los autores de UML era mantener
el lenguaje simple, no obstante, fueron incorporadas características que se
53
pueden considerar poderosas y avanzadas, proporcionando a los usuarios un
lenguaje muy útil. Entre las características incluidas en UML se encuentran:
● Mecanismos de extensibilidad (estereotipos, valores etiquetados y
restricciones).
● Hilos y procesos.
● Distribución y concurrencia.
● Patrones / colaboraciones.
● Diagramas de actividad (para el modelamiento de procesos del negocio).
● Refinamiento (para manejar relaciones entre niveles de abstracción).
● Interfaces y componentes.
● Lenguaje de restricciones.
UML es una herramienta muy útil para el desarrollo de aplicaciones
software y muy difundida entre la comunidad de programadores, pero durante
el desarrollo de este trabajo solamente se usarán algunas de las características
del lenguaje UML para ayudar a perfilar la estructura de la aplicación sin llegar
a ser muy estrictos con las reglas del lenguaje, en resumen, se usarán algunas
de las características de UML como apoyo para el desarrollo de la aplicación
pero no se hace una implementación UML en sentido estricto del lenguaje.
54
4. ANTECEDENTES Y ESTADO ACTUAL
El control electrónico se puede definir como cualquier sistema
electrónico que realice funciones de control sobre una persona realizando
advertencias sobre la distancia de la persona protegida. Renzema/Mayo-Wilson
definen el control electrónico como cualquier tecnología que, o bien detecta la
localización de un sujeto en la comunidad en determinados lugares y horas sin
la supervisión de una persona y transmite estos de forma electrónica a una
estación central de monitorización, o bien usa un aparato electrónico para
detectar la presencia de una sustancia prohibida en el cuerpo u otras funciones
fisiológicas transmitiendo estos datos a la estación central. [31]
Generalmente se relaciona la monitorización con los comúnmente
denominados “brazaletes”. Con este término se hace referencia tanto a los
dispositivos que permiten controlar si una persona se encuentra en su
domicilio, como a los dispositivos que permiten identificar si una persona se
acerca a otra o a un determinado lugar.
Cristina González Blanqué en su tesis doctoral “El control electrónico en
el sistema penal” [32] clasifica los dispositivos en 2 categorías: dispositivos de
monitorización de localización y dispositivos para realizar a distancia controles
de estupefacientes. Miremos cada uno en detalle.
4.1 DISPOSITIVOS DE MONITORIZACIÓN PARA LA LOCALIZACIÓN
La literatura diferencia tres tecnologías diferentes, los sistemas de
55
contacto programado, los de radio frecuencia y los sistemas GPS.
4.1.1. Sistemas de contacto programado
Este tipo de control electrónico consiste en verificar si la persona se
encuentra en un lugar y horario determinado, por lo que es usado
principalmente para controlar arrestos domiciliarios.
La manera en que opera el sistema es mediante la realización de
llamadas aleatorias desde un ordenador central hacia el lugar en el que debe
encontrarse la persona durante el horario establecido de control. El sistema de
identificación que suele utilizarse es la verificación de voz, a través de video o
mediante el brazalete que se comunica con el receptor en el domicilio del
sujeto monitoreado.
La verificación a través de la voz es el sistema de monitorización pasivo
mayoritariamente utilizado en España [33] y el funcionamiento consiste en unas
llamadas aleatorias al domicilio de la persona monitorizada, entre cinco y ocho
diarias, el penado debe devolver la llamada a un número gratuito conectado al
ordenador central repitiendo una frase que se la ha dado en la llamada inicial,
el ordenador central verifica si la llamada es desde el número correspondiente
al domicilio y si la voz coincide con la registrada por el sistema.
La gran ventaja de este sistema es que solamente requiere la utilización
del teléfono para confirmar la ubicación del sujeto reduciendo de esta manera
la inversión económica en otras tecnologías y reduce el efecto estigmatizante
que representa llevar un brazalete de control.
Sin embargo, la desventaja que presenta para las personas que
convivan con el condenado es la carga de llamadas aleatorias a cualquier hora
del día o de la noche, así como la imposibilidad de monitorear a la persona el
56
tiempo en el cual no se producen llamadas y como la regulación excesivamente
ambigua en cuanto a la exigencia de autorización del penado para someterse a
esta forma telemática de ejecución de la pena, pues requieren expresamente la
conformidad de los titulares de la vivienda o de la línea telefónica.
Sistema de Contacto E3 ElmoTech
E3 Voice es un sistema biométrico multilingüe para comprobación de
presencia que no requiere la instalación de hardware, por lo que ofrece un
medio sencillo para la supervisión pasiva de reclusos en sus hogares o en otros
sitios definidos de antemano. [34]
Figura 33. Sistema de Contacto E3 ElmoTech
Sus principales características son:
Supervisión automática programada, al azar o a petición.
Sin necesidad de equipos.
Informes detallados definidos por el usuario.
Medidas antifraude incorporadas.
Supervisión de varios sitios.
Informes en línea a usuarios remotos a través de fax, buscapersonas,
teléfono móvil o fijo.
Capacidad de comprobación de contraseñas o de diálogo libre.
E3 Voice se puede utilizar junto con otros sistemas de supervisión, como
parte de la plataforma de supervisión integrada de Elmo-Tech.
57
4.1.2. Monitorización mediante radio frecuencia.
Esta monitorización está también muy difundida en el sistema
penitenciario para controlar el cumplimiento de arrestos domiciliarios. El
sistema funciona gracias a un pequeño transmisor que la persona lleva siempre
atado a la muñeca o el tobillo, el cual enviá señales de manera continua a un
receptor ubicado en el domicilio del sujeto, el cual a su vez envía estas señales
a un ordenador central a través de la línea telefónica. Si el equipo deja de
recibir la señal de la pulsera electrónica en la franja horaria en la que el interno
debe estar en su domicilio, se disparan las alarmas y la unidad colocada en el
teléfono llamará inmediatamente al centro de control de Instituciones
Penitenciarias. A partir de ese momento las autoridades toman las medidas de
tutela y control que se acuerden.
Con este sistema es posible comprobar la ubicación de la persona en
todo momento, tanto si debe encontrarse en su domicilio o si ha atendido sus
obligaciones de servicio comunitario o laborales.
Existen también dispositivos que no usan lineas telefónicas fijas sino que
envían la información al ordenador central por comunicación GSM mediante
una tarjeta SIM incorporada al brazalete.
Figura 34. Brazalete y transmisor de RF para arresto domiciliario
58
Esta tecnología posee servicios adicionales gracias a diferentes
sensores incorporados y los cuales permiten conocer fallos en el
funcionamiento en tiempo real, circuitos que permiten conocer si el brazalete a
sido abierto o sensores que detectan el contacto con la piel, entre otros.
La ventaja de los sistemas de radio frecuencia frente a los de contacto
programado es que los primeros permiten un control continuo y no solo en los
momentos de la llamada telefónica pero en contra parte, obligan al sujeto a
portar siempre el brazalete y requieren la instalación de un receptor en el
domicilio del individuo, lo cual aumenta considerablemente los costos.
Las cifras oficiales a mayo del 2008 muestran el número de penados:
Total internos en el programa 5275 DISTRIBUCION POR SEXOS
Media edad del penado (años) 39 Hombres 81,6%
Media duración instalación (dias) 234 Mujeres 18,4%Tabla 3. Penados con Medios telemáticos en España a mayo de 2008
Fuente: Revista de las Facultades de Derecho y Ciencias Económicas y Empresariales, nº 74 [35]
Figura 35. Transmisor electrónico anclado al tobillo
Smart RF ProTech
El sistema de ProTech RF SMART ofrece monitoreo presencial del
59
interno mediante Radio Frecuencia en el domicilio del imputado, así como
informe periódico de actividad y de irregularidades. Los sujetos están
equipados con una pulsera de tobillo de 70 gramos de peso resistente a las
alteraciones y se les asignará una unidad de base que se coloca en la
residencia del infractor. El brazalete se instala sin necesidad de herramientas
especializadas y tiene una duración de la batería de un año. Una característica
única de la pulsera es que anuncia el agotamiento de la batería con 2 semanas
de antelación, lo que permite la posibilidad al oficial de sustituir el brazalete
durante una visita programada.
La unidad de base proporciona un registro detallado de todas las salidas
y entradas, así como la detección de manipulaciones de la línea telefónica y del
control de potencia. El sistema notifica a la oficina de supervisión de cualquier
acontecimiento no autorizado incluyendo intentos de violación de la pulsera.
[36]
Algunas características del Smart RF son:
● Resistente a manipulación.
● Grabación del cumplimiento del horario de actividades del sujeto.
● Generación de reporte automático o baja demanda.
● Notificación de intento de manipulación y condición de la batería.
● Resistente al agua.
● Transmisor hipoalergénico graduable.
Figura 36. Brazalete y transmisor de Radio frecuencia ProTech
60
Monitoreo de Presencia ElmoTech
El Monitoreo de presencia es un método de supervisión remota de
transgresores dentro de la comunidad, por medio de la utilización de un
sistema de monitoreo en su domicilio u otra localidad predeterminada haciendo
uso de módulos RF. Existen varios medios tecnológicos disponibles para
reportar el cumplimiento del régimen restrictivo de una persona. La decisión
relacionada con los medios tecnológicos de monitoreo a emplear toma en
consideración el nivel de supervisión deseado, el perfil del trasgresor y las
metas administrativas y de tratamiento fijadas por la administración de justicia
local. [37]
Figura 37. Brazalete y transmisor ElmoTech
La transferencia de datos de monitoreo se puede realizar utilizando la
línea terrestre o las redes celulares. Cuando se emplea la comunicación
celular, los operadores pueden usar tanto módulos GSM, AMPS o GPRS,
dependiendo de la disponibilidad. Todos los tipos de unidades se pueden
operar juntas sobre la misma plataforma de monitoreo para acomodarse a las
necesidades del operador.
61
Figura 38. Monitoreo de Presencia ElmoTech
Isecuretrac House Arrest System
El sistema de arresto domiciliario permite verificar la presencia de un
individuo en determinado lugar, que suele ser su hogar.
El sistema consta de dos componentes: un Home Monitoring Receiver
Unit (HMRU) y un brazalete transmisor RF. El transmisor de RF es anclado al
tobillo del sujeto y envía una señal de radio de una o más veces por minuto. El
HMRU monitorea la presencia del implicado mediante la continua "escucha" la
señal de RF. Cada vez que el sujeto va más allá del alcance de la HMRU, la
unidad HMRU registra la pérdida de la señal así como cada vez que regresa
dentro del rango de la HMRU. Estos datos se comparan con el programa del
sujeto para saber si está de acuerdo con el calendario permitido. [38]
Figura 39. Brazalete y transmisor de Radio frecuencia Isecuretrac
62
Si la persona se quita el transmisor o intenta alterarlo, el transmisor
envía una señal de alerta de la violación a la unidad receptora. El HMRU
entonces se comunica con el ordenador central que, a su vez, alerta a las
autoridades apropiadas.
Hasta ahora hemos considerado la monitorización de personas con
penas privativas de la libertad pero que cumplen sus condenas fuera de una
prisión, o lo que se conoce como una arresto domiciliario, pero los medios
telemáticos de control también se utilizan para el control del cumplimiento de
ordenes de alejamiento y su aplicación al ámbito de los delitos de violencia
doméstica.
Bajo esta orden de alejamiento se agrupan tres modalidades: la
prohibición de aproximarse a la víctima o sus familiares; la prohibición de
comunicarse con la víctima o a sus familiares y, finalmente, la prohibición de
residir o acudir al lugar en que se haya cometido el delito o a aquel en que
resida la víctima o su familia.
Para poder llevar a cabo este tipo de control debemos emplear otra
tecnología que permita realizar un seguimiento al sujeto en todo momento, ya
que las personas sobre quienes existe una orden de alejamiento gozan de
libertad para desplazarse por cualquier parte de las ciudades o el campo,
siempre y cuando no se aproxime demasiado a la persona protegida por la
orden y por tanto, los sistemas de control antes mencionados no pueden
cumplir con la función monitorizar al imputado y advertir de su ubicación a las
autoridades y a la persona que ha sido víctima de la violencia de este.
4.1.3. Monitorización a través de GPS.
La monitorización mediante GPS permite conocer la posición de una
persona en cualquier momento y, a diferencia de la radio frecuencia, puede
63
vigilar los movimientos de una persona fuera de su domicilio.
La monitorización mediante GPS se empezó a utilizar en el sistema
penal de EE.UU. de manera experimental en 1996 y actualmente constituye un
reducido porcentaje de control electrónico en España y Europa. Según cifras
presentadas en [39], en EE.UU. El 87% del control electrónico se realiza
mediante dispositivos GPS mientras que en Europa esta es una tecnología que
apenas comienza a aplicarse, siendo Gran Bretaña el país con mayor
aprovechamiento de la tecnología GPS para tele control.
El potencial del tele control mediante GPS se aprovecha para la
verificación del cumplimiento de órdenes de alejamiento, para arrestos
domiciliarios, libertad condicional, supervisión de delincuentes sexuales
peligrosos y seguimiento policial de vehículos.
La gran ventaja que presenta el control mediante GPS frente a los otros
sistemas mencionados en cuanto al cumplimiento de las órdenes de
alejamiento es la posibilidad de ubicación en cualquier momento y lugar,
siempre y cuando este se encuentre en lugares abiertos, y es ésa
precisamente su gran limitación, el interior de edificaciones o interferencias con
superficies metálicas, además de el mayor grado de afectación a la intimidad
mencionado por Nellis [40], lo que lo convierte en la medida más severa de
monitorización.
Ahora que se he presentado los sistemas de monitorización usados para
la localización de personas en el sistema penal español, demos un vistazo a
algunos dispositivos electrónicos de tele control existentes en el mercado.
Rastreo en tiempo real STaR ElmoTech
Sistema de Seguimiento Satelital y Generación de Reportes. Tecnología
64
de Rastreo y Seguimiento de Internos Segura y Confiable que permite
monitorear a internos en exteriores, permitiéndoles a los operadores de los
programas supervisar a las personas más allá de los límites físicos y
geográficos de un sitio preestablecido. Por otra parte, el sistema mantiene
todas las capacidades de detección y monitoreo de presencia mientras la
persona se encuentre en su domicilio. El sistema STaR fue diseñado
específicamente para ser utilizado en programas de monitoreo de internos y
cumple totalmente con los más exigentes requerimientos de seguridad. El
sistema tiene incorporadas características de seguridad y redundancias en toda
la plataforma para impedir cualquier posibilidad de engaño al sistema. [41]
Figura 40. Sistema STaR ElmoTech
Las características del sistema STaR son:
● Múltiples modos de seguimiento: activo, pasivo e híbrido.
● Localización secundaria mediante la red de telefonía celular (LBS).
● Adquisición de la ubicación más rápida al utilizar GPS Asistido (AGPS).
● Capacidades avanzadas de mapeo y vigilancia de la ruta preestablecida.
● Rastreo en tiempo real utilizando protocolos de comunicaciones
celulares (GPRS).
● Monitoreo de presencia absolutamente segura en puntos fijos.
La unidad STaR registrará en su memoria en forma continua los datos de
la ubicación del interno en la medida que cumpla con el cronograma y las
restricciones a sus desplazamientos que se le han impuesto. En caso de que
65
exista una transgresión a lo establecido, el sistema automáticamente pasará a
operar en modo Activo, permitiendo así el rastreo del interno en tiempo real por
parte de los operadores del Centro de Monitoreo.
Figura 41. Componentes Sistema STaR ElmoTech
TrackerPAL
TrackerPAL es un sistema de seguimiento activo que integra un
dispositivo de seguimiento físico con un sistema GPS y un sofisticado software
de monitoreo central para proporcionar la ubicación en tiempo real de
seguimiento de 24 horas 7 dias de la semana. [42]
El dispositivo TrackerPAL es una unidad única y activa para el tobillo que
pueden iniciar y recibir una comunicación de voz. Las señales del software de
TrackerPAL, iniciado por el funcionario de la supervisión puede causar que el
dispositivo vibre o generar una alarma sonora.
El software de TrackerPAL contiene una base de datos de la agencia, los
usuarios de la agencia, y la información del sujeto. Funcionarios de supervisión
pueden establecer zonas de inclusión y exclusión, dar instrucciones en caso de
violación de límites, y recibir los pormenores de la ubicación de los sujetos.
TrackerPAL puede ser utilizado como una herramienta de organización como
complemento a los documentos judiciales, notas sobre el comportamiento del
sujeto, y la documentación de violación de la restricción.
66
Figura 42. Sistema de monitorización GPS TrackerPAL
Algunas características del sistema TrackerPAL son:
● Seguimiento activo.
● GPRS / GSM habilitado.
● Monitoreo de Delincuentes 24/7.
● Establecimiento de restricciones ( zonas de inclusión / exclusión).
● Antimanipulación, hipoalergénico.
● Comunicación de voz en dos sentidos.
● Almacenamiento de datos y reenvío.
● Precisión GPS: 20 m el 50% del tiempo y 50 m el 95% del tiempo.
● Volumen de la sirena: 90 dBA a 30 cm.
● Duración de la bateria primaria: 20 horas + 90 minutos de bateria
auxiliar.
Smart Active ProTech
El sistema de ProTech SMART Active combina tecnología GPS y
avanzados protocolos de comunicación wireless y ofrece un efectivo
seguimiento del sujeto las 24 horas, 7 días de la semana. [43]
Los sujetos están equipados con una ligera pulsera de tobillo resistentes
a manipulaciones y se les asigna una unidad seguimiento activo que deben
67
mantener cerca en todo momento. La pulsera de tobillo transmite señales a la
unidad de seguimiento, la cual utiliza señales GPS y una red inalámbrica para
localizar e informar cada movimiento del sujeto.
Figura 43. Sistema GPS ProTech
En el hogar, la unidad Smart sirve de base para recargar la batería y
como un completo sistema de detención de toque de queda en casa. La unidad
de seguimiento SMART Active está equipada con una pantalla LCD que sirve
para notificar al infractor de violaciones y para el envío de mensajes de texto
desde la agencia de control. Esta capacidad de comunicación patentada ha
demostrado su eficacia en la modificación de la conducta sujeto y la reducción
de la reincidencia. Las agencias pueden crear múltiples zonas de inclusión y de
exclusión, y ser notificada por fax, buscapersonas, SMS o correo electrónico
siempre que se produce una violación de la zona.
Algunas características del sistema ProTech Active son:
● Comunicación de dos vias con el sujeto.
● Envio de SMS en tiempo real.
● Autonomía de la bateria de 48 horas y 4 horas de recarga.
● Comunicación wireless con capacidad de línea de respaldo.
● Capacidad de detección de manipulación del dispositivo.
● Almacenamiento en el equipo de casa de hasta 5 dias de actividades.
● Actualizaciones y modificaciones de software automáticas.
68
Isecuretrac GPS System
Los sistemas GPS Isecuretrac se componen de dos elementos: una
pulsera de tobillo o brazalete y una Unidad de Seguimiento Personal (PTU). El
elemento del tobillo es electrónicamente vinculado a la PTU a través de una
frecuencia de radio (RF). Si el PTU no recibe una transmisión de señal de RF
desde el brazalete, el PTU registra una violación. Esta violación puede indicar
que hubo un intento de fuga o eludir la vigilancia electrónica. [44]
El sistema realiza captura, calculo y almacenamiento de la posición de
varios puntos en cada minuto, no sólo cuando el individuo está comentiendo
una infracción. Estos puntos almacenados proporcionan una completa
información de tiempo, fecha y velocidad, lo cual es extraordinariamente útil
cuando se hace seguimiento al individuo en un automóvil y puede cambiar de
ubicación o dirección.
Cuanto más a menudo se capturen puntos, son más pequeñas las
lagunas en el seguimiento de los datos. Esto es particularmente util cuando el
sujeto se encuentra en una zona con cobertura celular irregular y el sistema se
basa en GPS. Sin embargo, también es importante cuando el sujeto viaja a
través de zonas donde los edificios, túneles, puentes y otros obstáculos a lo
largo de la ruta pueden bloquear las señales de satélite GPS.
Figura 44. Sistema GPS Isecuretrac
69
Fabricante ElmoTech TrackerPAL ProTech Isecuretrac
No. Componentes 2 1 2 2
Autonomía del Transmisor
16 a 24 horas 20 horas 48 horas No suministrado
Peso del Brazalete No suministrado 550 gramos 425 gramos 350 gramos
Valor comercial No suministrado No suministrado No suministrado No suministrado
Tabla 4. Opciones comerciales de seguimiento GPS.
La licitación para el suministro de la tecnología necesaria para cumplir
con arresto domiciliario y monitorización GPS en España ha sido entregada a la
empresa Israelí ElmoTech. A pesar de que en su website no entregan detalles
técnicos de los componentes del sistema, aseguran que los brazaletes son
ligeros y pequeños, y con una bateria que dura entre 24 y 36 meses.
4.2. OTROS DISPOSITIVOS DE CONTROL A DISTANCIA
En algunos ordenamientos se limita el consumo de alcohol y otras
drogas, como medida de tratamiento y como una condición de supervisión en la
comunidad, por ejemplo en Suecia, se impone la condición de no consumir
alcohol junto al arresto domiciliario aplicado en el ámbito penitenciario.
También, en Francia, el Código Penal (art.132-144) prevé la posibilidad de
adoptar un tratamiento de desintoxicación en el marco de de la aplicación del
arresto domiciliario monitorizado en el ámbito penitenciario. Para supervisar el
cumplimiento de esta medida existen sistemas monitorizados de control de
consumo de drogas. [39]
Estos sistemas suelen requerir instalación en el domicilio de la persona y
consisten en verificar su identidad y si ha consumido algún tipo de sustancia
prohibida (mediante un test de orina o una prueba de alcoholemia). Las
unidades de Monitoreo de Alcohol a distancia miden el nivel alcohólico de un
individuo en su aliento, son similares a las unidades portátiles utilizadas por la
70
Policía. Los resultados son transferidos a los oficiales encargados del
monitoreo, para la confirmación del cumplimiento del programa del individuo. El
sistema de monitoreo de alcohol puede ser utilizado como una medida
independiente en combinación con un cronograma restrictivo de arresto
domiciliario.
Algunas características de estos sistemas son:
● Sensor electroquímico de alcohol en aire espirado.
● Reconocimiento facial automático para comprobación de identidad.
● Pruebas programadas, al azar o a petición con prueba recurrente
automática.
● Supevisión de presencia por radiofrecuencia incorporada.
● Notificación a sitios remotos a través de correo electrónico, SMS o
buscapersonas.
● El reporte puede transmitirse a la central de control por línea telefónica
tradicional, móvil o SMS.
Figura 45. Sistema para Monitoreo de Alcohol
Actsoft Alcohol Monitoring
Este es un sistema que permite controlar a los sujetos en cuanto al
71
consumo de alcohol de manera activa, así como su ubicación a través de
seguimiento GPS. [45]
Figura 46. Sistema Actsoft para Monitoreo de Alcohol
Características de monitorización del Brazalete:
● Niveles de alcohol (etanol).
● Niveles de la batería.
● Temperatura del infractor.
● Manipulación de la pulsera.
● Resistente al agua.
Características de monitorización del Teléfono handset:
● Seguimiento activo GPS.
● Tecnología inalámbrica Bluetooth.
● Lectura y transmisión de los datos del brazalete.
● Comunicación en dos sentidos con el sujeto.
Con la expresión “Control a Distancia” no solo hacemos referencia a la
monitorización de infractores, también podemos hacer monitorización y control
del estado de salud de las personas mediante deispositivos electrónicos que
empleen sensores capaces de determinar si determinado indicador de salud,
72
como la presión arterial o el ritmo cardiaco, se encuentra dentro de un gango
aceptable como normal y que sea capaz de informar a un centro de control si
alguno de estos indicadores excede el límite y pone en peligro la vida de la
persona monitoreada.
MediBeam Home Monitor
MediBeam es un equipo de captura de datos sobre el peso, la presión
arterial, el colesterol y otros y usando tecnología inalámbrica la transmite a un
centro de control, donde los datos se pueden analizar y verificar cualquier
respuesta médica que pudiera ser necesaria.
Figura 47. Simulador CellDesigner
En la actualidad se esta tramitando una ley en el congreso de EE.UU.
para asegurar que la población de la tercera edad pueda portar un dispositivo
de este tipo y de este modo controlar su estado de salud. [46]
En los estudios previos, se están entregando por el Centro de
Investigación en Servicios Sanitarios en la Atención Primaria en el Durham VA
Medical Center, 450 unidades inalámbricas CellDesigner de monitorización de
presión sanguínea a los ancianos hipertensos. Sus lecturas de la presión
arterial, tomadas diariamente, se transmiten automáticamente a una base de
datos centralizada. Dependiendo de los resultados de la presión arterial, los
pacientes a seleccionar recibirán recomendaciones sobre su estilo de vida y
alimentación, administración de medicamentos o una combinación de ambas.
73
5. DESCRIPCION DEL SISTEMA INDOOR PROPUESTO
Los sistemas de monitorización GPS usados en todo el mundo para
verificar el cumplimiento de órdenes de alejamiento en casos de violencia de
género y violencia familiar presentan un gran inconveniente en el momento de
garantizar dicha orden de alejamiento: Los sistemas GPS no sirven en
espacios cerrados como el interior de edificios. De modo que únicamente
monitorizar a una persona que porte un brazalete GPS si esta se encuentra
fuera de una edificación, por lo que la víctima de maltrato se encuentra
vulnerable en sitios como hospitales, edificaciones gubernamentales,
estaciones de transporte o centros comerciales, sitios que puede visitar con
regularidad y donde está a merced del agresor, lo que se hace palpable al ver
que los ataques, en su gran mayoria, se realizan en la calle o comercios. [47]
[48]
Un segundo inconveniente con los sistemas de tele-vigilancia es que las
órdenes de alejamiento no se aplican a la víctima si no a zonas geográficas
que comprenden el domicilio de la víctima y sus alrededores, así como su sitio
de trabajo y lugares que frecuente, puesto que la monitorización se mantiene
sobre el agresor y no sobre la víctima, razón por la cual la libertad de
desplazamiento de la víctima se encuentra truncada. Pero que sucede si la
víctima de maltrato necesita desplazarse a un punto que no esté contemplado
en la orden de alejamiento?. Nuevamente la víctima está a merced del agresor
ya que las autoridades penitenciarias conocen la localización del maltratador
pero no tienen manera de saber que su víctima se encuentra muy cerca.
74
Como solución a esto se plantea un sistema de posicionamiento indoor
complemento del sistema GPS ya existente y que brinde la posibilidad de
monitorizar a victimas y agresores en espacios cerrados o fuera del rango de
las órdenes de alejamiento. El sistema de posicionamiento indoor que se
propone está formado por cuatro componentes: Un servidor, un localizador,
un receptor, y el brazalete, que interactúan entre sí implementando el
estándar de comunicación inalámbrica Bluetooth. El objetivo es emplear las
TICs para lograr hacer monitorización indoor de personas que han sido
condenadas por maltrato y estan obligadas a portar un brazalete de
localización, conociendo también la ubicación de la víctima dentro de un
espacio cerrado y delimitado por el sistema. Pero el sistema planteado también
puede servir para otros propósitos y colectivos además de la monitorización de
agresores, por ejemplo brindar información de localización en grandes
edificaciones como aeropuertos o museos, o aprovechar la herramienta TTS
para brindar ésta información a los discapacitados visuales.
Servidor: Elemento fijo basado en una tarjeta microprocesadora que
tiene capacidad para procesar y almacenar información, así como un módulo
de comunicaciones Bluetooth con radio de cobertura que puede ser
configurable. Contiene una base de datos con las direcciones MAC de los
receptores y los brazaletes y tiene capacidad de cómputo para recibir la
información de los localizadores, ubicar en todo momento un receptor, asociarlo
a un brazalete dentro de su rango y enviar los avisos respectivos a los
receptores y autoridades. Se prevee que los servidores puedan ser
configurables y actualizables mediante una conexión ethernet o a través de
comunicación Bluetooth.
Localizador: Elemento fijo más simple que un servidor, utilizado para
facilitar la localización de dispositivos móviles. Su alcance es configurable y es
habitualmente inferior al de un servidor. Su función principal es realizar
búsqueda constante de dispositivos asociados al sistema y comunicar al
servidor cuando alguno de estos dispositivos es encontrado. Debido a su
75
función, su capacidad de procesamiento es mucho menor que la de un
servidor, al igual que su capacidad de almacenar información.
Receptor: Elemento móvil que tiene el usuario y que interactúa con él.
El dispositivo móvil Openmoko es totalmente configurable y ofrece a su
portador la ventaja de las comunicaciones móviles GSM/GPRS y la asociación
al sistema de monitorización mediante la conexión Bluetooth.
Brazalete: Es el dispositivo de monitorización que el agresor está
obligado a portar y puede ser de muñeca o de tobillo. Además de los módulos
GPS y GSM/GPRS con los que habitualmente estan dotados estos
dispositivos, el brazalete de nuestro sistema debe contar con un módulo de
comunicaciones Bluetooth. El sistema penal español ha escogido a la empresa
ElmoTech para suministrar la tecnología de monitorización, con su producto
StaR [41] que consta de dos componentes: un brazalete anclado a la muñeca o
el tobillo y un receptor GPS de bolsillo, que además cuenta con un módulo de
comunicación GPRS, pero no tiene módulo de comunicaciones Bluetooth.
La mayor dificultad desde el punto de vista tecnológico la presenta la
falta de módulo Bluetooth el el brazalete contratado por el sistema penal
español. Para dar solución a este problema se plantean 2 soluciones:
1- Desarrollar un nuevo sistema brazalete-receptor para el agresor. Esta
solución es la que supone mayor trabajo puesto que además de desarrollar un
receptor con los módulos GPS, GPRS y Bluetooth, se debe diseñar el brazalete
que irá anclado a la muñeca o tobillo, con todas las características de
seguridad que den garantia de que no será retirado ni alterado.
2- Diseñar y desarrollar un módulo Bluetooth independiente. Esta
solución es más sencilla y económica, puesto que existen en el mercado
dispositivos Embedded Bluetooth programables [49][50], a los que solamente
sería necesario agregarle un módulo RF para asociarlo al receptor GPS STaR y
76
dotarlos de alimentación dentro de una caja con protección contra agua y
polvo. La dificultad de ésta solución radica en la necesidad de que el agresor
porte ahora 3 elementos en lugar de 2.
Para ofrecer los servicios del sistema, se instalan servidores con alcance
Bluetooth programado de manera que cubran el área a la que se desea dar
servicio. Estos servidores contienen una base de datos actualizable con la
información de cada uno de los localizadores instalados en la edificación así
como la información que permita identificar tanto los dispositivos de las
personas protegidas como de sus agresores. Los servidores están
constantemente buscando receptores. La búsqueda se realiza usando un
código de acceso dedicado, DIAC, descrito en el estándar Bluetooth. Este
código permite que sólo los dispositivos configurados con él sean descubiertos,
permitiendo descartar a todos los dispositivos Bluetooth configurados con un
código general, como los móviles o PDAs, y haciendo la búsqueda y
descubrimiento de los dispositivos del sistema mucho más eficiente.
El formato general del paquete de comunicación de datos del estándar
Bluetooth se muestra en la Figura 48. [51]
Figura 48. Formato del paquete para comunicación de datos Bluetooth
Cuando el servidor o los localizadores están haciendo una búsqueda de
dispositivos, envían una señal de Request que incluye el paquete mostrado en
la Figura 48, los dispositivos que estan a la escucha o a la espera de una
comunicación analizan el paquete enviado y si el código de acceso
corresponde al suyo responden el Request, de lo contrario, simplemente lo
77
ignoran. Con este método se consiguen optimizar las comunicaciones del
sistema puesto que solamente responderán a la búsqueda los dispositivos
móviles que pertenezcan a nuestro sistema de posicionamiento, ignorando
todos los demás dispositivos Bluetooth.
Para descubrir los dispositivos Bluetooth que se encuentran a nuestro
alcance, el terminal que realiza la búsqueda debe encontrarse en el estado
denominado por la norma Inquiry. Este proceso consiste en la búsqueda del
código de acceso asignado al dispositivo en las 16 frecuencias disponibles para
el inquiry. Dicho proceso de descubrimiento puede ser efectuado de dos formas
distintas:
1. Modo normal: la longitud de búsqueda de dispositivos se realiza cada
11,25 ms por defecto (Tw_inquiry_scan). Este se realiza en un único
salto de frecuencia definido en el estándar como XIR4-0 y el cual se
determina en base al reloj del dispositivo maestro.
2. Modo entrelazado: hace uso de dos períodos de exploración de
T_w_inquiry_scan. El valor de este temporizador se corresponde con
11,25 ms. El primer periodo hace uso del salto en frecuencias normal, es
decir, se halla mediante XIR4-0 y el segundo se determina como [XIR4-0
+ 16]mod32.En esta situación, se hacen uso de 32 frecuencias
dedicadas, de ahí que se necesite al menos dos veces la ventana de
exploración para poder hacer uso de dicho modo.
Los tiempos de descubrimiento podrían ser acelerados mediante la
modificación de los tiempos asignados a la ventana de descubrimiento y al
intervalo de exploración. Estos valores se pueden modificar por medio del
comando HCI siguiente:
Write Inquiry Scan Activity Command: se encarga de escribir los
valores para el intervalo y la ventana de exploración. El “Inquiry Scan Interval”
78
define la cantidad de tiempo que transcurre entre dos exploraciones. El “Inquiry
Scan Window” define la cantidad de tiempo que dura el proceso de búsqueda.
Cuando una persona que porte un localizador o un brazalete entra en el
espacio monitoreado, se le envía un mensaje de texto y/o audible informándole
que ha ingresado dentro de un perímetro vigilado por el sistema. Los
localizadores están constantemente en búsqueda de dispositivos, cuando
encuentra alguno perteneciente al sistema, lo comunica al servidor, de esta
manera se tiene una ubicación constante de las personas con receptor y con
brazaletes.
D B
R E C E P T O R
D B
L O C A L I Z A D O RL O C A L I Z A D O R
L O C A L I Z A D O R
L O C A L I Z A D O R
L O C A L I Z A D O R
L O C A L I Z A D O R
L O C A L I Z A D O R
S E R V I D O R
L A N
B R A Z A L E T E
S E R V I D O R
Figura 49. Arquitectura del sistema de localización indoor propuesto
El sistema y, mas en concreto, el servidor posee una base de datos con
las direcciones MAC de todos los receptores y de los brazaletes que el sistema
penal tiene dispuestos. Si el sistema detecta que una víctima de maltrato y su
agresor estan en el mismo espacio monitoreado, envía una señal de alerta a la
víctima informándole que el agresor está muy cerca para que tome las
79
acciones necesarias (salir del edificio, buscar personal de seguridad u otra),
simultáneamente el sistema envía un aviso a las autoridades policiales
informándoles que tanto víctima como agresor están dentro de un mismo
edificio. En este punto se llega a una encrucijada, puesto que existe la
posibilidad de que el encuentro sea fortuito y no acoso por parte del agresor y
por ello tampoco se le puede privar de su derecho a la libre movilidad. Se
propone que una vez el sistema determine e informe a las autoridades
respectivas que victima y maltratador se encuentran en el mismo espacio,
estas autoridades hagan una llamada al maltrador recordándole que está
siendo monitoreado pero sin comunicarle que la víctima se encuentra cerca, y
también realizar constantes llamadas a la víctima para asegurarse que está
bajo resguardo mientras las autoridades llegan al sitio si lo consideran
necesario.
Para hacer más eficiente la comunicación, el archivo que se transmita a
los receptores puede ser un archivo de texto sin formato y que solo pese unos
pocos cientos de bytes. Una vez es el receptor lo acepta, lo procesa en el
software Text to speech y entrega la alerta de manera audible en los
dispositivos de audio del Openmoko junto con la visualización de la alerta en la
GUI del dispositivo móvil.
Los siguientes diagramas de flujo muestran la interacción entre los
dispositivos del sistema.
80
I n i c i o
S e r v i d o r b u s c a d i s p o s i t i v o s d e l
s i s t e m a
D i s p o s i t i v o e n c o n t r a d o
Q u e t i p o d e d i s p o s i t i v o e s ?
E n v i a r n o t i f i c a c i ó n d e i n g r e s o e n u n
p e r í m e t r o v i g i l a d o
C o n s u l t a r a s o c i a c i ó n c o n
B r a z a l e t e
E n v i a r n o t i f i c a c i ó n d e i n g r e s o e n u n
p e r í m e t r o v i g i l a d o
D B
E l b r a z a l e t ea s o c i a d o e s t á d e n t r o
d e l r a n g o ?
E n v i a r i n f o r m e d e a l e r t a a l a
v í c t i m a
E n v i a r i n f o r m e d e a l e r t a a l a s
a u t o r i d a d e s
F i n
R e c e p t o r B r a z a l e t e
S I
N O
Figura 50. Diagrama de flujo entre Servidor y Receptor.
81
I n i c i o
L o c a l i z a d o r b u s c a d i s p o s i t i v o s d e l
s i s t e m a
D i s p o s i t i v o e n c o n t r a d o
E n v i a r a l s e r v i d o r l a M A C d e l d i s p o s i t i v o
e n c o n t r a d o
Figura 51. Diagrama de flujo para el Localizador.
Como podemos observar en la figura 51, la función del localizador es
muy sencilla y sirve de apoyo para que el servidor conozca la posición de los
receptores y brazaletes en todo momento con una presición de solo un par de
metros. Como ya se habia mencionado, el sistema que se usa para realizar la
localización mediante Bluetooth es el de variar el Transmit Power Level, lo cual
nos crea una zona circular en la que se encuentra el dispositivo (Figura 22) y
dado que el alcance del localizador es mucho menor que el del servidor, este
último puede conocer la ubicación de los dispositivos móviles al conocer la
posición de cada localizador fijo que le informa cuando un dispositivo a entrado
en su radio de alcance.
Dado que las órdenes de alejamiento abarcan distancias superiores a
150 metros, la solo detección de un receptor y su brazalete asociado en la
misma zona de cobertura de un servidor es suficiente para alertar tanto a la
víctima como a las autoridades. La utilidad del localizador se puede ver con
mayor claridad para los otros tipos de servicios que se pueden ofrecer con el
sistema que se propone, como por ejemplo un sistema de orientación para
discapacitados visuales. En este caso, los localizadores pueden estar ubicados
en puntos específicos en donde se requiera dar algun tipo de información como
82
puertas de embarque terminales de transporte, ascensores, salidas de
emergencia y otros puntos de interés.
Cuando un receptor entre en el alcance de un localizador, éste transmite
su posición al servidor, quien a su ves envia al receptor la información
correspondiente a ese punto específico; esta información puede ser de tipo
explicativo, como por ejemplo los arribos de trenes expuestos en los tablones,
o esta información puede servir para localizar puntos de interés como las
escaleras eléctricas de un edificio o la salida de emergencia. La información
transmitida via Bluetooth hacia los receptores puede ser un archivo de audio o
un texto plano, caso en el cual hacemos nuevamente uso de la herramienta
Text to speech instalada en el dispositivo Openmoko.
Resulta de mucha utilidad poder configurar el alcance de los
transmisores Bluetooth mediante el ajuste de la potencia de misión, tanto del
servidor como del localizador. Esto permite su mejor adecuación funcional a las
diversas aplicaciones (ej. no es lo mismo informar en el vestíbulo de una
estación sobre Llegadas / Salidas, que informar en una planta de un edificio
sobre el estado de un ascensor).
83
6. DESCRIPCION GENERAL DE LA APLICACIÓN
El lenguaje de modelado unificado (UML) es una propuesta de lenguaje
estándar para el desarrollo de software; UML fue desarrollado para visualizar,
especificar, construir y documentar software, sin embargo ha encontrado
aplicación en múltiples campos, siendo utilizado para realizar análisis de
negocio y diseño de hardware.
En los principios de la computación, los programadores no realizaban
análisis muy profundos sobre el problema a resolver. Con frecuencia
empezaban a escribir el programa desde el principio y el código necesario se
escribía conforme se necesitaba. Hoy en día es necesario contar con un plan
bien organizado; un cliente tiene que comprender lo que hará un equipo de
desarrolladores y tiene que ser capaz de señalar cambios si no han captado
claramente sus necesidades o si cambia de opinión durante el proceso.
UML es un lenguaje que permite visualizar las ideas que el desarrollador
establece a través del proceso de desarrollo y plasmarlas en modelos que
pueden ser interpretados por otro desarrollador. UML es un lenguaje que
permite especificar todas las decisiones tomadas, mediante modelos precisos,
completos y sin ambigüedad y, dado que UML es un lenguaje mayoritariamente
gráfico, es preciso definir primero cuales son las perspectivas del software y los
requerimientos del mismo.
84
El software que se desarrollará con base en las especificaciones del
apartado 6.1 permitirá a los usuarios que porten un dispositivo Openmoko
asociado al sistema de monitorización indoor (víctimas de maltrato), recibir
notificaciones cando entren en un espacio monitoreado por dicho sistema y
mensajes de alerta cuando la persona sobre quien recae la orden de
alejamiento y quien porta un brazalete de localización del sistema penitenciario,
ingrese en el mismo espacio monitoreado en el que se encuentra la víctima.
6.1. ESPECIFICACIÓN DE REQUERIMIENTOS
Los requerimientos de un sistema describen los servicios que ha de
ofrecer el mismo y las restricciones asociadas a su funcionamiento. Existen 2
tipos de requerimientos: Los Requerimientos funcionales expresan la
naturaleza del funcionamiento del sistema (como interacciona el sistema con su
entorno y cuales van a ser su estado y funcionamiento). A veces, tambien es
conveniente indicar lo que no hara el sistema. Los Requerimientos no
funcionales hacen referencia a las restricciones en el espacio de posibles
soluciones, como el Rendimiento del sistema: fiabilidad, tiempo de respuesta,
disponibilidad, Interfaces: dispositivos de E/S, usabilidad, interoperabilidad,
Proceso de desarrollo: estandares, herramientas, plazo de entrega.
Basándonos en las perspectivas mencionadas, podemos establecer los
requerimientos del software como:
6.1.1. Requerimientos funcionales
● El software debe permitir la comunicación de datos entre el móvil
85
Openmiko y los servidores del sistema.
● El software debe recibir de manera automática las notificaciones
enviadas via Bluetooth por el servidor, sin la necesidad de que el usuario
intervenga en el proceso.
● El software debe tomar el contenido del mensaje recibido y procesarlo
en un software text to speech.
● El software debe reproducir en los dispositivos de audio del móvil el
mensaje recibido ya convertido en voz.
● Los mensajes de alerta del software deben prevalecer sobre las demás
funciones del dispositivo Openmoko.
6.1.2. Requerimientos no funcionales
● El software se desarrollará bajo la ideología de software libre para
operar con sistema operativo LINUX.
● El software está contemplado para el dispositivo Openmoko pero podrá
ser exportado a cualquier dispositivo con sistema operativo LINUX.
Basándonos en estos requerimientos y siguiendo con el proceso
planteado por UML, el siguiente paso es determinar los casos de uso.
6.2. CASOS DE USO
Los Casos de Uso nos ayudan a describir qué es lo que es sistema debe
hacer. Los Casos de Uso son qué hace el sistema desde el punto de vista del
usuario. Es decir, describen un uso del sistema y cómo este interactúa con el
86
usuario.
6.2.1 Diagrama de Casos de Uso
En el diagrama de casos de uso se representa el sistema como una caja
rectangular con el nombre en su interior y los actores fuera, y cada actor está
unido a los casos de uso en los que participa mediante una línea. Un actor es
algo con comportamiento, como una persona (identificada por un rol), un
sistema informatizado u organización, y que realiza algún tipo de interacción
con el sistema. Se representa mediante una figura humana y esta
representación sirve tanto para actores que son personas como para otro tipo
de actores.
Para la aplicación que se desarrollará, los actores son:
Receptor: Dispositivo Openmoko que contiene la aplicación diseñada y que
esta siempre con el módulo Bluetooth activo y dispuesto para ser localizado.
Servidor: Dispositivo fijo del sistema que tiene un amplio alcance Bluetooth y
que interactúa con el receptor y el brazalete una vez que han sido localizados e
identificados como pertenecientes al sistema de monitorización indoor.
Cabe anotar que el usuario del dispositivo Openmoko no se incluye entre
los actores puesto que la interacción entre servidor y receptor debe ser
automática, sin la intervención del usuario y sin la posibilidad de cambio de
configuración por parte del mismo para de esta manera evitar posibles fallos
debidos a una mala configuración.
87
R e c e p t o r S e r v i d o r
L o c a l i z a c i ó n I n d o o r
E n v i a r _ N o t i f i c a c i ó nI n g r e s o
*
*
I d e n t i f i c a r _ C ó d i g o*
*
« e x t e n d s »
« e x t e n d s »
B u s c a r _ D i s p o s i t i v o s
*
** *
E n v i a r _ A v i s o A l e r t a
« e x t e n d s »
P r o c e s a r _ T T S
*
*
Figura 52. Diagrama de Casos de Uso.
El tipo de relación caracterizado por la flecha se denomina
generalización y cumple una doble función dependiendo de su estereotipo, que
puede ser de Uso (<<uses>>) o de Herencia (<<extends>>). Este tipo de
relación esta orientado exclusivamente para casos de uso, no para actores, por
lo cuál el sentido de la flecha sale desde el actor sobre quien opera el caso de
uso.
Como podemos observar, existen 5 casos de uso en nuestra aplicación:
Buscar_Dispositivos CU_1
Indentificar_Código CU_2
Enviar_Notificación_Ingreso CU_3
Enviar_Aviso_Alerta CU_4
Procesar_TTS CU_5
Tabla 5. Lista de Casos de Uso.
88
6.2.2. Detalles de Casos de Uso
Nombre: Buscar_Dispositivos
Identificación: CU_1
Actor_Participante: Servidor
Precondiciones:
El software y el dispositivo Bluetooth del servidor deben encontrarse operativos.
Flujo de Eventos:
1. El servidor busca dispositivos Bluetooth dentro de su rango usando el código de acceso dedicado DIAC.
Nombre: Identificar_Código
Identificación: CU_2
Actor_Participante: Receptor, Servidor
Precondiciones:
● La aplicación del receptor debe haberse inicializado y el dispositivo Bluetooth del receptor debe encontrarse operativo.
● El servidor debe haber realizado la búsqueda del CU_1.
Flujo de Eventos:
1. El servidor ha realizado una búsqueda de dispositivos Bluetooth usando el código de acceso dedicado DIAC.
2. El receptor examina el paquete enviado por el servidor en el request.
3. Si el código de acceso corresponde al que tiene configurado, el receptor responde el request.
Caminos Alternos:
1. Si el receptor recibe un request con un código distinto al que tiene configurado, ignora la petición.
89
Nombre: Enviar_Notificación_Ingreso
Identificación: CU_3
Actor_Participante: Servidor, Receptor
Precondiciones:
Debe haberse completado CU_2 y los dispositivos Bluetooth del receptor y del servidor deben haber realizado el hanshake.
Flujo de Eventos:
1. El servidor ha reconocido un dispositivo Bluetooth asociado al sistema dentro de su rango de alcance.
2. El servidor transmite al dispositivo móvil localizado, via Bluetooth, una archivo de texto informándole que ha ingresado en un espacio monitoreado por el sistema de localización indoor.
3. El receptor recibe de manera autónoma el archivo de texto transmitido.
4. El servidor consulta en su base de datos para determinar si el dispositivo localizado es un receptor o un brazalete y su correspondiente par receptor-brazalete5.
Nombre: Enviar_Aviso_Alerta
Identificación: CU_4
Actor_Participante: Servidor, Receptor
Precondiciones:
Debe haberse completado CU_2 y el servidor conoce la asociación receptor-brazalete para cada dispositivo dentro del rango.
Flujo de Eventos:
1. El servidor ha realizado una búsqueda de dispositivos (CU_1) y ha detectado un brazalete asociado a un receptor dentro del rango de alcance.
2. El servidor envía al receptor un archivo de texto alertándole de la presencia del agresor en el mismo espacio.
5 Este evento se realiza en el servidor y por eso no se desarrolla en la aplicación de este trabajo. Se menciona únicamente para facilitar la comprensión del proceso de funcionamiento del sistema.
90
3. El receptor recibe de manera autónoma el archivo de texto transmitido.
4. El servidor envía una notificación a las autoridades correspondientes informando la presencia en el mismo espacio de víctima y agresor6.
Nombre: Procesar_TTS
Identificación: CU_5
Actor_Participante: Receptor
Precondiciones:
Debe haberse completado CU_3 o CU_4.
Flujo de Eventos:
1. La aplicación del receptor toma el archivo de texto y lo procesa en el software Text to speech.
2. La salida generada por el software Text to speech se entrega directamente en los dispositivos de audio del móvil Openmoko.
6.3. MODELO DE DOMINIO
Un modelo del dominio es una representación visual de las clases
conceptuales del mundo real, no de componentes del software. No se trata de
un conjunto de diagramas que describen clases de software, u objetos de
software con responsabilidad. Los modelos de dominio puede utilizarse para
capturar y expresar el entendimiento ganado en un área bajo análisis como
paso previo al diseño de un sistema. Similares a los mapas mentales utilizados
en el aprendizaje, el modelo de dominio es utilizado por el análista como un
medio para comprender el sector industrial o de negocios al cual el sistema va
a servir.
6 Este evento se realiza en el servidor y por eso no se desarrolla en la aplicación de este trabajo. Se menciona únicamente para facilitar la comprensión del proceso de funcionamiento del sistema.
91
El objetivo es capturar lo necesario para comprender donde va a
funcionar el sistema que estamos diseñando y esto demanda una cantidad
distinta de detalles cada vez. El modelo de dominio puede ser tomado como el
punto de partida para el diseño del sistema. Esto es así ya que cuando se
realiza la programación orientada a objetos, se supone que el funcionamiento
interno del software va a imitar en alguna medida a la realidad, por lo que el
mapa de conceptos del modelo de domino constituye una primera versión del
sistema.
S e r v i d o r
- D I A C
B u s q u e d a M e n s a j e- R e c e p t o r e s- B r a z a l e t e s
B D
- T e x t o- D e s t i n o
E n t r a d a- T e x t o- R e c e p t o r- A u t o r i d a d e s
A l e r t a
- U s u a r i o- M A C
R e c e p t o r
- U s u a r i o- M A C
B r a z a l e t e
- T e x t o
T T S
- T e x t o
G U I
1 *
c o n s u l t ar e a l i z a
e n v í a
a c e p t a
p r o c e s a
m u e s t r a
Figura 53. Modelo de Dominio.
Como ya se mencionó, el modelo de dominio es una representación de
las clases, no del software en sí, podríamos decir que un modelo de dominio es
un punto intermedio entre un diagrama de flujo del sistema y un diagrama de
clases, el cual ya es una abstracción del código con el que se contruye la
aplicación en un lenguaje de programación orientado a objetos.
En la figura 53 podemos observar algunas de las clases con las que se
construirá la aplicación, incluyendo los atributos que tendrán las mismas, así
como la relación existente entre ellas. Para identificar las clases que
92
construirán nuestro software, algunos autores proponen tomar como punto de
partida la descripción general de la solución y de ahí extraer todos los
sustantivos para después de un proceso de análisis, seleccionar las que nos
servirán pero observando mucho cuidado de no suprimir detalles y, ante la
duda, conservar las clases puesto que siempre habrá la posibilidad de
eliminarlas mas adelante.
Podemos observar que las principales clases que conformarán la
aplicación del receptor son: la que acepta los archivos de manera automática,
la que procesa el archivo en el software TTS y la que muestra el texto recibido
en la GUI del Openmoko.
6.4. DIAGRAMAS DE SECUENCIA PARA DESCRIPCION DE LOS CASOS DE USO
Un diagrama de secuencia es una forma de diagrama de interacción que
muestra los objetos como líneas de vida a lo largo de la página y con sus
interacciones en el tiempo representadas como mensajes dibujados como
flechas desde la línea de vida origen hasta la línea de vida destino. Los
diagramas de secuencia son buenos para mostrar qué objetos se comunican
con qué otros objetos y qué mensajes activan esas comunicaciones.
Los diagramas de secuencia, documentan el diseño desde el punto de
vista de los casos de uso. Observando qué mensajes se envían a los objetos,
componentes o casos de uso y viendo a grosso modo cuanto tiempo consume
el método invocado, los diagramas de secuencia nos ayudan a comprender los
cuellos de botella potenciales, para así poder eliminarlos.
93
Para simplificar los diagramas, partiremos de la premisa de que tanto el
receptor como el servidor estan encendidos y completamente operativos y por
lo tanto, Buscar Dispositivos (CU_1) se convierte en el estado inicial del
sistema.
Identificar código
E l s e r v i d o r l a n z a u n r e q u e s t a l o s d i s p o s i t i v o s B l u e t o o t h e n s u r a d i o
E l R e c e p t o r r e s p o n d e e l r e q u e s t c o n u n H a n d s h a k i n g
R E C E P T O RS E R V I D O R
E l r e c e p t o r e x a m i n a e l c ó d i g o d e a c c e s o d e l p a q u e t e r e c i b i d o
Figura 54. Diagrama de secuencia para CU_2
Enviar notificación ingreso
E l s e r v i d o r t r a n s m i t e u n a r c h i v o d e t e x t o n o t i f i c a n d o e l i n g r e s o
E l R e c e p t o r r e c i b e e l a r c h i v o d e m a n e r a a u t o m á t i c a
V e r i f i c a l a i d e n t i d a d d e l u s u a r i o
O b t i e n e l a M A C d e l b r a z a l e t e
R E C E P T O RS E R V I D O R
D B
a s o c i a d o a e s e u s u a r i o
Figura 55. Diagrama de secuencia para CU_3
94
Enviar aviso alerta
E l s e r v i d o r t r a n s m i t e u n a r c h i v o d e t e x t o a l e r t á n d o l e l a p r e s e n c i a d e l a g r e s o r
E l R e c e p t o r r e c i b e e l a r c h i v o d e m a n e r a a u t o m á t i c a
B u s c a r e c e p t o r a s o c i a d o
D e t e r m i n a e l p a r r e c e p t o r- b r a z a l e t e
R E C E P T O RS E R V I D O R
D B
S e d e t e c t a u n b r a z a l e t e
S e e n v i a n o t i f i c a c i ó n a l a s a u t o r i d a d e s
Figura 56. Diagrama de secuencia para CU_4
Procesar TTS
R E C E P T O R
S e c a p t u r a e l a r c h i v o d e t e x t o
S e i n v o c a a l s o f t w a r e T T S
S e i n t r o d u c e e l t e x t o e n e l s o f t w a r e T T S
S e v u e l v e a l e s t a d o i n i c i a l
Figura 57. Diagrama de secuencia para CU_5
95
6.5. DIAGRAMA DE CLASES
Los diagramas de clases muestran las diferentes clases que componen
un sistema y cómo se relacionan unas con otras. Se dice que los diagramas de
clases son diagramas «estáticos» porque muestran las clases, junto con sus
métodos y atributos, así como las relaciones estáticas entre ellas: qué clases
«conocen» a qué otras clases o qué clases «son parte» de otras clases, pero
no muestran los métodos mediante los que se invocan entre ellas.
Una clase define los atributos y los métodos de una serie de objetos.
Todos los objetos de esta clase (instancias de esa clase) tienen el mismo
comportamiento y el mismo conjunto de atributos (cada objetos tiene el suyo
propio). Una clase se representa mediante un rectángulo, dividido en tres
sectores: el primero indica el nombre asignado a la clase, el segundo los
atributos y el tercero las operaciones.
Las clases se puede asociar con otras de diferentes maneras:
Generalización: La herencia es uno de los conceptos fundamentales de
la programación orientada a objetos, en la que una clase “recoge” todos los
atributos y operaciones de la clase de la que es heredera, y puede
alterar/modificar algunos de ellos, así como añadir más atributos y operaciones
propias. Asociaciones: Una asociación representa una relación entre clases, y
aporta la semántica común y la estructura de muchos tipos de conexiones entre
objetos. Las asociaciones son los mecanismos que permite a los objetos
comunicarse entre sí. Describe la conexión entre diferentes clases (la conexión
entre los objetos reales se denomina conexión de objetos o enlace).
Acumulación: Las acumulaciones son tipos especiales de asociaciones en las
que las dos clases participantes no tienen un estado igual, pero constituyen
una relación completa. Una acumulación describe cómo se compone la clase
que asume el rol completo de otras clases que se encargan de las partes. En
96
las acumulaciones, la clase que actúa como completa, tiene una multiplicidad
de uno. Composición: Las composiciones son asociaciones que representan
acumulaciones muy fuertes. Esto significa que las composiciones también
forman relaciones completas, pero dichas relaciones son tan fuertes que las
partes no pueden existir por sí mismas. Únicamente existen como parte del
conjunto, y si este es destruido las partes también lo son.
# m a i n ( S t r i n g [ ] ) : v o i d < < s t a t i c > > ( )
+ c o n e x i o n e s : B l u e t o o t h [ ]+ v o z : T T S [ ]+ t e x t o : G U I [ ]+ v e n t a n a P r i n c i p a l : J F r a m e
C o n t r o l M a e s t r o
+ c o n s u l t a r ( O b j e c t ) : O b j e c t ( )- c o n s u l t a : S t r i n g [ ]
+ L o g f i l e D I A C
- a c e p t a r ( ) : b o l e a n ( )- a l m a c e n a r M ( O b j e c t ) : O b j e c t ( )
- D I A C : S t r i n g [ ]
< < a b s t r a c t > > C o n e x i o n S e r v i d o r
- a l m a c e n a r M ( O b j e c t ) : O b j e c t ( )
< < i n t e r f a c e > > B l u e t o o t h
+ C a r g a r ( )+ I n i c i a r ( )
- f i l e : O b j e c t
< < a b s t r a c t > > + V o z
- I m p o r t a r ( )- L e e r ( )- C e r r a r ( )
< < i n t e r f a c e > > T T S
+ C a r g a r ( )
- f i l e : O b j e c t
< < a b s t r a c t > > + T e x t o
- I m p o r t a r ( )- M o s t r a r ( )
< < i n t e r f a c e > > G U I
Figura 58. Diagrama de Clases
6.5.1. Patrones de Diseño
Los Patrones de diseño, también conocidos como "Design Patterns" son
97
soluciones simples y elegantes a problemas específicos y comunes del diseño
orientado a objetos. Son soluciones basadas en la experiencia y que se ha
demostrado que funcionan. Es evidente que a lo largo de multitud de diseños
de aplicaciones hay problemas que se repiten o que son análogos, es decir,
que responden a un cierto patrón. Sería deseable tener una colección de
dichos patrones con las soluciones más óptimas para cada caso. En este
artículo presentamos una lista con los más comunes y conocidos. [52]
Los patrones de diseño no son fáciles de entender, pero una vez
entendido su funcionamiento, los diseños serán mucho más flexibles,
modulares y reutilizables. Han revolucionado el diseño orientado a objetos y
todo buen arquitecto de software debería conocerlos.
El patrón de diseño Factory Method consiste en utilizar una clase
constructora abstracta con unos cuantos métodos definidos y otro(s)
abstracto(s): el dedicado a la construcción de objetos de un subtipo de un tipo
determinado. Es una simplificación del Abstract Factory, en la que la clase
abstracta tiene métodos concretos que usan algunos de los abstractos; según
usemos una u otra hija de esta clase abstracta, tendremos uno u otro
comportamiento.
Figura 59. Patrón Factory Method – Paquete Interfaz
98
El patrón Abstract Factory ofrece una interfaz para la creación de
familias de productos relacionados o dependientes sin especificar las clases
concretas a las que pertenecen.
La estructura típica de éste patrón es: 1. La definición de interfaces para
la familia de productos genéricos (ej: ventana, menú, botón...) 2.
Implementación de las interfaces de los productos para cada una de las
distintas familias concretas.
Figura 60. Patrón Abstract Factory – Paquete Voz
El patrón Bridge es una técnica usada en programación para desacoplar
una abstracción de su implementación, de manera que ambas puedan ser
modificadas independientemente sin necesidad de alterar por ello la otra.
Figura 61. Patrón Bridge – Paquete Entidad
99
6.6. DIAGRAMA DE SECUENCIA
En este punto, cuando ya tenemos una idea clara de como interactuan
los componentes del sistema y tenemos definidas algunas clases y paquetes
que construirán nuestra aplicación, podemos realizar un diagrama de
secuencia en el sentido estricto de UML, incluyendo en él los métodos que
emplean las clases.
Figura 62. Diagrama de secuencia de la aplicación
100
A la hora de documentar un diagrama de secuencia resulta importante
mantener los enlaces de los mensajes a los métodos apropiados del diagrama
de clases.
En la figura 62 podemos observar los paquetes entidad, voz e interfaz
que serán implementados mediante patrones de diseño y los diferentes
métodos que deberán ser implementados para lograr la comunicación entre
éstos y el hardware del receptor y el servidor.
Finalmente, una vez que hemos definido una estructura de nuestra
aplicación que incluye la secuencia a seguir por cada uno de los componentes,
las principales clases a implementar y los métodos de las mismas, es momento
para iniciar con la programación. Todo el trabajo en UML previo a la escritura
del código fuente nos sirve para estructurar el software de una manera que sea
fácil de comprender por cualquier conocedor del lenguaje UML y también para
que el software sea modular y podamos reemplazar o reutilizar las clases que
necesitemos en otra parte de la aplicación.
6.7. PROGRAMACIÓN DEL OPENMOKO
Hay tres capas de software en el FreeRunner:
● uBoot: Piensa en u-boot como una combinación de BIOS y Grub de un
PC.
● Kernel: El kernel Linux
● Sistema de archivos raíz (rootfs): El resto del sistema
Para mantener el FreeRunner actualizado con las últimas
funcionalidades y reparaciones de errores, se recomienda actualizar el software
de manera regular. Hay principalmente dos maneras de realizar la
actualización: a través del Gestor de paquetes opkg o flasheando manualmente
101
el dispositivo. De momento, usar el gestor de paquetes es suficiente, no
necesitas aprender Métodos de arranque del Neo FreeRunner y Flashear el
Neo FreeRunner todavía, aunque deberías tener en cuenta lo siguiente: uBoot,
el kernel y el rootfs pueden ser flasheados para actualizarlos. Para uBoot es la
única manera. La ventaja de actualizar el kernel a través de flashear
manualmente respecto a utilizar opkg parece ser la velocidad. La principal
desventaja de actualizar el rootfs a través del flasheo es que elimina todas las
modificaciones que hayas hecho al teléfono previamente, incluyendo los
contenidos del /home.
Asumiendo que el FreeRunner tenga acceso a Internet, el kernel y otros
paquetes pueden ser actualizados con
# opkg update
# opkg -test upgrade
# opkg upgrade
La primera instrucción actualiza la lista de paquetes disponibles
(repositorio). La segunda te permite ver que paquetes se van a actualizar sin
llegar a hacerlo. La tercera actualiza todos los paquetes a la ultima versión
disponible.
El Xserver debe actualizarse a través de ssh para que el proceso se
complete satisfactoriamente. Dropbear puede ser actualizado a través de ssh
con los comando adecuados:
# nohup opkg upgrade dropbear &
o actualizarlo directamente desde el terminal del teléfono.
# opkg upgrade dropbear
102
Cuando actualizas a través de ssh, la sesión puede ser interrumpida,
pero el comando puede completarse correctamente (comprueba nohup.out en
el dispositivo para comprobarlo), y puedes volver a reconectar si la
desconexión dura pocos segundos.
Instalando multimedia, navegación Web y otras aplicaciones
Hay muchas aplicaciones que se pueden instalar, se comprueba los
repositorios para la lista de paquetes. Es posible añadir un repositorio usando
scaredy cat como un ejemplo.
El calendario puede instalarse así:
opkg install openmoko-dates2
Para un reproductor de medios:
opkg install openmoko-mediaplayer2
wget http://abraxa.dyndn.org:81/random/openmoko-mediaplayer-
theme.tar.bz2 tar xjf openmoko-mediaplayer-theme.tar.bz2 -C
/usr/share/themes/Moko/gtk-2.0 rm openmoko-mediaplayer-
theme.tar.bz2
Para obtener el navegador web estándar, usa:
opkg install openmoko-browser2
Para poder ejecutar aplicaciones en el dispositivo Openmoko, son
necesarias una serie de herramientas que nos proporcione compatibilidad con
arquitecturas empotradas. Para la instalación de las herramientas, existe un
103
paquete en la web de la plataforma denominado Toolchains:
http://wiki.openmoko.org/wiki/Toolchain.
Es necesario seguir una serie de pasos, que ademas dependen del tipo
de procesador y del sistema operativo que posea el pc de trabajo:
● Descarga del paquete para el procesador del pc de trabajo: wget
http://downloads.openmoko.org/developer/toolchains/openmokox86_64-
arm-linux-gnueabi-toolchain.tar.bz2
● Debera ser instalado en: /usr/local/openmoko/.
● Se extrae: cd/tar-zxvf~/sources/openmoko-XYZ-arm-linux-gnueabi-
oolchain.tar.bz2
● Se ejecuta este archivo para alterar algunas variables de entorno que
seran necesarias: . /usr/local/openmoko/arm/setup-env
● Se anade en el PATH este directorio para poder usar los archivos desde
cualquier directorio: export PATH=$PATH:/usr/local/openmoko/arm/bin
● Antes de cargar las librerias son necesarias otras variables de
entorno: . /usr/local/openmoko/arm/environment-setup
● Se actualizan las base de datos opkg: opkg-target update
● Finalmente se instalan las librerias necesarias: opkg-target list |grep
edje-dev, opkg-target install libedje-dev
Compilador cruzado
Es la compilación de código fuente realizada bajo una determinada
arquitectura que genera código ejecutable para una arquitectura diferente. Para
realizar este tipo de compilación es necesario contar con una serie de
programas y librerías que establezcan un ambiente propicio para llevar a cabo
esta tarea. Este ambiente se denomina entorno de compilación cruzada.
El Huésped, es en donde se realiza la compilación del sistema, y el Objetivo
donde se ejecuta el código, intel 80386 y arm respectivamente.
104
Figura 63. Compilación cruzada en Linux
Conexión Openmoko con PC
En Linux
Para conectar Openmoko con el pc, haremos uso de un cliente ssh, asi
veremos en nuestra pantalla aquello que se esta ejecutando en Openmoko.
Los pasos a seguir son:
Configuramos la conexión:
sudo ifconfig usb0 192.168.0.200 netmask 255.255.255.0
Comprobamos la misma:
ping -I usb0 192.168.0.202
105
Nos conectamos al Openmoko, a partir de ahora la pantalla que tenemos
se esta ejecutando en el Openmoko:
sudo ssh root@192.168.0.202
password: “dejar en blanco”
Para salir:
exit
En Windows
Para la virtualización de una distribución de Linux en Windows, se puede
usar VirtualBox, que genera una maquina virtual en la que se puede obtener
casi todas las funcionalidades del sistema operativo instalado en ella. A veces
los usb fallan y hay que compartir una carpeta con los archivos que deseas que
sean utiles en el sistema virtualizado. Pondremos en la barra de direcciones del
explorador de archivos la dirección de la carpeta, que se comunicaran con
samba (protocolo de comunicación entre sistemas operativos diferentes siendo
uno de ellos linux).
smb://10.0.2.2/Virtualbox
Realizando esta virtualización podemos proceder como lo indicado en el
punto anterior para la conexión entre Openmoko con Pc en linux.
En cualquier caso, para realizar la conexión directamente a traves de la
plataforma Windows, podemos hacer uso de Putty. En dicho programa,
tendremos que configurar las conexiones de red con la ip y la mascara que
usamos en linux. Es recomendable (y a veces imprescindible) el uso del mismo
conector USB.
root@192.168.0.202
password: “dejar en blanco”
106
6.8. COMUNICACIÓN BLUETOOTH
Para establecer la comunicación con el gestor de servicios, es decir, el
equipo que actuara como servidor ofreciendo una serie de servicios a los
distintos clientes, se va a establecer una comunicación mediante el protocolo
RFCOMM. Esta cubrira todas las necesidades que surjan a lo largo de la
comunicación.
El protocolo RFCOMM emula los parametros de un cable de serie y el
estado de un puerto RS-232 para transmitir datos en serie. El RFCOMM se
conecta a las capas inferiores de la pila de protocolos Bluetooth a traves de la
capa L2CAP. Al emular los puertos en serie, es compatible con aplicaciones
heredadas que utilizan este tipo de conexión y admite, al mismo tiempo, el
protocolo OBEX entre otros. Se trata de un subconjunto del estandar ETSI TS
07.10 con algunas adaptaciones especificas para la tecnologia Bluetooth.
El protocolo RFCOMM es compatible con un maximo de 60 conexiones
simultaneas entre dos dispositivos Bluetooth. El numero de conexiones que
pueden usarse simultaneamente en un dispositivo Bluetooth depende de la
aplicación en cuestion.
En el contexto de RFCOMM, una ruta de comunicación completa
necesita dos aplicaciones funcionando en dispositivos diferentes (los extremos
de la comunicación) con un segmento de comunicación entre ellos. La figura
anterior muestra la ruta de comunicación completa (en este contexto, el termino
"aplicación" puede hacer referencia a varias cosas, ademas de una aplicación
de usuario final, como protocolos de capas superiores u otros servicios que
actuan en nombre de aplicaciones de usuario final).
RFCOMM se destina a aplicaciones que utilizan los puertos de serie de
los dispositivos en los que residen. En configuración sencilla, el segmento de
comunicación es un enlace Bluetooth de un dispositivo a otro (conexión
107
directa); consulte la figura de la izquierda. Cuando el segmento de
comunicación es otra red, la tecnologia inalambrica Bluetooth se usa como la
ruta entre el dispositivo y un dispositivo de conexión a la red, como un modem.
RFCOMM solo se ocupa de la conexión entre los dispositivos en el caso de una
conexión directa, o entre el dispositivo y un modem en el caso de una conexión
en red.
RFCOMM es compatible con otras configuraciones, como modulos que
comunican mediante tecnologia inalambrica Bluetooth por un lado y
proporcionan una interfaz con cables por otro, como se muestra en la figura de
abajo. Estos dispositivos no son realmente un modem, pero ofrecen un servicio
similar. Por lo tanto, no se comentan aqui en mas detalle.
Basicamente, hay dos tipos de dispositivo con los que RFCOMM debe
ser compatible. Los dispositivos de tipo 1 son terminales de comunicación,
como ordenadores e impresoras. Los dispositivos de tipo 2 son los que forman
parte del segmento de comunicación, como el modem, por ejemplo. Si bien
RFCOMM no distingue entre estos dos tipos de dispositivo en el protocolo, la
compatibilidad con ambos tipos de dispositivos afecta al protocolo RFCOMM.
SDP
El Protocolo de Descubrimiento de Servicios (Service Discovery Protocol
o SDP) permite a las aplicaciones cliente descubrir la existencia de diversos
servicios proporcionados por uno o varios servidores de aplicaciones, junto con
los atributos y propiedades de los servicios que se ofrecen.
Estos atributos de servicio incluyen el tipo o clase de servicio ofrecido y
el mecanismo o la información necesaria para utilizar dichos servicios. SDP se
basa en una determinada comunicación entre un servidor SDP y un cliente
SDP. El servidor mantiene una lista de registros de servicios, los cuales
describen las caracteristicas de los servicios ofrecidos. Cada registro contiene
108
información sobre un determinado servicio. Un cliente puede recuperar la
información de un registro de servicio almacenado en un servidor SDP
lanzando una petición SDP. Si el cliente o la aplicación asociada con el cliente
deciden utilizar un determinado servicio, debe establecer una conexión
independiente con el servicio en cuestion. SDP proporciona un mecanismo
para el descubrimiento de servicios y sus atributos asociados, pero no
proporciona ningun mecanismo ni protocolo para utilizar dichos servicios.
Normalmente, un cliente SDP realiza una busqueda de servicios acotada
por determinadas caracteristicas. No obstante hay momentos en los que resulta
deseable descubrir todos los servicios ofrecidos por un servidor SDP sin que
pueda existir ningun conocimiento previo sobre los registros que pueda
contener. Este proceso de busqueda de cualquier servicio ofrecido se
denomina navegación o browsing. La tecnologia inalambrica Bluetooth hace un
uso muy amplio de procesos de descubrimiento que permiten a los dispositivos
identificarse entre si cuando entran dentro del radio de acción y establecer las
conexiones apropiadas para que los dispositivos puedan ejecutar las
aplicaciones comunes y acceder a varios servicios.
Por medio del descubrimiento de servicios, las redes personales son
basicamente autoconfigurables; esto, a su vez, hace a los dispositivos
portatiles muy sencillos de utilizar. Las conexiones son enteramente
transparentes para el usuario, y no requieren asistentes de instalación ni
configuraciones en linea.
SERIALIZACIÓN
La comunicación Bluetooth es comunicación serie, por tanto para lograr
una transmisión más eficiente, se realizará una serialización y recuperación de
archivos que no sean archivos de texto, para ello se ha implementado la
aplicación b64, que actúa como codificador y decodificador de binario a arrays
de caracteres en base-64.
109
Base64 es un sistema de numeración posicional que usa 64 como base.
Es la mayor potencia de dos que puede ser representada usando únicamente
los caracteres imprimibles de ASCII. Esto ha propiciado su uso para
codificación de correos electrónicos, PGP y otras aplicaciones. Todas las
variantes famosas que se conocen con el nombre de Base64 usan el rango de
caracteres A-Z, a-z y 0-9 en este orden para los primeros 62 dígitos, pero los
símbolos escogidos para los últimos dos dígitos varían considerablemente de
unas a otras. Otros métodos de codificación como UUEncode y las últimas
versiones de binhex usan un conjunto diferente de 64 caracteres para
representar 6 dígitos binarios, pero éstos nunca son llamados Base64.
El servidor se encarga de generar o extraer los archivos binarios y
prepararlos en forma de cadena para que puedan ser enviados a través de la
pasarela tras una petición por parte del receptor. Por tanto, el servidor es el que
serializa la información.
Una vez el receptor ha recibido el string, la aplicación escrita en C,
llamada b64, es la encargada de reconstruir el archivo y volcarlo a un stream o
archivo .ogg (en el caso de que sea audio) para ser reproducido por Mplayer.
Hay que tener en cuenta que aunque está pensando y planteado para
audio, en un futuro es perfectamente reutilizable para trabajar con cualquier
archivo “no de texto” susceptible de ser serializado.
Existen varias librerías para realizar para trabajar con base 64, aunque
por motivos de flexibilidad y rendimiento, hemos decidido realizar la conversión
desde cero, con lo que el archivo b64.c contiene toda la lógica de conversión.
Este fuente está creado con licencia OpenSource por Bob Trower y está
incluido prácticamente sin modificaciones.
110
Aunque existen diversos modos de uso de la aplicación, en nuestro caso
sólo la utilizaremos como decodificador, luego la sintaxis es la siguiente:
./b64 -d b64file binfile
Con lo que es necesario volcar mediante el comando “>” el contenido de
la respuesta del apache a un fichero de texto.
6.9. FESTIVAL TTS
Tamaño en disco de la instalación es de 11MB. Esto incluye Archivos de
compilación y voz masculina castellano de Andalucía. Cada voz adicional
ocupa entre 3 y 5 MB.
La configuración para lengua castellana no se hace por defecto, es
necesario editar varios archivos de configuración. Linea de comando para la
instalación con voz andaluza es:
#$: sudo apt-get install festival festlex-cmu festvox-palpc16k
Una vez instalado Festival TTS se debe configurar el lenguaje
castellano, editando 2 archivos .scm, añadimos:
festival.scm
(set! language_castillian_spanish)
(Parameter.set 'Language 'spanish)
(set! voice_default 'voice_JuntaDeAndalucia_es_pa_diphone)
languages.scm
(define (language_castillian_spanish)
(voice_JuntaDeAndalucia_es_pa_diphone)
111
(set! male1 (lambda () (voice_JuntaDeAndalucia_es_pa_diphone)))
(Parameter.set 'Language 'spanish))
La programación de nuestros propios comandos se hace en C++. Esto
significa que podemos crear archivos ejecutables que lean automáticamente
documentos (.txt, .html, .xml) y generen la salida de audio de la manera que
deseemos.
6.9.1. Compresor / Descompresor
El espacio que ocupa una información codificada (audio en nuestro caso)
sin compresión es el cociente entre la frecuencia de muestreo y la resolución.
No obstante, la resolución viene impuesta por el sistema digital con que se
trabaja y difícilmente se puede alterar el número de bits a voluntad; por ello, se
utiliza la compresión, para transmitir la misma cantidad de información que
ocuparía una gran resolución en un número inferior de bits.
La compresión de datos se basa fundamentalmente en buscar
repeticiones en series de datos para después almacenar solo el dato junto al
número de veces que se repite. Así, por ejemplo, si en un fichero aparece una
secuencia como "AAAAAA", ocupando 6 bytes se podría almacenar
simplemente "6A" que ocupa solo 2 bytes.
El proceso que siguen los algoritmos de compresión es:
● Por un lado, algunos buscan series largas que luego codifican en formas
más breves.
● Por otro lado, algunos algoritmos examinan los caracteres más repetidos
para luego codificar de forma más corta los que más se repiten.
● Otros algoritmos construyen un diccionario con los patrones
112
encontrados, a los cuales se hace referencia de manera posterior.
La información que transmiten los datos puede ser de tres tipos:
1. Redundante: información repetitiva o predecible.
2. Irrelevante: información que no podemos apreciar y cuya eliminación
por tanto no afecta al contenido del mensaje. Por ejemplo, si las
frecuencias que es capaz de captar el oído humano están entre 16/20
Hz y 16.000/20.000 Hz s, serían irrelevantes aquellas frecuencias que
estuvieran por debajo o por encima de estos valores.
3. Básica: la relevante, la que debe ser transmitida para que se pueda
reconstruir la señal.
Los principales códecs (abreviatura de compresor) de audio son:
● MP1, MP2, MP3 (MPEG)
● AAC (AT&T)
● Ogg Vorbis
● WMA (Microsoft)
● TTA
● FLAC
● Speex
● AC3 (Dolby), entre otros
Debido a las características del proyecto, debemos escoger un códec de
audio con licencia BSD, es decir, software libre, por lo que la decisión de qué
códec escoger se limitó a solo 4 opciones: Speex, Vorbis, FLAC y TTA.
Speex Vorbis FLAC TTA
Velocidad Alta Muy Alta Alta Media
Tasa de
Compresión
90,00% 80,00% 57,00% 30,00%
113
Calidad Muy buena
solo para voz
Muy buena Buena Muy Buena
Pupularidad Mala Muy Alta Media MediaTabla 6. Códec de Audio.
Después de hacer pruebas de calidad de audio y tamaño de los archivos
comprimidos se escoge Ogg Vorbis como el códec para nuestro proyecto
debido a sus prestaciones y a su popularidad, ya que es el códec de licencia
BSD más difundido a nivel mundial y que tiene mayor compatibilidad con
diferentes reproductores de audio, además se puede variar sus parámetros de
bitrate y frecuencia de muestreo para obtener audio desde calidad CD hasta
voz para telefonía.
Un ejemplo de la difusión del formato Ogg Vorbis es el que Wikipedia lo
use para los archivos de audio disponibles en su website.
Ogg
Formato de archivo contenedor multimedia desarrollado por la
Fundación Xiph.org y es el formato nativo para los códec multimedia que
también desarrolla Xiph.org.
Como con la mayoría de formatos contenedores, Ogg encapsula datos
comprimidos (e incluso sin comprimir) y permite la interpolación de los datos de
audio y de vídeo dentro de un solo formato conveniente. Otros ejemplos de
formatos contenedores son AVI y Matroska.
El nombre "Ogg" por lo tanto se refiere al formato de archivo el cual
incluye un número de códecs separados e independientes de vídeo y audio
desarrollados en código abierto y, ya que su uso está libre de patentes, varios
códecs de Ogg han sido incluidos en muchos reproductores multimedia (VLC,
mplayer, etc.) existiendo incluso filtros para reproducir Ogg en Windows Media
114
Player, Bsplayer o Winamp.
La instalación del paquete Ogg Vorbis ocupa 1MB en disco duro.
Festival puede interactuar con oggenc pero desde línea de comando,
además, oggenc crea un archivo en el disco duro, por lo que se esta
desarrollando la manera de crear nuesta “propia versión” de oggenc en la cual
el archivo de audio se almacene en un buffer temporal y desde ahí salga hacia
el dispositivo de audio, sin pasar por el disco duro.
115
7. RESULTADOS EXPERIMENTALES
7.1. PRUEBAS DE DESCUBRIMIENTO BLUETOOTH
Hemos mensionado el código de acceso dedicado DIAC, pero para
verificar su efectividad frente al código genérico GIAC se realizaron diferentes
pruebas para diversas situaciones de operación donde las interferencias
introducidas por la presencia de los dispositivos pueden afectar al tiempo de
descubrimiento. Para ello, se han contemplado los siguientes casos:
Muchos dispositivos GIAC
Mediante la realización de esta prueba se pretende comprobar cómo se
comportan los dispositivos configurados con código de acceso genérico en el
proceso de búsqueda cuando existen una gran cantidad configurados con
dicho código. Este escenario se asimilaría a un servidor ubicado en un espacio
amplio, el cual descubriría a todos los dispositivos móviles configurados con
GIAC. El objetivo sería comprobar cuanto tiempo se tarda en descubrir dichos
dispositivos por parte del servidor para fijar un valor de length7 adecuado.
La prueba realizada ha consistido en la colocación de 15 dispositivos
repartidos por el interior de una habitación de dimensiones 3 m x 3 m. Todos
estos dispositivos se han configurado con código de acceso genérico.
7 Lenght es un ciclo de 1,28 segundos definido en el estándar Bluetooth. Los tiempos se expresan como multiplos de lenght.
116
Los resultados obtenidos han sido los siguientes:
Modo normal de descubrimiento:
Figura 64. Muchos dispositivos GIAC – Modo normal de descubrimiento.
Modo entrelazado de descubrimiento:
Para la realización de la prueba en modo entrelazado se han utilizado un
máximo de diez dispositivos configurados en modo entrelazado debido a la
carencia de dongles Bluetooth. A pesar de dicha diferencia, se consigue
mejorar la probabilidad de encontrar un mayor número de dispositivos para
bajos valores del campo Length. Además, la desviación obtenida se reduce en
cerca de una unidad, por lo que en el peor de los casos estaríamos
encontrando 8 de los diez dispositivos.
Figura 65. Muchos dispositivos GIAC – Modo entrelazado de descubrimiento.
117
Muchos dispositivos GIAC y pocos dispositivos DIAC
Esta segunda prueba se ha realizado para contemplar el caso en el que
el sistema esté configurado con código de acceso dedicado (DIAC) o limitado.
Se supone que el número de usuarios que pueden coincidir en un servidor es
bajo mientras que el número de dispositivos externos al sistema, los cuales
estarán configurado como dispositivos GIAC, puede ser elevado.
En concreto, los dispositivos DIAC fueron configurados con el código de
acceso 0x9e8b01. El motivo de usar este código es evitar posibles terminales
externos al sistema que estuvieran configurados como DIAC, que es el código
de acceso 0x9e8b00. Al igual que en el caso anterior, todos los dispositivos
fueron repartidos en el mismo recinto.
Los resultados obtenidos fueron:
Modo normal de descubrimiento:
Figura 66. Pocos dispositivos DIAC y muchos GIAC – Modo normal de descubrimiento.
118
Figura 67. Pocos dispositivos DIAC y muchos GIAC – Modo normal de descubrimiento.
Modo entrelazado de descubrimiento:
Figura 68. Muchos dispositivos GIAC y pocos DIAC – Modo entrelazado de descubrimiento.
Figura 69. Muchos dispositivos GIAC y pocos DIAC – Modo entrelazado de descubrimiento.
119
Pocos dispositivos GIAC y muchos dispositivos DIAC
Se han usado 5 dispositivos GIAC que se correspondían con 4 teléfonos
móviles y un ordenador portátil. El resto de dispositivos usados en la prueba se
configuraron como DIAC. La idea se corresponde con simular un entorno
similar al que se encontraría un servidor. En él, existirían muchos dispositivos
GIAC externos al sistema y con la posibilidad de que en un momento puntual
coincidan un gran número de personas en el servidor. Por este motivo, esta
prueba sirve para determinar cómo afectan las interferencias al proceso
descubrimiento.
Los resultados obtenidos son:
Modo normal de descubrimiento:
Figura 70. Muchos dispositivos DIAC y pocos GIAC – Modo normal de descubrimiento.
Modo entrelazado de descubrimiento:
120
Figura 71. Muchos dispositivos DIAC y pocos GIAC – Modo entrelazado de descubrimiento.
Las conclusiones que se pueden extraer de los resultados
experimentales son que cuando encontramos muchos dispositivos a nuestro
alcance, la existencia únicamente de 16 canales para buscar dispositivos
Bluetooth suponen una limitación importante. Puesto que al aumentar el
número de dispositivos, aumenta la probabilidad de que un canal sea ocupado
por dos dispositivos a la vez interfiriendo la transmisión de datos por dicho
canal. Este motivo provoca que en el modo normal, que nada más hace uso de
un tren de pulsos para descubrir terminales, sea más sensible a las
interferencias. De ahí que el valor del campo length deba ser al menos 4 para
garantizar descubrir la gran mayoría de dispositivos. Por el contrario, al hacer
uso del modo entrelazado, el uso de dos trenes de pulsos y de temporizadores
más pequeños, permite reducir los efectos de la interferencia y sólo necesitar
un valor de length igual a 2.
Pocos dispositivos GIAC y pocos dispositivos DIAC
Esta prueba ha sido realizada contemplando el funcionamiento normal
de un localizador. Este habitualmente será colocado en zonas de tránsito como
pueda ser un pasillo o como elemento final, la entrada de un establecimiento
por ejemplo. Por tanto, la cantidad de dispositivos pertenecientes al sistema
que pueda tener a su alcance será reducido, no es muy probable que por un
determinado camino, se encuentren varias personas con receptores del
121
sistema. Por ese motivo, los localizadores habitualmente tendrán que descubrir
pocos terminales. Por tanto, resulta interesante analizar cómo se comporta el
proceso de descubrimiento en estas situaciones.
Para ello, se han realizado dos pruebas, variando el numero de
dispositivos. En una primera, se hizo uso de 5 dispositivos GIAC y 2 DIAC y, en
una segunda, de 2 dispositivos GIAC y un DIAC.
Los resultados obtenidos han sido:
Modo normal de descubrimiento:
Figura 72. Pocos dispositivos DIAC y pocos GIAC – Modo normal de descubrimiento.
Figura 73. Pocos dispositivos DIAC y pocos GIAC – Modo normal de descubrimiento.
122
Modo entrelazado de descubrimiento:
Figura 74. Pocos dispositivos DIAC y pocos GIAC – Modo entrelazado de descubrimiento.
Figura 75. Pocos dispositivos DIAC y pocos GIAC – Modo entrelazado de descubrimiento.
Las pruebas realizadas para el escenario de simulación más realista, en
el que hay muchos dipositivos GIAC y pocos DIAC en el modo de
descubrimiento entrelazado (Figura 68) nos muestran que solo son necesarios
2 unidades length, es decir, 2.56 segundos para encontrar el 99% de los
dispositivos DIAC pertenecientes al sistema. Asi mismo, si el escenario nos
plantea pocos dispositivos de tipo GIAC y DIAC (Figura 74), como sería la
situación de los localizadores que cubren un área mucho menor que los
123
servidores, la efectividad en el descubrimiento es del 100% para 2 unidades
length.
7.2. PRUEBAS DE POTENCIA BLUETOOTH
En la siguiente tabla se muestran los valores obtenidos, expresados en
porcentaje, al variar la potencia de transmisión de los dongles Bluetooth. Se
han ubicado dongles Bluetooth de clase 2, separados 1,8 metros hasta una
distancia de 15 metros. Los valores de potencia del dispositivo que realiza la
búsqueda fueron modificados de -70 dB a 20 dB.
Media
1,8 3,2 5 6,8 8,2 10 11,8 13,2 15
-70 1 0 0 0 0 0 0 0,07 0-65 1 0 0 0 0 0 0 0 0,03-60 1 0 0 0 0 0 0 0,03 0,1-55 1 0 0 0 0 0 0 0 0,13-50 1 0 0 0 0 0 0 0,07 0,03-45 1 0 0 0 0 0 0,07 0,13 0-40 1 0 0 0 0 0 0 0 0-35 1 0 0 0 0 0 0 0 0-30 1 0 0 0 0 0 0 0 0-25 1 0 0 0 0 0 0,03 0 0-20 1 0,37 0,73 0,03 0,77 0,37 0,57 0,87 0,8-15 1 0,4 0,9 0,33 0,93 1 0,97 1 1-10 1 0,8 1 0,77 1 1 1 1 1
-5 1 0,97 1 0,93 1 1 1 1 10 1 1 1 1 1 1 1 1 15 1 1 1 1 1 1 1 1 1
10 1 1 1 1 1 1 1 1 115 1 1 1 1 1 1 1 1 120 1 1 1 1 1 1 1 1 1
Distancia (m)Potencia (dB)
Tabla 7. Descubrimiento de dispositivos variando la potencia de transmisión.
Vemos que empezando desde -70 dB y aproximadamente hasta los -20
dB sólo se encontraba al primer dispositivo. A partir de 0 dB, se encuentran
todos los dispositivos.
124
Los dispositivos bluetooth se dividen en 3 clases dependiendo de su
alcance, los clase 3 tienen alcance de 1 o 2 metros, los clase 2 tienen un
alcance de 10 a 12 metros y los clase 1 tienen un alcance de 100 metros. Para
cada una de éstas clases la potencia de transmisión que tienen configurada por
defecto es diferente: Los dispositivos clase 2, que son los que tienen los
receptores Openmoko tienen una potencia de 0 dB mientras que los bluetooth
clase 1, que son los que se instalarían en los servidores, tienen una potencia
por defecto de 4 dB.
Esta prueba nos muestra que solo hace falta una potencia de -5 dB para
lograr un porcentaje de efectividad en el descubrimiento superior al 93% en un
radio de 15 metros. Variando la potencia de transmisión de los dispositivos
bluetooth del servidor hasta los 20 dB podemos alcanzar una efectividad en la
localización de receptores del 100% en un radio de 60 metros, lo que nos
garantiza que la localización de receptores y brazaletes será efectiva en la gran
mayoria de edificaciones.
No en todos los dispositivos bluetooth se puede variar la potencia de
transmisión, para ello se necesitan dongles Bluetooth versión 2.1 con chipset
CSR.
7.3. SOFTWARE TTS Y TRANSMISION BLUETOOTH
Como se mencionó en el apartado 6.9, se ha escogido el formato de
compresión Ogg como archivo de salida del programa Festival TTS con una
calidad de grabación media alta. El tamaño de un archivo de voz comprimido
en formato ogg es: 1 min = 10 KB aproximanamente.
Para realizar las pruebas de conversión TTS y transmisión Bluetooth se
125
usó la expresión “Hola, acaba de ingresar en un espacio monitoreado”
como mensaje de entrada para los dispositivos del sistema. El tiempo que tarda
el software en convertir dicho texto en una salida de audio y de ponerla en los
dispositivos de salida es de 50000 ciclos de procesamiento, lo que significa que
en el dispositivo Openmoko con un procesador arm de 500 Mhz, el tiempo que
tardará en entregar una salida de audio es de 1,2 segundos. El tamaño del
archivo de audio.ogg generado en el PC de trabajo es de 2 Kbits pero en el
Openmoko la salida de audio se entregará directamente en los dispositivos de
audio sin generar un archivo en la memoria física.
Comparemos ahora el tiempo que tarda transmitir un archivo de texto y
convertirlo a audio en el Openmoko y lo comparamos con el tiempo que tarda
transmitir directamente el archivo de audio para de esta manera determinar
cual es la opción más eficiente de transmisión en nuestro sistema.
Acción Tiempo (s)
Transmisión archivo de texto 0,5
Conversión TTS en Openmoko 1,2
Transmisión archivo de audio 0,9Tabla 8. Comparativo de tiempo de transmisión.
Podemos concluir que para el planteamiento original del sistema, en el
que solamente se van a transmitir 2 o 3 mensajes cortos, es más rápido y
representa menor carga computacional para el dispositivo Openmoko la
transmisión de el archivo de audio directamente para ser reproducido en el
móvil en contraste con la transmisión del archivo de texto para ser convertido a
audio mediante el software TTS en el móvil.
La instalación y compilación de Festival TTS en el móvil Openmoko
presentó problemas de compatibilidad. No ha sido posible, de momento, lograr
la compilación y reproducción de Festival en el Openmoko, la razón puede ser
la versión del kernel del sistema Linux del móvil. Las pruebas se han realizado
126
sin inconvenientes en ordenadores de sobremesa y portátiles y se está
trabajando en la modificación del código fuente y adición de paquetes que
permitan la exportación de Festival TTS al Openmoko. Consultando los
diferentes foros de programadores de Openmoko se ha encontrado que ya
existe un proyecto completamente operativo de software TTS en el dispositivo
móvil, pero este proyecto usa el programa eSpeak, el cual requiere el pago de
la licencia y solo está disponible en idioma inglés.
La alternativa de usar un software text-to-speech en el dispositivo móvil
resulta atractiva para los otros escenarios en los que se puede usar el sistema
propuesto, como por ejemplo el servicio para la comunidad de discapacitados
visuales en una estación de transporte en la que pueden existir varios
receptores a la vez y muchos mensajes posibles, por lo que la carga
computacional del servidor se reduce si solamente transmitimos archivos de
texto y dejamos la responsabilidad de convertirlos a audio en el lado del
receptor, liberando también espacio memoria física en el servidor ya que los
mensajes se almacenarían como archivos de texto que son aproximadamente
50 veces más pequeños que los archivos de audio en formato Ogg.
127
8. CONCLUSIONES Y FUTURO TRABAJO
En la última década el mundo ha experimentado una explosión
tecnológica sin precedentes. La tecnología ha revolucionado la forma de vivir
de la sociedad y las costumbres individuales de cada persona, existen
dispositivos tecnológicos desarrollados para diferentes propósitos, desde el
ámbito laboral hasta el entretenimiento, pasando por actividades en las que
hace unos lustros era impensable la utilización de tecnología. El auge mostrado
por las redes de telefonía móvil y la Internet han conseguido que casi todos los
habitantes del llamado “Primer Mundo” puedan portar un dispositivo móvil o
tengan acceso a la información a través de Internet y por eso resulta importante
aprovechar esta tecnología para ofrecer servicios que puedan ayudar a las
personas a mejorar su calidad de vida, facilitar sus actividades diarias y
ofrecerles seguridad a través de las TIC.
La realización de éste trabajo ha sido una experiencia enriquecedora no
solo en el ámbito de la electrónica y las telecomunicaciones, en donde se han
adquirido conocimientos que permitan el diseño y desarrollo de TIC's, si no
también en el sentido social, puesto que nos ha sensibilizado respecto a los
peligros y dificultades que padecen diferentes colectivos como el de las
personas maltratadas o los discapacitados visuales.
El desarrollo de este proyecto a supuesto enfrentarnos a un arduo reto
puesto que la gran mayoria de las tareas que se debían desarrollar eran
desconocidas, lo que ha significado tener que leer gran cantidad de material y
documentarnos muy bien para poder comprender las tareas que se deben
128
realizar y la manera de llevarlas a buen término. Asi por ejemplo cabe
mencionar la poca o nula experiencia en sistemas empotrados y como se ha
tenido que superar las dificultades que ha supuesto que el sistema operativo de
este sistema sea Linux.
El conocimiento adquirido que resultó mas enriquecedor fué el
relacionado con entender el sufrimiento y la angustia que deben sufrir las
víctimas de maltrato al ver limitados sus desplazamientos ante la posibilidad de
un encuentro con sus maltratadores y los inconvenientes existentes en los
sistemas de monitorización y control de los convictos. Es debido a esas
limitaciones de los sistemas GPS que surge la necesidad de desarrollar un
sistema que permita a las victimas de maltrato y a las autoridades
penitenciarias tener noción de la ubicación de los actores del sistema en
espacios cerrados donde GPS resulta ineficiente.
El sistema de posicionamiento indoor propuesto es una alternativa viable
para llenar el vacio que dejan los sistemas de monitorización a distancia
mediante GPS. Las pruebas de cobertura, detección de dispositivos y velocidad
de respuesta muestran que el diseño y la tecnología empleada en el sistema
son adecuadas para asegurar a la víctima de maltrato que tanto ella como las
autoridades respectivas serán oportunamente informadas si se produce un
encuentro con el maltratador en el mismo espacio monitoreado. La solución
tecnológica presentada es sencilla y de fácil implementación tanto en la
localización como en el dispositivo receptor que portará la víctima, pero en
cuanto al dispositivo que debe portar el maltratador se debe realizar un
completo estudio de viabilidad económica y legislativa para determinar cual de
las opciones es la mas factible, si desarrollar una brazalete completamente
nuevo o adaptar el sistema ElmoTech adquirido por el gobierno español.
El empleo de UML como lenguaje para el diseño de software permitió
plasmar las funciones y métodos que emplearemos en el desarrollo de la
aplicación de una manera estandarizada, de modo que la persona que
129
implemente la aplicación conozca de manera precisa el diseño de la misma, así
como sus clases, métodos y relaciones. Durante el desarrollo del proyecto se
adquirió conocimientos a fondo de las comunicaciones Bluetooth, pero fue
gracias a UML que se pudo moldear la aplicación y expresar en un lenguaje
formal las ideas de modo que los conocimientos adquiridos sobre la red se
puedan convertir en las especificaciones que darán origen a la aplicación del
receptor del sistema. A pesar de que UML es un lenguaje que no está
oficialmente estandarizado, el proceso descrito por la mayoría de los autores es
muy similar y su apoyo en diagramas para describir los procedimientos resulta
de gran utilidad para trasladar las ideas a lenguaje de programación,
especialmente para quienes no tienen la experiencia de los ingenieros
informáticos.
La programación del dispositivo Openmoko a presentado nuevos retos,
puesto que hemos tenido que enfrentarnos a un lenguaje orientado a objetos
como es C++ asi como a los distintos mecanismos que existen para generar el
archivo ejecutable a partir del codigo fuente. En este punto, es donde ha
radicado la mayor parte de las complicaciones puesto que la documentación
existente en el proyecto Openmoko es escasa, confusa y en muchos casos
resulta ser contradictoria. En el proceso de resolución, se han probado diversos
metodos como el uso de una imagen virtual, la instalación de este mismo
programa en una distribucion Ubuntu, la compilacion manual y otros. Tan solo
modificando los Makefile generados por el programa qmake con los
compiladores cruzados descargados de la pagina de Openmoko y la inclusión
manual de las librerias pertinentes, conseguimos ejecutar una primera
aplicación en el terminal. Por tanto, el principal escollo al que nos hemos
enfrentado ha sido la compilación del programa TTS.
Los objetivos planteados al inicio del proyecto se han cumplido
satisfactoriamente casi en su totalidad puesto que se ha demostrado la
viabilidad de fabricar un sistema de posicionamiento indoor mediante
comunicaciones bluetooth que se complemente con los sistemas GPS
130
utilizados en el sistema penal español, se ha verificado el potencial en cuanto a
las comunicaciones se refiere del sistema propuesto y su aplicabilidad en otros
campos y colectivos, se ha adquirido conocimiento sobre arquitecturas
opensoftware y sobre el dispositivo Openmoko y la forma de programarlo.
Como futuro trabajo tenemos por delante realizar las modificaciones
necesarias al código fuente del software Festival TTS con el fin de poderlo
compilar en el dispositivo Openmoko y poner esas modificaciones a disposición
de la comunidad de programadores, como es la filosofía del software libre y las
licencias GNU. También tenemos por delante la culminación del diseño y
desarrollo de los otros componentes del sistema, como son el localizador y el
servidor, incluyendo el software de control de ambos dispositivos, así como
también el brazalete, tareas que se estan llevando a cabo con el grupo de
investigación TIC201: ACE-Ti.
131
REFERENCIAS BIBLIOGRÁFICAS
[1] World Health Organization. The World report on violence injury prevention, disponible en: http://www.who.int/violence_injury_prevention
[2] Observatorio contra la violencia doméstica del Consejo General del Poder Judicial. Informe sobre violencia de género en el ámbito doméstico. Febrero 2008.
[3] Gabinete de prensa del Defensor del pueblo. El defensor del pueblo abre una investigación sobre incidencias y disfunciones en el cumplimiento de las órdenes de alejamiento en casos de violencia doméstica. 2004.
[4] Asociación de Mujeres Juristas Themis. Informe sobre algunas de las últimas reformas legales en materia de protección a las víctimas de violencia de género. http://www.mujeresjuristasthemis.org/
[5] D. Pascual. Diario 20 minutos. Ningún maltratador lleva pulsera localizadora, pese a preverlo la ley. 2006.
[6] Otero González, Pilar. Monitorización electrónica en el ámbito penitenciario. Universidad Carlos III de Madrid. 2007
[7] Sánchez Barrios, Inmaculada, Tutela judicial, op. Cit., 2005.
[8] Varios Autores, Formación de técnicos e investigadores en tecnologías de la información, Los Libros de Fundesco, Madrid, 1986.
[9] HelpLink home page, disponible en: http://www.peopletrackusa.com/HelpLink.html
132
[10] Victor Reader Stream home page, disponible en: http://www.bigshotmagnifier.com/Products/BigShot/BigShot.htm
[11] CellDesigner: A modeling tool of biochemical networks home page, disponible en: http://www.celldesigner.org/index.html
[12] Wireless Glucose Meter home page, disponible en: http://www.telcomed.ie/glucometer.html
[13] Roldán Martínez, David. Comunicaciones Inalámbricas, un enfoque aplicado. RA-MA Editorial. Madrid. 2004.
[14] Sistema de posicionamiento global, disponible en: http://es.wikipedia.org/wiki/Sistema_de_posicionamiento_global
[15] Woo-Chool Park; Myung-Hyun Yoon. The Implementation of Indoor Location System to Control ZigBee Home Network. SICE-ICASE, 2006. International Joint Conference 18-21 Oct. 2006 Page(s):2158 - 2161
[16] Belloni, F.; Ranki, V.; Kainulainen, A.; Richter, A. Angle-based indoor positioning system for open indoor environments. Positioning. Navigation and Communication, 2009. WPNC 2009. 6th Workshop on 19-19 March 2009 Page(s):261 - 265
[17] Hatthasin, U.; Thainimit, S.; Vibhatavanij, K.; Premasathian, N.; Worasawate, D. An improvement of an RFID indoor positioning system using one base station. Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology, 2009. ECTI-CON 2009. 6th International Conference on Volume 02, 6-9 May 2009 Page(s):862 - 865
[18] Parikh, H.K.; Michalson, W.R. Error mechanisms in an RF-based indoor positioning system Acoustics, Speech and Signal Processing. 2008. ICASSP 2008. IEEE International Conference on March 31 2008-April 4 2008 Page(s):5320 - 5323
[19] Sayeef, S.; Madawala, U.K.; Handley, P.G.; Santoso, D. Indoor personnel tracking using infrared beam scanning. Position Location and Navigation Symposium, 2004. PLANS 2004 26-29 April 2004 Page(s):698 - 705
[20] Chunhan Lee; Yushin Chang; Gunhong Park; Jaeheon Ryu; Seokhyun Park; Jae Whe Park; Keum-shik Hong; Man Hyung Lee. Indoor positioning system based on incident angles of infrared emitters. Industrial Electronics
133
Society, 2004. IECON 2004. 30th Annual Conference of IEEE Volume 3, 2-6 Nov. 2004 Page(s):2218 - 2222 Vol. 3
[21] Anastasi, G.; Bandelloni, R.; Conti, M.; Delmastro, F.; Gregori, E.; Mainetto, G. Experimenting an indoor bluetooth-based positioning service. Distributed Computing Systems Workshops, 2003. Proceedings. 23rd International Conference on 19-22 May 2003 Page(s):480 - 483
[22] Sheng Zhou; Pollard, J.K. Position measurement using Bluetooth. Consumer Electronics, IEEE Transactions on Volume 52, Issue 2, May 2006 Page(s):555 - 558
[23] Suzuki, A.; Iyota, T.; Choi, Y.; Kubota, Y.; Watanabe, K.; Yamane, A. Measurement accuracy on indoor positioning system using spread spectrum ultrasonic waves. Autonomous Robots and Agents, 2009. ICARA 2009. 4th International Conference on 10-12 Feb. 2009 Page(s):294 - 297
[24] Bug Labs home page, disponible en: http://www.buglabs.net/products
[25] Chumby home page, disponible en: http://www.chumby.com/
[26] Openmoko home page, disponible en: http://wiki.openmoko.org/wiki/Main_Page
[27] Licencia Pública General de GNU, disponible en: http://www.gnu.org/licenses/licenses.es.html
[28] Eduardo Lleida Solano, Conversión Texto-Voz, disponible en: http://dihana.cps.unizar.es/investigacion/voz/ctv.html#mod_al
[29] Paul Clements y Linda Northrop. Software architecture: An executive overview. Technical Report, CMU/SEI-96-TR-003, ESC-TR-96-003. Febrero de 1996.
[30] Miguel Arregui. “Tutorial de UML”, Universitat Jaume I, Castellón. 2004.
[31] Renzema/Mayo-Wilson. Can electronic monitoring reduce crime for moderate to high risk offenders?. Journal of Experimental Criminology. 2005.
134
[32] Cristina González Blanqué. El control electrónico en el sistema penal.
[33] Conway. Survey of Agencies using electronic monitoring reveals a Promising Future. Journal of Offender Monitoring. 2003
[34] Sistema de Contacto E3 ElmoTech, disponible en: http://www.elmotech.com/default.asp?pageID=66
[35] Icade. Revista cuatrimestral de las Facultades de Derecho y Ciencias Económicas y Empresariales, nº 74. Mayo-agosto 2008
[36] ProTech SmartRF home page, disponible en: http://www.ptm.com/default.asp?PageID=21
[37] Sistemas de monitoreo de presencia ElmoTech, disponible en: http://www.elmotech.com/default.asp?PageID=56
[38] IsecureTrac House Arrest system home page, disponible en: http://www.isecuretrac.com/Services.aspx?p=HouseArrest
[39] Jolin A. Drusf treatment and ellectronic monitores home confinement. An Evaluation of a Community-Based Sentencing Option. Crime And Delinquency. 2002
[40] Nellis, M. Surveillance, rehabilitation and electronic monitoring: getting the issues clear. Criminology & Public policy. 2006
[41] Rastreo en tiempo real STaR ElmoTech, disponible en: http://www.elmotech.com/default.asp?pageID=67
[42] TrackerPAL House Arrest system home page, disponible en: http://www.peopletrackusa.com/TrackerPal_housearrest.htm
[43] ProTech SMART system home page, disponible en: http://www.ptm.com/default.asp?PageID=18
[44] Isecuretrac GPS system home page, disponible en: http://www.isecuretrac.com/Services.aspx?p=GPS
[45] Actsoft Alcohol Monitoring home page, disponible en:http://www.peopletrackusa.com/Actsoft_details_alcohol_monitoring.htm
135
[46] Birmingham Medical News website, disponible en: http://host1.bondware.com/~birmingham/news.php?viewStory=396
[47] Un hombre ebrio agrede en el hospital a su mujer dos horas después de dar a luz. Diario de Noticias de Gipuzkoa, disponible en: http://www.noticiasdegipuzkoa.com/2009/10/30/sociedad/euskadi/un-hombre-ebrio-agrede-en-el-hospital-a-su-mujer-dos-horas-despues-de-dar-a-luz
[48] Investigan la muerte de una joven por posible violencia de género. El mundo.es, disponible en: http://www.elmundo.es/elmundo/2009/09/17/castillayleon/1253197303.html
[49] Bluetooth Module Class2 AMB2300 - BlueNicecom IV home page, diponible en: http://amber-wireless.de/65-1-AMB2300.html
[50] WT12 - Class 2 Bluetooth® 2.1+ EDR Module home page, disponible en: http://www.bluegiga.com/WT12_Class_2_Bluetooth_Module
[51] Specification of the Bluetooth System. Core V2.1. Página 272.
[52] Sthephen Stelting. Patrones de Diseño. Prentice Hall. Marzo 2003
136