Autorizada la entrega del proyecto del alumno: Carlos ...o Explora listas de reproducción,...

of 200/200
Autorizada la entrega del proyecto del alumno: Carlos Cifuentes Fernández EL DIRECTOR DEL PROYECTO David Contreras Bárcena Fdo.: ………………………………. Fecha: …… /…… /…… Vº Bº del Coordinador de Proyectos David Contreras Bárcena Fdo.: ………………………………. Fecha: …… /…… /……
  • date post

    17-Apr-2020
  • Category

    Documents

  • view

    1
  • download

    0

Embed Size (px)

Transcript of Autorizada la entrega del proyecto del alumno: Carlos ...o Explora listas de reproducción,...

  • Autorizada la entrega del proyecto del alumno:

    Carlos Cifuentes Fernández

    EL DIRECTOR DEL PROYECTO

    David Contreras Bárcena

    Fdo.: ………………………………. Fecha: …… /…… /……

    Vº Bº del Coordinador de Proyectos

    David Contreras Bárcena

    Fdo.: ………………………………. Fecha: …… /…… /……

  • UNIVERSIDAD PONTIFICIA COMILLAS

    ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

    INGENIERO EN INFORMÁTICA

    PROYECTO FIN DE CARRERA

    SISTEMA DE CONTROL DOMÓTICO INTEGRAL A TRAVÉS DE UN DISPOSITIVO

    MÓVIL (SCDI-DM)

    DIRECTOR: DAVID CONTRERAS BÁRCENA AUTOR: CARLOS CIFUENTES FERNÁNDEZ

    MADRID, junio de 2007

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    i

    AGRADECIMIENTOS

    Dedico el proyecto a todas las personas que me ha apoyado, en especial a Susana

    y a mi familia, que siempre me han estado motivando.

    También, quiero dar las gracias por todo el apoyo recibido, a mi director de

    proyecto David Contreras Bárcena, que en todo momento ha estado dispuesto a

    ayudarme en el desarrollo del mismo, y del que he aprendido no sólo una gran

    formación para mi futuro, sino también, otros valores que me han ayudado a formarme

    como persona.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    ii

    RESUMEN

    El Sistema de Control Domótico Integral a Través de un Dispositivo Móvil, de ahora

    en adelante SCDI-DM, nace de la necesidad de integrar el control domótico del hogar y

    el control de medios multimedia almacenados en el PC, en un dispositivo móvil, para

    poder dotar al mismo de un control bastante amplio del hogar.

    Este proyecto, por lo tanto, agiliza y simplifica muchas de las funciones que

    podemos desarrollar en el día a día del hogar, e incluso puede ser de gran ayuda a

    aquellas personas que, debido a alguna discapacidad, puede resultarle tedioso

    actividades como, el manejo de las luces, persianas, etc.

    Este nuevo sistema que engloba varios conceptos en uno, resulta de fácil

    instalación y manejo, ya que se ha creado un interfaz gráfico amigable, tanto en la

    aplicación cliente (dispositivo móvil) cómo en la servidora (PC).

    Todo esto ha sido posible, gracias al uso de tecnologías tan actuales y punteras

    como es el caso de la tecnología inalámbrica Bluetooth, la cual se va a utilizar para

    llevar a cabo la comunicación entre el cliente y el servidor, y el ya conocido protocolo

    domótico X10, el cual se va a utilizar para comunicarnos con los distintos dispositivos

    del hogar, todas ellas cada día más cercanas y extendidas entre nosotros.

    Además, el proyecto tiene un claro carácter innovador, ya que en la actualidad

    no existe ninguna aplicación, que sea capaz de aunar conceptos como, el control de los

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    iii

    dispositivos del hogar y los medios multimedia almacenados en nuestro PC mediante el

    protocolo X-10 y Bluetooth.

    El proyecto consta de dos aplicaciones, X10 Media Client, la cual irá instalada

    en el dispositivo móvil y formará la aplicación cliente, y X10 Media Server que,

    instalada en el PC, formará la aplicación servidor.

    Como se ha dicho anteriormente, el proyecto se divide en dos aplicaciones:

    • Cliente � X10 Media Client: permite manejar de una forma clara y sencilla

    los dispositivos X10 del hogar, tanto de manera independiente como

    mediante modos pre-programados en el servidor y transmitidos al cliente que

    permite aplicar a varios dispositivos distintas funciones de una vez, por

    ejemplo, modo cine. También nos va a permitir manejar las los medios

    multimedia almacenados el nuestro PC, con múltiples opciones que nos

    facilitarán dicha tarea. A parte de los dos grandes módulos de los que consta

    la aplicación cliente, tenemos otras funcionalidades a nivel de control del PC

    que nos van a permitir un control total del mismo, como por ejemplo, el

    apagado del PC desde el dispositivo móvil, abrir aplicaciones, control total

    del ratón y envío de teclas para poder interactuar con otras aplicaciones.

    • Servidor � X10 Media Server: es una herramienta capaz de ofrecer

    servicios de sincronización para establecer una comunicación con un

    dispositivo móvil, a través de la aplicación cliente. Permite, tanto mandar

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    iv

    información de los dispositivos X10 almacenados, modos, listas de

    reproducción, opciones de configuración, etc. al dispositivo móvil, así como

    recibir información de los comandos o peticiones a ejecutar en cada

    momento.

    Para la implementación del proyecto se ha optado por el uso del lenguaje de

    programación Java, ya que es el más portable, y además, actualmente no hay ninguna

    aplicación en este lenguaje, en la que se comunique un dispositivo móvil con un PC

    dotándoles además de tantas funciones de control, dándole así un carácter innovador:

    • X10 Media Client: basado en tecnología JAVA (plataforma J2ME). Éste

    módulo presentará un interfaz muy intuitivo y fácil de manejar, adaptado a

    las restricciones de los móviles.

    • X10 Media Server: basado en tecnología JAVA (plataforma JAVA SE 6.0) y

    en menos medida C, para tareas de bajo nivel, como es el caso del control

    multimedia. En él recae la mayor parte del peso de la aplicación ya que es el

    encargado de ejecutar las peticiones que le hace el cliente, además de

    gestionar todos los dispositivos, modos y configuraciones necesarias para el

    correcto funcionamiento del conjunto del proyecto.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    v

    ABSTRACT

    The Domotic Integral Control System through a Mobile Device, from now

    SCDI-DM, is born of the necessity to integrate the home domotic control and the

    multimedia control stored in the PC, in a mobile device.

    This project, therefore, makes agile and simplifies many of the functions that we

    can develop in the day to day of the home, and even can be helpful to those people that,

    due to some discapacity, can be tedious activities to him like, the handling of the lights,

    blinds, etc.

    This new system that includes several concepts in one, is from easy installation

    and handling, since a friendly graphical interface has been created, as much in the

    application client (mobile device) how in the server (PC). All this has been possible,

    thanks to the use of so present and sharpshooting technologies as it is the case of the

    wireless technology Bluetooth, in which we are going away to support to carry out the

    communication between the client and the server, and already known domotic protocol

    X10, which we are going to use to communicate with the different devices from the

    home, all of them every day nearer and extended between us.

    In addition, project knows clearly innovating character, since at the present time

    any application does not exist, that is able to combine concepts like, the control of the

    home devices and the multimedia files stored in our PC by the protocol X-10 and

    Bluetooth.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    vi

    The project consists of two applications, X10 Media Client, which will go

    installed in the mobile device and will form the client application, and X10 Media

    Server that, installed in the PC, will form the server application.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    vii

    ÍNDICE

    1. INTRODUCCIÓN .................................................................................................. 1 1.1 ESTADO DEL ARTE......................................................................................................... 2 1.2 JUSTIFICACIÓN DEL PROYECTO .............................................................................. 13 1.3 ¿QUÉ ES X10 MEDIA HOME? ...................................................................................... 14

    1.3.1 X10 MEDIA CLIENT ............................................................................................................. 15 1.3.2 X10 MEDIA SERVER ........................................................................................................... 15

    1.4 ANÁLISIS DE ARQUITECTURAS PARA DISPOSITIVOS MÓVILES ...................... 16 1.5 ANÁLISIS DEL MERCADO ACTUAL DE SOFTWARE X10 .................................... 24 1.6 PLANIFICACIÓN ............................................................................................................ 28 1.7 PRESUPUESTO ............................................................................................................... 29

    2. ARQUITECTURA DEL SISTEMA ................................................................... 30 3. ESTUDIO DE TECNOLOGÍAS ......................................................................... 37 3.1BLUETOOTH ................................................................................................................... 38

    3.1.1 INTRODUCCIÓN ................................................................................................................... 38 3.1.2 ARQUITECTURA DE PROTOCOLOS ................................................................................. 42 3.1.3 PERFILES Y MODELOS DE USO BLUETOOTH ............................................................... 44

    3.2 J2ME ................................................................................................................................. 57 3.2.1 INTRODUCCIÓN A J2ME ..................................................................................................... 57 3.2.2 MÁQUINAS VIRTUALES J2ME ......................................................................................... 59 3.2.3 API JSR-82 ............................................................................................................................. 62

    3.3 X10.................................................................................................................................... 63 4. REQUISITOS ....................................................................................................... 76 4.1 OBJETIVOS FUNCIONALES ........................................................................................ 77 4.2 OBJETIVOS TECNOLÓGICOS ...................................................................................... 81 4.3 CASOS DE USO .............................................................................................................. 81

    4.3.1 X10 MEDIA CLIENT ............................................................................................................. 85 4.3.2 X10 MEDIA SERVER ............................................................................................................ 86

    5. DISEÑO ................................................................................................................. 87 5.1 DIAGRAMA DE LA ARQUITECTURA ........................................................................ 88

    5.1.1 X10 MEDIA CLIENT ............................................................................................................. 88 5.1.2 X10 MEDIA SERVER ............................................................................................................ 93

    5.2 MODELO DINÁMICO DETALLADO ........................................................................... 97 5.2.1 DIAGRAMAS DE COLABORACIÓN .................................................................................. 97

    5.3 MODELO ESTRUCTURAL DETALLADO ................................................................. 100 5.3.1 X10 MEDIA CLIENT ........................................................................................................... 100 5.3.2 X10 MEDIA SERVER .......................................................................................................... 110

    6. DISEÑO DE INTERFACES ............................................................................. 119 6.1 X10 MEDIA CLIENT .................................................................................................... 120 6.2 X10 MEDIA SERVER ................................................................................................... 126

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    viii

    7. IMPLEMENTACIÓN ........................................................................................ 132 7.1 PLATAFORMAS Y ENTORNOS DE DESARROLLO ............................................... 133 7.2 FUNCIONALIDADES MÁS IMPORTANTES ............................................................ 133

    7.2.1 X10 MEDIA CLIENT ........................................................................................................... 133 7.2.2 X10 MEDIA SERVER .......................................................................................................... 136

    8. IMPLANTACIÓN .............................................................................................. 151 8.1 ESTUDIO DE LAS TECNOLOGÍAS DE COMUNICACIÓN ..................................... 152

    8.1.1 COMM ................................................................................................................................... 152 8.2 INSTALACIÓN DE X10 MEDIA HOME ..................................................................... 154

    8.2.1 X10 MEDIA CLIENT ........................................................................................................... 154 8.2.2 X10 MEDIA SERVER .......................................................................................................... 155

    9. CONCLUSIONES .............................................................................................. 163 9.1 PROYECTO DE INNOVACIÓN ................................................................................... 164 9.2 ANÁLISIS DE TECNOLOGÍAS, PROBLEMAS Y RESULTADOS ......................... 164 9.3 OTROS CAMPOS DE APLICACIÓN .......................................................................... 165 9.4 PROYECCIÓN DE FUTURO ........................................................................................ 167

    10. BIBLIOGRAFÍA .................................................................................................. 169 11. ANEXOS ............................................................................................................... 172 11. MANUAL DE USUARIO .............................................................................................. 173

    11.1 X10 MEDIA CLIENT ............................................................................................................ 173 11.2 X10 MEDIA SERVER ........................................................................................................... 178

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    1

    1. INTRODUCCIÓN

    1.1 ESTADO DEL ARTE 1.2 JUSTIFICACIÓN DEL PROYECTO 1.3 ¿QUÉ ES X10 MEDIA HOME?

    1.3.1 X10 MEDIA CLIENT 1.3.2 X10 MEDIA SERVER

    1.4 ANÁLISIS DE ARQUITECTURAS PARA DISPOSITIVOS MÓVILES 1.5 ANÁLISIS DEL MERCADO ACTUAL DE TELEFONÍA MÓVIL

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    2

    1. INTRODUCCIÓN

    1.1 ESTADO DEL ARTE PCRemote:

    Funciones:

    -Tarjeta de Tv (marca WinDVBlive y marca DScaler), maneja canales, volumen,

    pantalla completa...

    -WinAMP, play, pause, volumen, tres listas de reproducción...

    -DVD (marca WinDVD), play, pause, FF, REV...

    -Media Player (no el WMP9, el cutre que salió con windows95 mplayer2.exe), play,

    volumen, pantalla completa...

    -PowerPoint, puedes elegir tres presentaciones que tengas en el PC

    -PC, volumen, muestra la hora y apaga

    -También controla la flecha del ratón

    Obviamente, el que no tenga este software (winAMP, Mediaplayer2,

    winDVD...) este programa no le sirve para nada a excepción de para mover el ratón,

    apagar y controlar el volumen del PC con el móvil.

    Si no utilizamos algún programa de los que controla el PcRemote (winAMP,

    Mediaplayer2, winDVD...), podemos utilizar su comando de on/off para arrancar

    cualquier fichero que haya en nuestro PC (avi, mp3, MPEG, *.exe, *.bat...) con solo

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    3

    sustituir la línea "execute=C:\xxx\xxx\*.exe" que hay en cada sección del settings.ini

    del PcRemote.

    PuppetMaster:

    Los programas que se muestran a continuación son los que están soportados por

    defecto por PuppetMaster. Puedes configurar otros programas mediante el mapeo de

    teclas usando Keymaps, VBScript o PuppetScript.

    - iTunes

    o Muestra el título de la canción, artista y tiempo.

    o Explora listas de reproducción, canciones, artista, álbum, genero.

    o Busca por canción.

    o Play/pause, rewind, fast forward, volumen, anterior/siguiente canción.

    - WinAMP

    o Muestra título de la canción, artista y tiempo.

    o Explora por canción y artista.

    o Busca por canción.

    o Play/pause, rewind, fast forward, change volume, previous/next track

    o Soporte para Winamp Album Library

    - Windows Media Player

    o Play/pause, rewind, fast forward, change volume, previous/next track

    - PowerPoint

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    4

    o Control de diapositivas.

    o Play/stop presentación.

    o Carga de documentos abiertos recientemente.

    - Outlook

    o Muestra nombre fichero, número de mensajes y número de mensajes sin

    leer.

    o Enviar/Recibir todo.

    o Permite búsqueda por Emails.

    o Permite creación de Emails.

    o Permite selección de ficheros.

    o Responder, mover o borrar Emails.

    - Mouse mode

    o Permite mover el cursos y hacer clic.

    o Permite cambio entre aplicaciones.

    - File Browser

    o Permite buscar y abrir ficheros.

    - System

    o Cambiar el volumen del sistema.

    o Iniciar salvapantallas.

    o Bloquear ordenador.

    o Apagar Windows.

    o Reiniciar Windows

    o Dormir el sistema.

    o Hibernar el sistema.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    5

    - Keymaps

    o Acrobat Reader

    o BSplayer

    o IrfanView

    o Media Player Classic

    o Musicmatch Jukebox

    o PowerDVD

    o VLC Media Player

    Capturas de pantalla:

    • Modo ratón en Nokia 7610:

    • Usando WinAMP en un Sony Ericsson

    T68:

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    6

    • Menú principal y varias pantallas iTunes en un Nokia 3650:

    • Menú principal en un Nokia 6230:

    • Menú principal en un Siemens S65:

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    7

    • WinAMP y explorador de ficheros en un Siemens S65:

    iTunes en un Motorola MPX 220:

    Bemused:

    Bemused es un control remoto para controlar el WinAmp instalado en tu PC

    desde tu teléfono móvil, mediante una conexión Bluetooth.

    Con él, podrás visualizar tu colección de música en tu móvil, reproducir

    cualquier formato compatible con WinAmp, gobernar las reproducciones (play, pausa,

    avanzar, retroceder, volumen, etc.), gestionar listas de reproducción e incluso descargar

    canciones desde tu teléfono.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    8

    En definitiva, Bemused es un revolucionario sistema de comunicación con el

    que podrás, mediante una sencilla instalación, convertir tu teléfono móvil en un práctico

    mando a distancia para controlar el WinAmp.

    Requisitos mínimos de Bemused:

    · S.O.: Symbian OS 7.0

    · Nokia 3230

    · Nokia 3600/3650

    · Nokia 3620/3660

    · Nokia 6260

    · Nokia 6600/6620

    · Nokia 6630

    · Nokia 6670

    · Nokia 6680/6681/6682

    · Nokia 7610

    · Nokia 7650

    · Nokia N70

    · Nokia N90

    · Nokia N91

    · Nokia N-Gage/QD

    · Sendo X

    · Siemens SX1

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    9

    · Panasonic X700/X800

    · Samsung SGH-D730

    Capturas de pantalla:

    Best Mobile MouseAnyWhere

    Best Mobile MouseAnyWhere es programa que te permitirá convertir tu teléfono

    móvil en un práctico ratón inalámbrico.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    10

    Con él, podrás mover el puntero del ratón a lo largo y ancho de la pantalla,

    cambiar de diapositiva (en caso de presentaciones), subir o bajar el volumen de tu

    reproductor, entre otras interesantes posibilidades.

    Su puesta en marcha es muy sencilla. Instalas un pequeño programa en

    Windows, ejecutas el programa y listo.

    Requisitos mínimos de Best Mobile MouseAnyWhere:

    · S.O.: Symbian OS 7.0

    · Nokia 3230

    · Nokia 3250

    · Nokia 6260

    · Nokia 6600

    · Nokia 6620

    · Nokia 6630

    · Nokia 6670

    · Nokia 6680/6681/6682

    · Nokia 7610

    · Nokia N70

    · Nokia N80

    · Nokia N90

    · Nokia N91

    · Panasonic X700

    · Panasonic X800

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    11

    · Samsung SGH-D720

    · Samsung SGH-D730

    Capturas de pantalla:

    PcControl

    PcControl es una innovadora herramienta diseñada para controlar, desde tu

    móvil Sony Ericsson, diferentes herramientas instaladas en tu PC, las funciones básicas

    del reproductor WinAmp y el cursor del ratón.

    Soporta conexiones por cable o de carácter inalámbrico mediante Bluetooth.

    Desde su módulo para Windows podrás relacionar los botones de tu móvil con la

    ejecución de aplicaciones, movimientos del ratón y personalizar los controles del

    WinAmp (subir, bajar volumen, pasar canción, retroceder).

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    12

    Toda una solución para controlar remotamente diferentes funciones útiles de tu

    PC.

    Requisitos mínimos:

    • Windows 98/ME/NT/2000/XP

    • Móviles Sony Ericsson

    Captura de pantalla:

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    13

    1.2 JUSTIFICACIÓN DEL PROYECTO

    El proyecto a desarrollar fue elegido, en parte, por la incipiente intrusión de la

    tecnología móvil en nuestra sociedad, y la intención de aportar nuevas funcionalidades

    al uso de los mismos.

    Se ha optado por la utilización de nuevas tecnologías, como es el caso Bluetooth,

    que poco a poco se va asentando en el mercado, abriendo un gran abanico de

    posibilidades debido a su flexibilidad de aplicación.

    La realización de este proyecto surgió de la idea de querer desarrollar una

    aplicación que utilizase una de las nuevas tecnologías inalámbricas, como es el caso de

    Bluetooth, y su posterior implantación en un dispositivo móvil y la tecnología domótica

    X10. Todo esto se quería implementar en el lenguaje de programación Java, ya que de

    este modo podía ser implantado en un amplio número de dispositivos móviles.

    El sistema puede incluso servir de ayuda a personas con movilidad reducida, las

    cuales a través de un dispositivo móvil, podrían tener un control bastante amplio de los

    elementos de su hogar: permiten conectar la caldera de calefacción a distancia; ahorrar

    energía dando alimentación al lavavajillas, lavadora o secadora en el período de tarifa

    nocturna; tener el café recién hecho al levantarnos por la mañana, tener la comida recién

    cocinada al llegar de la oficina, controlar el riego, la depuradora de la piscina, apagar

    desde nuestro dormitorio la televisión de los niños, contribuir a seguridad disuasoria

    encendiendo equipos de radio o focos situados en el jardín....

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    14

    La idea de X10 Media Client y de X10 Media Server, surge de la intención

    práctica del proyecto, es decir, un proyecto que aparte de realizar un estudio sobre estas

    nuevas tecnologías, culminara con una aplicación útil.

    El desarrollo de dos aplicaciones, una cliente y otra servidor, viene dado por la

    intención de realizar un proyecto que abarcara todo el proceso de comunicación, tanto

    en una aplicación cliente como en una servidor, ya que la implementación de esta última

    en Java, suponía un reto debido a que no existe ningún API de Bluetooth para JAVA

    SE.

    1.3 ¿QUÉ ES X10 MEDIA HOME?

    X10 Media Home es un sistema que engloba funcionalidades aplicadas al uso

    doméstico como es el control de los dispositivos del hogar o el control de medios

    almacenados en un PC.

    Se descompone en dos aplicaciones, una cliente y una servidor: X10 Media Client y

    X10 Media Server respectivamente.

    Dentro de este sistema, por lo tanto, se engloban dos módulos:

    • X10 Media Client: basado en tecnología JAVA (plataforma J2ME). Éste

    módulo presentará un interfaz muy intuitivo y fácil de manejar, adaptado a

    las restricciones de los móviles.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    15

    • X10 Media Server: basado en tecnología JAVA (plataforma JAVA SE 6.0) y

    en menos medida C, para tareas de bajo nivel. En él recae la mayor parte del

    peso de la aplicación ya que es el encargado de ejecutar las peticiones que le

    hace el cliente, además de gestionar todos los dispositivos, modos y

    configuraciones necesarias para el correcto funcionamiento del conjunto del

    proyecto.

    1.3.1 X10 MEDIA CLIENT

    Cliente � X10 Media Client: permite manejar de una forma clara y sencilla los

    dispositivos X10 del hogar, tanto de manera independiente como mediante modos pre-

    programados en el servidor y transmitidos al cliente que permite aplicar a varios

    dispositivos distintas funciones de una vez, por ejemplo, modo cine. También nos va a

    permitir manejar las los medios multimedia almacenados el nuestro PC, con múltiples

    opciones que nos facilitarán dicha tarea. A parte de los dos grandes módulos de los que

    consta la aplicación cliente, tenemos otras funcionalidades a nivel de control del PC que

    nos van a permitir un control total del mismo, como por ejemplo, el apagado del PC

    desde el dispositivo móvil, abrir aplicaciones, control total del ratón y envío de teclas

    para poder interactuar con otras aplicaciones.

    1.3.2 X10 MEDIA SERVER

    Servidor � X10 Media Server: es una herramienta capaz de ofrecer servicios de

    sincronización para establecer una comunicación con un dispositivo móvil, a través de

    la aplicación cliente. Permite, tanto mandar información de los dispositivos X10

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    16

    almacenados, modos, listas de reproducción, opciones de configuración, etc. al

    dispositivo móvil, así como recibir información de los comandos o peticiones a ejecutar

    en cada momento.

    1.4 ANÁLISIS DE ARQUITECTURAS PARA DISPOSITIVOS MÓVILES

    El sistema operativo es el software principal que se instala sobre el hardware o

    dispositivo; contiene instrucciones programadas que indican al micro-controlador que

    hacer y sobre el que se instalan los programas que pueden ser aplicaciones finales o

    sistemas que permiten desarrollar otros programas.

    o La familia Windows

    • Windows CE es el Sistema Operativo que Microsoft ha

    desarrollado a partir de Windows 95, para dispositivos móviles, y

    sirve de base para el desarrollo de los sistemas específicos de

    cada dispositivo. Lo que los usuarios finales disfrutan, no es

    Windows CE tal y como ha sido desarrollado. En cada tipo de

    dispositivo se implementa, desde las posibilidades que permite la

    versión de Windows CE disponible, una interfaz y las

    funcionalidades requeridas. Así, el Pocket PC 2000, 2002 y 2003

    se han desarrollado específicamente para los PDAs. Windows CE

    nació como un sistema operativo de fácil programación, sólido,

    transparente y que podía implantarse desde un ordenador a una

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    17

    lavadora, nevera, microondas incluso videoconsolas (DreamCast).

    De hecho, se pensó en integrarlo en todo lo que no fuera un PC.

    • Windows CE .NET, es la evolución de Windows CE 3.0 bajo la

    filosofía distribuida de .NET. Es pues, un escenario de trabajo que

    deberá ser adaptado a cada dispositivo. Esta nueva versión tiene

    muchas ventajas, que pueden ser aplicadas a cada uno de los

    sistemas operativos derivados. Según Microsoft, Windows CE

    .NET, incorporará la posibilidad de manejar las conexiones

    Bluetooth, Microsoft Internet Explorer 5.5, Windows Media 8 y

    DirectX y será compatible con una amplio rango de procesadores

    como Xscale, ARM, MIPS, SH o x86. Cada sistema operativo

    derivado, tomará las propiedades que le competan. Para obtener

    más información sobre esta familia de sistemas, véase el sitio de

    Microsoft.

    Los dispositivos PDA que disponen de Pocket PC son dispositivos con

    una magnífica pantalla de 240 x 320 píxeles a todo color. Son muy potentes, con

    procesadores de entre 133 y 206 MHz y 16 ó 32 Mb de RAM, por lo que son

    capaces de reproducir vídeo o música y ejecutar aplicaciones multimedia con

    gran rapidez. También disponen de altavoz y salida de audio para auriculares.

    Además incluyen diversos tipos de ranuras o slots de expansión, que permiten

    insertar tarjetas de diversos formatos (Multimedia, Compact Flash o PCMCIA)

    para aumentar memoria o incorporar módems, discos duros, tarjetas de red, etc.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    18

    o Palm OS

    La primera versión fue desarrollada por el fabricante de los DCM Palm

    para el modelo Pilot en 1996. Actualmente son muchos los fabricantes como

    Oracle, Nokia, Handspring, Symbol y Sony que utilizan diversas variantes y

    versiones de este Sistema Operativo que en conjunto representan el 66 % de

    todos los sistemas instalados en computadores de mano. Según la filosofía de

    Palm, se intenta tratar a la computación móvil no como versiones en miniatura

    de los sistemas de sobremesa, sino como dispositivos y aplicaciones dedicados a

    tareas y usos que tienen su propia identidad y reclaman sus propios recursos y

    soluciones.

    En los últimos años, la versión más extendida ha sido la 4.1 que entre sus

    principales características, presenta el soporte "teórico" de 65.000 de colores así

    como la gestión de tarjetas de memoria externa. Recientemente Palm Computing

    se dividió en dos empresas distintas, una de hardware y otra de software, Palm

    Source – la cual ha presentado Palm OS 5 que es realmente un sistema diferente

    a los anteriores aunque esto se refiera más al funcionamiento interno que a lo

    relativo a su utilización externa.

    Para mantener la compatibilidad con la generación anterior del sistema

    operativo, la nueva versión incluye un emulador llamado PACE que permite

    ejecutar las más de 50.000 aplicaciones existentes. Además, cualquiera que sea

    la norma considerada, WiFi LAN, Bluetooth, GSM/GPRS, o CDMA, el sistema

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    19

    Palm OS 5 integra las Apis necesarias. O sea, que los dispositivos equipados con

    Palm OS 5 pueden comunicarse fácilmente con todos los dispositivos existentes

    que estén basados en esas normas tales como teléfonos móviles, impresoras,

    módems, etc. Las normas de seguridad incorporadas en el sistema, permiten que

    las transacciones sean hechas de forma segura, considerando también, el uso de

    firmas digitales homologadas. También ofrece servicios de encriptación para las

    conexiones.

    El sistema incluye asimismo un navegador para Internet, el Net Font que

    suporta entre otras normas, HTML 4.01, XHTML, los GIFs animados, el modo

    seguro de acceso a la red VPN (Virtual Private Network) y la interpretación de

    código Java Script. Estas normas ya utilizadas en los sistemas de los

    computadores de sobremesa se introducen por vez primera en los equipos de

    mano.

    En cuanto a los dispositivos que contiene Palm OS, la característica más

    llamativa es su reducido tamaño y ligereza: pesan entre 120 y 170 gr., y son en

    general más pequeños que los Pocket PC. Todos tienen una pantalla de 160x160

    píxeles, normalmente monocroma. Usan procesadores de 16-33 MHz que son

    suficientes para que el dispositivo funcione con rapidez, y disponen de 2 u 8 Mb

    de memoria RAM.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    20

    o Linux

    LINUX es un sistema operativo compatible UNIX. Dos características

    muy peculiares lo diferencian del resto de los sistemas más extendidos en el

    mercado, la primera, es que es libre, esto significa que no hay costos por sus

    licencias, la segunda, es que el sistema viene acompañado del código fuente.

    LINUX se distribuye bajo la licencia pública del proyecto GNU que fue lanzado

    en 1984 para desarrollar el Linux de libre distribución. El sistema ha sido

    diseñado y programado por multitud de programadores alrededor del mundo. El

    núcleo del sistema sigue en continuo desarrollo. En los últimos tiempos, ciertas

    casas de software comercial han empezado a distribuir sus productos para Linux

    y la presencia del mismo en empresas aumenta rápidamente por la excelente

    relación calidad-precio que se consigue.

    En los últimos años, algunos fabricantes de dispositivos móviles han

    incorporado Linux a sus productos. Se están desarrollando versiones de

    Embedded Linux que constituyen la tercera alternativa a Palm OS y Windows

    CE para los computadores de mano. Así, LinuxDevices.com, ha creado una guía

    de referencia para computadores de mano basados en Linux, con la que pretende

    mantener actualizados de manera permanente los productos Linux para pequeños

    dispositivos. Si bien el modelo Sharp Zaurus SL-5x00 fue el primer computador

    de mano con Linux pre-instalado, hay actualmente versiones de Embbeded

    Linux para casi todas las marcas.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    21

    o Symbian OS (EPOC)

    El sistema operativo de Psion se llama EPOC, nombre del núcleo del

    antiguo sistema operativo de la Psion serie 3. Hasta 1997 Psion no comenzó a

    licenciar el EPOC32, la versión de 32 bytes para la serie 5. Permite realizar

    multitarea y pretende competir con Windows CE. El recibimiento fue frío y sólo

    Philips mostró algo de interés. Pero Psion reaccionó y a mediados de 1998 creó

    la alianza Symbian -junto con Ericsson, Nokia, Motorola y Matsushita- con el

    propósito de hacer de EPOC un sistema operativo único. El premio de esta

    apuesta es elevado: los 600 millones de usuarios de dispositivos móviles en año

    2002.

    Symbian es un sistema operativo abierto, está diseñado para los

    requerimientos específicos de los teléfonos móviles de 2G, 2.5 y 3G. En las

    versiones 6.X de este sistema se tiene soporte para desarrollo en C++, Java,

    WAP, HTML.

    El SO de Symbian es el sistema operativo estándar de la industria global

    para los Smartphone, dirigido a los fabricantes del micro teléfono, que generan

    entorno al 85% de las ventas totales mundiales de teléfonos móviles.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    22

    Versiones actuales:

    • OS v7.0s de Symbian: El OS v7.0s de Symbian es una

    plataforma para el mercado 3G, ofreciendo nueva funcionalidad

    para permitir la conformidad 3GPP y la entrega de los servicios

    3G.

    Las nuevas características de OS v7.0s de Symbian son:

    - marco multi-roscado ligero de los multimedia

    - ayuda para W-cdma

    - Java MIDP 2.0

    - ayuda para los contextos múltiples primario/secundario

    PDP

    - ayuda para el texto bidireccional (tailandés, árabe y

    hebreo).

    • OS v8.0 de Symbian: El OS v8.0 de Symbian es diseñado para

    resolver las necesidades de los comerciantes del OS de Symbian,

    de los operadores de red y de las empresas bajando el coste de la

    estructura del teléfono del OS de Symbian, aumentando las

    capacidades de Java y multimedia, así como funcionalidad

    avanzada del dispositivo.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    23

    • UIQ v3.0: UIQ es una plataforma para el interfaz de los

    Smartphone basados en el OS de Symbian.

    UIQ ofrece a usuarios que partidarios de la interacción y se

    diseña para ofrecer el acceso fácil a la amplia variedad de

    servicios de los datos en 2,5 y las redes 3G.

    Los teléfonos basados UIQ son de gran alcance y dan el acceso a

    los usos de la empresa, al e-mail, a los clips multimedia, así como

    la gerencia de información personal. La excelente interacción y

    las capacidades gráficas también proporcionan la ayuda para las

    posibilidades avanzadas del juego.

    UIQ ofrece a los fabricantes del teléfono móvil, una fundación

    sólida, construyendo los dispositivos eficientes, atractivos y de

    bajo coste. Se dan los derechos de modificar el UI para requisitos

    particulares al ajuste del producto.

    UIQ incluye la ayuda para los últimos estándares inalámbricos,

    con un sistema de usos esenciales y bien integrados, permitiendo

    la integración rápida del dispositivo. A través de la plataforma

    abierta de UIQ, existe una multiplicidad de usos y los servicios

    son ofrecidos por varias compañías de software.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    24

    UIQ 3.0 UIQ 2.1

    1.5 ANÁLISIS DEL MERCADO ACTUAL DE SOFTWARE X10 A continuación se va a mostrar el estudio llevado a cabo sobre el mercado actual

    del software relacionado con los dispositivos X10:

    Software ActiveHome

    El software de domótica ActiveHome viene incluido con el interfaz. S110210 y

    su utilización es sencilla e intuitiva, no requiere de conocimientos de programación, ni

    tener un equipo hardware de última generación, con un 386 y 4 Mb de RAM puede

    utilizarlo. Viene provisto de una pantalla gráfica donde rápidamente comprenderá el

    manejo, ya que dispone de ejemplos pre-programados.

    Para la programación de módulos al amanecer o al crepúsculo, puede elegir de la

    lista, la zona geográfica. Programando de esta forma el apagado de la luz del porche al

    amanecer, el cierre de persianas eléctricas al anochecer, para simulación de presencia,

    etc. También puede programarse activar un determinado módulo (luz/aparato) en una

    fecha concreta.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    25

    La programación de Macros se realiza de la siguiente forma; Por ejemplo la

    macro B1 (que podemos denominarla "Ambiente salón") hará que el módulo A1 se

    apague (luz del techo del salón), el módulo A2 se encienda al 50 % (Halógenos del

    mueble de mampostería), y que medio minuto más tarde comiencen a encenderse el

    módulo A3 hasta alcanzar el 40 % (luces indirectas de los cuadros de la entrada). Y así

    podemos programar en una sola macro las órdenes que nuestra imaginación llegue a

    concebir para crear los ambientes deseados.

    El software está en español, y todas las etiquetas y nombres de los módulos y

    sistemas domóticos se pueden personalizar en cualquier idioma sin ningún problema.

    Además su interfaz es totalmente gráfico por lo que su utilización resulta muy intuitiva.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    26

    Power Home

    El Power Home es un paquete de software para la automatización de la casa que

    permite que controles la iluminación y aplicaciones caseras así como los dispositivos

    infrarrojos. La iluminación y las aplicaciones son controladas vía el Insteon y los

    reguladores siguientes X-10: PowerLinc V2 (USB y cuento por entregas), CM11A,

    CM17A, MR26A, PowerLinc (cuento por entregas y USB), W800RF32, y CPU-

    XA/Ocelot. El control infrarrojo se alcanza a través de los reguladores IR siguientes: El

    círculo (telecontrol infrarrojo automatizado), Multi-CÍRCULO, RedRat2, RedRat3,

    CPU-XA/Ocelot, USB-UIRT, y slink-e. Con el CPU-XA/Ocelot y los módulos

    adicionales o el regulador de Velleman K8000 también tienes acceso a las entradas

    digitales/a las salidas, las entradas análogas y las salidas análogas (K8000 solamente).

    Con este interfaz programable, el control se alcanza vía teclado, ratón, email, X-10, el

    reconocimiento IR, de voz, la mensajería de Windows.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    27

    Características:

    • Interfaz completamente programable con opción de idiomas. Puedes utilizar

    scripting interno o cualquier lengua apoyada por el anfitrión de Windows

    Script (por ejemplo: VBScript, JScript, etc.)

    • Web server interno para el mando a distancia y supervisar. Apoya el

    contenido dinámico definido por el usuario vía PSP (las páginas caseras del

    servidor de la energía)

    • Reconocimiento de voz.

    • El servidor incorporado del WAP para el mando a distancia vía Internet.

    Como conclusión, podemos afirmar que no se dispone de una amplia gama de

    software de control de dispositivos X10, y los que existen, son en su mayoría para

    control de los dispositivos desde el PC. Sin embargo, X10 Media Home, proporciona un

    control total de los dispositivos tanto de forma local como remota a través de un

    dispositivo móvil y para cualquier sistema operativo.

  • SCDI-DM - Carlos Cifuentes Fernández IINF – ICAI – COMILLAS – PFC 06/07

    28

    1.6 PLANIFICACIÓN

    OCTUBRE NOVIEMBRE DICIEMBRE ENERO FEBRERO MARZO ABRIL MAYO

    INTRODUCCIÓN

    ANÁLISIS DE

    REQUERIMIENTOS

    ANÁLISIS TECNOLÓGICO

    DISEÑO DEL SISTEMA

    DISEÑO DETALLADO

    IMPLEMENTACIÓN Y PRUEBAS

    DOCUMENTACIÓN

    Planificación del proyecto.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    29

    1.7 PRESUPUESTO

    El desglose del presupuesto sería el siguiente:

    Horas de análisis: 70 * 70 €/h = 4900 €

    Horas de diseño: 60 * 60 €/h = 3600 €

    Horas de programación: 230 * 55 €/h = 12650 €

    Total = 21150 €

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    30

    2. ARQUITECTURA DEL SISTEMA

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    31

    2. ARQUITECTURA DEL SISTEMA

    A continuación se van a identificar y definir las distintas alternativas que pueden

    servir como soluciones viables para satisfacer los requisitos definidos y las necesidades

    del usuario.

    Las distintas alternativas, parten de una base común. Todas siguen una

    arquitectura cliente-servidor, y esta nos va a proporcionar las ventajas de la arquitectura

    basada en componentes, destacando:

    • Función distribuida entre cliente y servidor.

    • Interfaz de presentación gráfica.

    • Reutilización de componentes, como los establecidos en este tipo de

    arquitecturas orientadas a componentes.

    Los componentes del nivel de presentación en el cliente podrán desarrollarse

    diferentes lenguajes, aunque en este caso se desarrollara, tanto la aplicación cliente

    como el servidor, en Java, utilizando para la parte cliente un desarrollo en la plataforma

    J2ME y para la parte servidor un desarrollo en la plataforma de desarrollo JAVA SE.

    Los elementos hardware y software comunes a las alternativas, son los

    siguientes:

    • Para la implantación de la aplicación cliente:

    o Dispositivo móvil con Java: MIDP 2.0.

    • Para la implantación de la aplicación servidora:

    o Un PC con Java: JRE 6.0.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    32

    • Hardware común: Bluetooth, dispositivos X10

    Vamos a proponer dos alternativas que darían solución a los requisitos.

    Únicamente difieren en la elección de la forma de comunicación: los protocolos a

    seguir, el hardware adecuado…

    Como queremos que la sincronización de los datos se realice a través de un

    medio inalámbrico y libre, es decir, sin coste añadido por usar el medio, podemos elegir

    entre una de estas dos alternativas:

    1. Bluetooth.

    2. Infrarrojos.

    Atendiendo a los factores técnicos de cada alternativa, la elección del uso de

    Bluetooth como medio de comunicación es mejor ya que proporciona mayor

    independencia del sistema servidor, nos proporciona una mejor comunicación ya que el

    dispositivo móvil puede estar en cualquier espacio físico siempre y cuando este dentro

    del radio de alcance del PC que es bastante amplio para el fin que buscamos, mientras

    que si se utiliza infrarrojos, deben estar en línea los dispositivos de infrarrojos de ambas

    aplicaciones.

    Desde el punto de vista de la implementación la elección de Bluetooth puede

    resultar más tediosa.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    33

    La viabilidad económica considera la inversión o gasto del proyecto:

    • Coste de implantación:

    o Los costes de desarrollo van a resultar prácticamente iguales ya

    que se va a ser desarrollado por una única persona, y llevaría más

    o menos las mismas horas de desarrollo de la aplicación.

    o Los costes de puesta en marcha son similares.

    o Costes de formación serian los mismos ya que se tratarían de

    unas tecnologías nuevas para el desarrollo.

    • Costes de adquisición de tecnología:

    o En cuanto al coste hardware, podemos afirmar que sería un coste

    parecido o incluso más barato el uso de la tecnología de

    infrarrojos en el dispositivo móvil pero habría una gran diferencia

    en el coste de adquisición del periférico de infrarrojos para el PC,

    ya que en el mercado actual, el rápido crecimiento de la

    tecnología inalámbrica Bluetooth, implica una gran competencia

    y una caída de precios. Por lo que en conjunto la alternativa más

    económica sería la adquisición de dispositivos Bluetooth.

    Con los datos recogidos en la especificación de cada alternativa, y estudiadas las

    diferentes soluciones, podemos afirmar que la alternativa de realizar la comunicación

    mediante la tecnología Bluetooth, es más viable ya que la independencia entre

    dispositivos aporta una facilidad de uso para el usuario final mucho mayor que la que

    aportan los infrarrojos, aparte del punto de vista económico.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    34

    A continuación vamos a comparar las distintas tecnologías para utilizarlo en el

    sistema domótico.

    Vamos a tratar dos criterios para valorar un sistema domótico: el de usuario y el

    técnico:

    • Criterios de usuario:

    • Posibilidad de realizar preinstalación del sistema en la fase de

    construcción de la vivienda.

    • Facilidad de ampliación e incorporación de nuevas funciones.

    • Simplicidad de uso.

    • Grado de estandarización e implantación del sistema.

    • Variedad de elementos de control y funcionalidades disponibles.

    • Tipo de servicio posventa.

    • Criterios técnicos:

    • Tipo de arquitectura (topología si es distribuido o centralizado).

    • Topología.

    • Velocidad de transmisión.

    • Medios de transmisión.

    • Tipo de protocolo.

    • Fabricación de elementos por terceras partes.

    Existe una gran variedad de sistemas domóticos con diversas aplicaciones y en

    constante evolución. Orientados a pequeñas construcciones o a grandes edificios,

    sencillos y limitados, como así también expandibles y complicados. La forma clásica e

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    35

    intuitiva de clasificar los sistemas disponibles es la basada en el tipo de soporte (cable)

    que utilizan para transmitir los datos de comunicación entre los dispositivos. De acuerdo

    a este criterio, los sistemas más importantes hasta el momento se dividen en:

    • Sistemas por bus de datos (utilizan una red de cableado especial).

    • Sistemas por onda portadora (utilizan el cableado de electricidad de la

    edificación).

    Entre estos dos tipos de sistemas, hemos elegido un sistema por onda portadora

    ya que no necesitamos una instalación aparte para su utilización sino que utilizamos el

    propio cableado del edificio.

    Conocida ya la alternativa a desarrollar, con los elementos hardware, software y

    de comunicaciones a utilizar, se puede definir la arquitectura de los dos módulos

    principales en los que se divide la aplicación, el cliente que será instalado en un

    dispositivo móvil y el servidor que será instalado en un PC, sigue el siguiente gráfico de

    alto nivel, el cual representa las características hardware y operativas que definen a la

    arquitectura elegida:

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    36

    Arquitectura del sistema

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    37

    3.1 BLUETOOTH

    3.1.1 INTODUCCIÓN 3.1.2 ARQUITECTURA DE PROTOCOLOS

    3.1.2.1 PILA DE PROTOCOLOS 3.1.3 PERFILES Y MODELOS DE USO BLUETOOTH

    3.2 J2ME

    3.2.1 INTRODUCCIÓN A J2ME 3.2.2 MAQUINAS VIRTUALES J2ME 3.2.3 API JSR-82

    3.3 X10

    3. ESTUDIO DE TECNOLOGÍAS

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    38

    3. ESTUDIO DE TECNOLOGÍAS

    3.1BLUETOOTH

    Bluetooth es un estándar que identifica un conjunto de protocolos que facilitan la

    comunicación inalámbrica entre diferentes tipos de dispositivos remotos. Su nombre se

    debe al rey vikingo Harold Bluetooth (940 A.D. – 981 A.D.) reconocido por su facilidad

    de comunicación.

    3.1.1 INTRODUCCIÓN

    Bluetooth surge de la necesidad de las grandes empresas de telecomunicaciones

    e informática de crear un estándar de comunicación inalámbrica para suprimir los cables

    de conexión.

    Bluetooth es una transmisión de corto alcance por radiofrecuencia, capaz de

    transmitir a través de objetos sólidos no metálicos. Transmiten con una potencia

    nominal de salida de 0 dBm permitiendo un alcance de 10 metros en un ambiente libre

    de obstáculos, pero haciendo uso de amplificadores de la transmisión de energía puede

    alcanzar los 100 metros.

    Opera en la banda libre de radio ISM1 a 2.4 GHz Soporta transmisiones de tres

    canales de voz, video y datos a una velocidad máxima de 1 Mbps, aunque la velocidad

    1 Industrial Scientific Medicine. Banda internacional médico-científica.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    39

    real estará comprendida alrededor de los 721 Kbps, incluyendo un canal de retorno de

    56 Kbps.

    La banda ISM al no necesitar licencia, está abierta a cualquiera, por lo que debe

    adaptarse a las pequeñas interferencias de otros aparatos. Este problema lo soluciona,

    utilizando un sistema que busque la parte no utilizada del espectro o un sistema de salto

    de frecuencia.

    La técnica de salto de frecuencia es aplicada a una alta velocidad y una corta

    longitud de los paquetes (1600 saltos/s). Divide la banda de frecuencia en varios canales

    de salto, donde, los transceptores, durante la conexión van cambiando de uno a otro

    canal de salto de manera seudo-aleatoria. Los paquetes de datos están protegidos por un

    esquema ARQ2, en el que los paquetes perdidos son automáticamente retransmitidos.

    Bluetooth utiliza un sistema FH/TDD3, en el que el canal queda dividido en

    intervalos slots de 625 µs, donde cada salto de frecuencia es ocupado por un slot. Dos o

    más unidades Bluetooth pueden compartir el mismo canal dentro de una piconet4.

    Datagrama Bluetooth:

    La información que se intercambia entre dos unidades Bluetooth se realiza

    mediante un conjunto de slots que forman un paquete de datos.

    2 Repetición automática de consulta. 3 Salto de frecuencia/división de tiempo duplex 4 Pequeña red que establecen automáticamente los terminales Bluetooth para comunicarse entre si

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    40

    Cada paquete comienza con un código de acceso de 72 bits, de la identidad

    maestra, seguido de un paquete de datos de cabecera de 54 bits. Éste contiene

    información de control, 3 bits de acceso de dirección, tipo de paquete, bits de control de

    flujo, bits para la retransmisión automática de la pregunta, y chequeo de errores de

    campos de cabecera. La dirección del dispositivo es en forma hexadecimal. Finalmente,

    el paquete que contiene la información, que puede seguir al de la cabecera, tiene una

    longitud de 0 a 2745 bits.

    Cabecera de un datagrama Bluetooth.

    Los receptores de la piconet comparan las señales que reciben con el código de

    acceso, si éstas no coinciden, el paquete recibido no es considerado como válido en el

    canal y el resto de su contenido es ignorado.

    Además de los canales de datos, están habilitados tres canales de voz de 64

    kbit/s por piconet. Las conexiones son uno a uno con un rango máximo de diez metros,

    aunque utilizando amplificadores se puede llegar hasta los 100 metros, pero en este caso

    se introduce alguna distorsión.

    En la siguiente tabla se muestran de forma genérica las especificaciones de la

    tecnología Bluetooth:

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    41

    Especificaciones

    Banda de frecuencia 2.4 GHz

    Potencia del transmisor 1 mW (0 dBm)

    Tecnología RF Espectro Ensanchado por Secuencia Directa Híbrida y

    Saltos en Frecuencia (FH-SS)

    Velocidad de datos 721 Kbps por piconet

    Rango esperado del sistema 10 metros. Extensión a 100 metros.

    Nº máximo de dispositivos 8 por piconet. 10 piconets en un área de cobertura1

    (scatternet)

    Nº máximo canales de voz 3 por piconet

    Nº máximo canales de datos 7 por piconet

    Seguridad Sí, en la capa de enlace

    Alimentación 2.7 Voltios

    Consumo de potencia:

    Sleep 30 µA

    Hold 60 µA

    Standby 300 µA

    Transmitiendo 8 – 30 mA

    Tamaño del módulo 0.5 pulgadas cuadradas (327.68 mm2)

    Interferencias

    Bluetooth minimiza la interferencia potencial al

    emplear saltos rápidos en frecuencia de 1600 veces por

    segundo

    Especificaciones generales Bluetooth.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    42

    3.1.2 ARQUITECTURA DE PROTOCOLOS

    3.1.2.1 PILA DE PROTOCOLOS

    Para conseguir esta interoperabilidad, las aplicaciones en dispositivos remotos

    deben ejecutarse sobre una pila de protocolos idénticos.

    En el siguiente esquema se muestra la pila de protocolos de la especificación:

    Pila de protocolos Bluetooth.

    Las aplicaciones no hacen uso de todos los protocolos que conforman la pila, y

    algunas aplicaciones se ejecutan sobre una o más columnas de la pila.

    Como se puede observar la pila completa se compone tanto de protocolos

    específicos de Bluetooth (LMP y L2CAP) como de protocolos no específicos como son

    OBEX (Objects Exchange Protocol), UDP (User Datagram Protocol), TCP, IP, etc. Esto

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    43

    es así porque el objetivo principal ha sido la maximizar el número de protocolos

    existentes que se puedan reutilizar en las capas más altas para diferentes propósitos.

    Esto hace que las diferentes aplicaciones comerciales que utilicen estos protocolos,

    puedan interoperar con Bluetooth además de desarrollar con esta tecnología.

    La pila de protocolos se puede dividir en cuatro capas lógicas. La división es la

    siguiente:

    Capa de protocolo Protocolos de la pila

    Núcleo de Bluetooth BaseBand, LMP, L2CAP, SDP

    Sustitución del cable RFCOMM

    Control de Telefonía TCS Binary, AT-Commands

    Protocolos adoptados PPP, UDP/TCP/IP, OBEX, WAP, vCard,

    VCal, IRMC, WAE

    Clasificación protocolos Bluetooth.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    44

    3.1.3 PERFILES Y MODELOS DE USO BLUETOOTH

    PERFILES

    Hay cuatro perfiles generales que son ampliamente utilizados por todo tipo de

    aplicaciones y que describiremos brevemente a continuación:

    GAP: Generic Application Profile

    Pila de protocolos GAP

    El propósito de este perfil es describir el uso de las capas más bajas de la pila de

    protocolos Bluetooth (LC y LMP), aunque también incluye la descripción de los

    aspectos de seguridad necesarios y las capas de protocolos más altas (L2CAP,

    RFCOMM, OBEX, etc.). Se trata del perfil más importante de todos los definidos por el

    SIG ya que ha de ser implementado prácticamente por la totalidad de los dispositivos

    Bluetooth, sea cual sea su aplicación.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    45

    Se definen los siguientes papeles en el perfil:

    • “A-Party”: se trata del dispositivo que inicia la búsqueda, en el caso del

    establecimiento de enlace, o el iniciador en aquellos casos en los que ya está

    establecido el enlace y hay que iniciar algún procedimiento.

    • “B-Party”: se trata del dispositivo buscado en el establecimiento de enlace, o

    el que acepta en el resto de procedimientos.

    Este perfil maneja diferentes procedimientos entre dos dispositivos referentes al

    descubrimiento y conexión tanto para el caso en que ninguno de los dos dispositivos

    tenga establecido un enlace, como para aquellos casos en que uno de los dos tiene ya

    establecido un enlace (posiblemente con un tercero: “C-Party”).

    Procedimientos iniciados por un dispositivo (A) hacia otro (B)

    que puede tener o no un enlace Bluetooth activo.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    46

    En principio, un usuario Bluetooth debe ser capaz de conectar un dispositivo

    Bluetooth a otro. Incluso si los dos dispositivos no comparten ninguna aplicación

    común, esta conexión debe ser posible usando las capacidades básicas Bluetooth.

    Cuando los dos dispositivos sí comparten la misma aplicación pero son de

    diferentes fabricantes, la conexión entre ambos ha de ser posible aunque los nombres

    dados a las capacidades básicas Bluetooth por cada fabricante sean diferentes, ya que

    habrá que ejecutar una serie de procedimientos básicos que serán conocidos por ambos.

    Este perfil define modos de operación genéricos que pueden ser usados por

    diferentes perfiles que hagan referencia al GAP, y por dispositivos que implementen

    múltiples perfiles. Así, el GAP define procedimientos generales para descubrir

    identidades, nombres, capacidades básicas de otros dispositivos Bluetooth que estén en

    un modo operativo y cómo intercambiar las claves de enlace entre dispositivos.

    SPP: Serial Port Profile

    La siguiente figura muestra los protocolos y entidades usados en este perfil.

    Modelo de protocolos SPP

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    47

    La capa de emulación de puerto es la entidad encargada de simular el puerto

    serie y de proporcionar un API a las aplicaciones que corren por encima. Dichas

    aplicaciones A y B en ambos extremos son las típicas aplicaciones que se comunican

    sobre un cable serie (y que en este caso se va a emular). A continuación mostramos una

    posible configuración de dispositivos para este perfil:

    Ejemplo SPP con dos notebooks.

    Se definen los siguientes papeles en el perfil:

    • Dispositivo A (DevA): se trata del dispositivo que toma la iniciativa para

    conectarse a otro dispositivo. El nombre técnico que se le da es iniciador.

    • Dispositivo B (DevB): dispositivo que espera que otro tome la iniciativa de

    la conexión. Su nombre técnico es aceptante.

    Si quisiéramos establecer una correspondencia entre SPP y una arquitectura de

    puerto serie convencional, tanto el dispositivo A como el B pueden ser un DCE5 o un

    DTE6, ya que el protocolo RFCOMM ha sido diseñado para ser independiente de las

    relaciones DTE-DCE o DTE-DTE.

    5 Data Circuit Endpoint

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    48

    El escenario que cubre este perfil es el siguiente: establecimiento de puertos

    serie virtuales (o equivalentes) sobre dos dispositivos (por ejemplo, dos PCs) y

    conectarlos mediante Bluetooth realizando por tanto una emulación del cable serie entre

    ambos dispositivos.

    El perfil sólo soporta paquetes de slot único, lo que limita el régimen de datos a

    128 Kbps, y permite únicamente configuraciones punto a punto. Sin embargo, es

    posible tener múltiples ejecuciones de este perfil en el mismo dispositivo. Aspectos de

    seguridad, como la autorización y autenticación son obligatorios, mientras que los

    procedimientos de cifrado son opcionales. En cuanto a los papeles de maestro y esclavo

    no son fijos, es decir, permite el intercambio de papeles en un dispositivo. El protocolo

    RFCOMM es usado para el transporte de los datos, señales módem de control y

    comandos de configuración.

    SDAP: Service Discovery Application Profile

    La siguiente figura muestra los protocolos y entidades usados en este perfil:

    Pila de protocolos SDAP.

    6 Data Terminal Endpoint

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    49

    Se definen los siguientes papeles en el perfil:

    • Dispositivo local (LocDev): dispositivo que inicializa el procedimiento de

    descubrimiento de servicio. Debe contener al menos la entidad cliente de la

    arquitectura Bluetooth SDP. Además, posee una aplicación de

    descubrimiento de servicios (SrvDscApp) usada por el usuario para iniciar

    los descubrimientos y visualizar los resultados obtenidos y una entidad

    BT_module_Cntrl que tiene como misión comunicarse con el protocolo

    BaseBand y dar diferentes órdenes de búsqueda cuando el dispositivo entra

    en diferentes modos de operación.

    • Dispositivo(s) remoto(s) (RemDev(s)): cualquier dispositivo que participa en

    el proceso de descubrimiento de servicios respondiendo a las preguntas de

    servicio generadas por un dispositivo local. Debe contener al menos la

    entidad servidor de la arquitectura Bluetooth SDP. Posee una base de datos

    de información relacionada con los servicios, la cual es consultada para crear

    las respuestas a las peticiones de descubrimiento de servicio.

    El papel de dispositivo local o remoto no es permanente ni exclusivo. Un

    dispositivo remoto puede tener instalada una aplicación SrvDscApp, al igual que puede

    poseer una entidad cliente, y viceversa. Así, un dispositivo puede ser un dispositivo

    local para una transacción SDP concreta a la vez que es un dispositivo remoto para otra

    transacción SDP.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    50

    La siguiente figura muestra un ejemplo SDAP: un dispositivo local (notebook)

    realizando petición de servicios entre un conjunto de dispositivos remotos.

    Ejemplo de aplicación SDAP.

    Los escenarios que cubre este perfil son:

    • Búsqueda de servicios por clase de servicio.

    • Búsqueda de servicios por atributos de servicio.

    • Navegación de servicios.

    Los dos primeros casos representan la búsqueda de servicios específicos,

    mientras que en el último, trata de una búsqueda genérica de servicios, es decir, ver qué

    servicios están disponibles.

    Antes de que dos dispositivos equipados con Bluetooth se puedan comunicar en

    este perfil es necesario que se realicen las siguientes acciones:

    • Los dispositivos necesitan ser inicializados. La inicialización puede requerir

    la introducción de un PIN para crear una clave de enlace, para la

    autorización y el cifrado de los datos.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    51

    • Se tiene que crear un enlace Bluetooth, lo cual puede requerir el

    descubrimiento de la dirección BD_ADDR de otro dispositivo a través de los

    procedimientos de búsqueda y pregunta.

    El descubrimiento de servicios puede ser iniciado tanto por un maestro como por

    un esclavo de la piconet. Además, un esclavo en una piconet puede iniciar el

    descubrimiento de servicios en una nueva piconet, en el caso de que el maestro de la

    piconet original indique que no está disponible.

    GOEP: Generic Object Exchange Profile

    La siguiente figura muestra los protocolos y entidades usados en este perfil.

    Pila de protocolos GOEP

    La capa de aplicación cliente es la entidad encargada de enviar y recuperar los

    objetos de datos del servidor mediante operaciones OBEX. La aplicación servidora

    realiza el almacenamiento de datos y responde a las peticiones del cliente.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    52

    Se definen los siguientes papeles en el perfil:

    • Servidor: se trata del dispositivo que proporciona intercambio de objetos

    con el dispositivo cliente.

    • Cliente: dispositivo que introduce objetos (pushing) en el servidor o los saca

    (pulling).

    Los escenarios cubiertos por este perfil son:

    • El cliente pide al servidor la introducción de objetos.

    • El cliente pide al servidor la recuperación de objetos.

    Los requisitos del perfil son:

    a) Antes de que un servidor sea usado con un cliente por primera vez, se debe

    realizar un procedimiento de intercambio de claves. El uso concreto de este

    procedimiento depende de los perfiles de aplicación. Generalmente se trata

    de introducir un código PIN Bluetooth en los teclados de los dispositivos

    cliente y servidor.

    b) También se debe realizar un procedimiento de inicialización OBEX antes de

    usar el servidor por primera vez.

    c) La seguridad se puede conseguir mediante la autenticación de a la otra parte

    durante el establecimiento de la conexión y mediante el cifrado de todos los

    datos de usuario en el nivel de enlace, para lo cual la autenticación y el

    cifrado deberán ser soportados por todos los dispositivos.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    53

    d) El establecimiento de enlace y canal debe realizarse de acuerdo a los

    procedimientos definidos en el GAP.

    e) No hay papeles fijos para el maestro y esclavos.

    f) Este perfil no requiere el uso de los modos de bajo consumo.

    Hay que tener en cuenta las restricciones:

    a) Para el dispositivo que contenga al servidor, puede que el usuario tenga que

    ponerlo en modo de conexión o descubrimiento cuando los procedimientos

    de establecimiento de enlace y pregunta se están procesando en el cliente.

    b) El perfil soporta únicamente configuraciones punto a punto, por lo que el

    servidor sólo puede ofrecer sus servicios a un cliente a la vez.

    MODELOS DE USO BLUETOOTH

    A continuación se realiza una breve descripción de algunos ejemplos de modelos

    de uso Bluetooth.

    Transferencia de ficheros

    Este modelo de uso nos ofrece la capacidad de poder transferir objetos de datos

    de un dispositivo a otro (PCs, PDAs, smart-phones, etc.). Los tipos de los objetos

    incluyen ficheros .xls, .ppt, .wav, .jpg, .doc, directorios completos, tarjetas de negocios

    (cuyo formato está especificado con vCard), aunque en el futuro se espera poder

    aumentar el número de formatos de fichero que se puedan transferir. Además, se ofrece

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    54

    la posibilidad de navegar por los contenidos de diferentes carpetas en un dispositivo

    remoto. Para la implementación de este modelo de uso se emplean los siguientes

    perfiles:

    • Perfil de transferencia de ficheros (file transfer & browsing)

    • Perfil de introducción de objetos (object push)

    En la siguiente figura se presenta la pila de protocolos necesaria para este

    modelo de uso, destacando el uso del protocolo OBEX de intercambio de objetos,

    básico para esta aplicación.

    Pila de protocolos para aplicaciones de transferencia de ficheros.

    Internet bridge

    Gracias a este modelo de uso, los teléfonos móviles o módems inalámbricos

    pueden actuar como el módem de un PC, proporcionando capacidades de fax y

    establecimiento de llamadas en red sin necesidad de conexiones físicas al PC. En la

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    55

    siguiente figura se muestra la pila de protocolos necesaria para el establecimiento de

    llamada. Por un lado, los comandos AT son necesarios para controlar el teléfono móvil

    o el módem, y por otro, es necesaria otra pila, PPP sobre RFCOMM por ejemplo, para

    transferir los datos de pago.

    Pila protocolos para Internet Bridge.

    En el caso del fax, la pila de protocolos es muy similar pero PPP y los protocolos

    de red sobre PPP no se usan y el software de aplicación envía un facsímile directamente

    sobre RFCOMM.

    Acceso a una LAN

    En este modelo de uso, los DTs7 usan un punto de acceso LAN (LAP)

    inalámbrico como conexión a la red de área local. Una vez conectados, los DTs operan

    como si ellos estuvieran conectados a la LAN con una conexión telefónica de red. Así,

    los DTs pueden acceder a todos los servicios proporcionados por la LAN. La pila de

    7 terminales de múltiples datos

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    56

    protocolos es muy similar a la del modelo de uso de Internet Bridge exceptuando que no

    se emplean los comandos AT.

    Pila de protocolos para acceso a LAN.

    Sincronización

    Este modelo de uso proporciona una sincronización dispositivo-dispositivo de la

    información PIM8, típicamente agendas de teléfonos, calendarios, mensajes, pequeñas

    anotaciones. La sincronización requiere que la información de tarjetas, calendarios y

    tareas sea transferida y procesada por ordenadores, teléfonos celulares y PDAs usando

    protocolos comunes e igual formato. A continuación se muestra la pila de protocolos:

    8 Personal Information Management

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    57

    Pila de protocolos para sincronización.

    3.2 J2ME

    3.2.1 INTRODUCCIÓN A J2ME

    Es una versión de Java orientada a dispositivos electrónicos con capacidades

    computacionales y graficas muy reducidas, como teléfonos móviles, PDAs o

    electrodomésticos. La maquina virtual es la KVM9, que solo necesita unos Kilobytes de

    memoria para funcionar, en vez de la JVM10.

    9 Kilo Virtual Machine. 10 Java Virtual Machine.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    58

    Arquitectura de la plataforma Java Sun

    Java no es un simple lenguaje de programación, sino un conjunto de tecnologías que

    abarca a todos los ámbitos de la computación, con dos elementos comunes:

    • El código intermedio es interpretado por la Virtual Machina

    • Todas las tecnologías comparten una serie de APIs básicas como la java.lang y

    java.io.

    J2ME contiene una parte reducida de las APIs que contiene JAVA SE, debido a que

    estas ocupan alrededor de 20 Mb. Utiliza 37 clases de los paquetes java.lang, java.io y

    java.util, de la plataforma JAVA SE, que forman parte de la llamada configuración.

    Relación entre las APIs de las plataformas Java

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    59

    3.2.2 MÁQUINAS VIRTUALES J2ME

    La máquina virtual es la encargada de interpretar código intermedio (bytecode) de las

    aplicaciones Java precompiladas a código máquina ejecutable por la plataforma, efectuando

    llamadas al SO. Proporciona independencia de la plataforma con respecto al hardware y al

    SO.

    J2ME define varias VMs, adecuándose a los distintos dispositivos según sus exigencias.

    Existen dos configuraciones CLDC y CDC, cada una de ellas con características propias

    por lo que cada una requiere su propia maquina virtual. La configuración CLDC se denomina

    KVM y la de la configuración CDC se denomina CVM. Entraremos a ver en profundidad la

    KVM que es la que se va a utilizar.

    Entorno de ejecución.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    60

    KVM

    Arquitectura MIDP/CLDC/KVM

    Es maquina virtual más pequeña desarrollada por Sun. Ocupa entre 40Kb y 80Kb. Está

    orientada a dispositivos con bajas capacidades computacionales y de memoria. Esta escrita en

    lenguaje C en unas 24000 líneas de código.

    Limitaciones respecto a la JVM, no existen:

    • Tipos en coma flotante, es decir no existe double ni float. Es debido al

    que el hardware de los dispositivos no lo soportan.

    • Soporte JNI11 debido a los recursos limitados de memoria.

    • class loaders12 definidos por el usuario, sólo predefinidos.

    • Hilos deamon13.

    • Finalización de instancias de clases. Método Object.finalize().

    11 Java Native Interface. 12 cargadores de clase. 13 grupos de hilos.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    61

    • Referencias débiles14.

    • Limitación de excepciones debido a las APIs.

    • Reflexión15.

    A parte de los citados, la verificación de clases tampoco está incluida ya que es

    demasiado grande para la KVM, incluso más grande que esta y un consumo de memoria

    excesivo (100Kb para aplicaciones típicas). Tiene como función de rechazar las clases no

    válidas en tiempo de ejecución.

    Los dispositivos con CLDC y KVM tienen un algoritmo de verificación de clases en

    dos pasos:

    Pre verificación de clases en CDLC/KVM.

    14 Un objeto que está siendo apuntado mediante una referencia débil es un candidato para la recolección de basura. Estas referencias están permitidas en JAVA SE, pero no en J2ME. 15 La reflexión es el mecanismo por el cual los objetos pueden obtener información de otros objetos en tiempo de ejecución como, por ejemplo, los archivos de clases cargados o sus campos y métodos.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    62

    3.2.3 API JSR-82

    Este API está dividida en dos partes: el paquete javax.bluetooth y el paquete

    javax.obex.

    Los dos paquetes son totalmente independientes. El primero de ellos define

    clases e interfaces básicas para el descubrimiento de dispositivos, descubrimiento de

    servicios, conexión y comunicación. La comunicación a través de javax.bluetooth es a

    bajo nivel: mediante flujos de datos o mediante la transmisión de arrays de bytes.

    Por el contrario el paquete javax.obex permite manejar el protocolo de alto nivel OBEX

    (OBject EXchange). Este protocolo es muy similar a HTTP y es utilizado sobre todo

    para el intercambio de archivos. El protocolo OBEX es un estándar desarrollado por

    IrDA y es utilizado también sobre otras tecnologías inalámbricas distintas de Bluetooth.

    La plataforma principal de desarrollo del API JSR-82 es J2ME. El API ha sido

    diseñado para depender de la configuración CLDC. Sin embargo existen

    implementaciones para poder hacer uso de este API en JAVA SE.

    El paquete javax.bluetooth

    En una comunicación Bluetooth existe un dispositivo que ofrece un servicio

    (servidor) y otros dispositivos acceden a él (clientes). Dependiendo de qué parte de la

    comunicación debamos programar deberemos realizar una serie de acciones diferentes.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    63

    Un cliente Bluetooth deberá realizar las siguientes:

    • Búsqueda de dispositivos. La aplicación realizará una búsqueda de los

    dispositivos Bluetooth a su alcance que estén en modo conectable.

    • Búsqueda de servicios. La aplicación realizará una búsqueda de servicios

    por cada dispositivo.

    • Establecimiento de la conexión. Una vez encontrado un dispositivo que

    ofrece el servicio deseado nos conectaremos a él.

    • Comunicación. Ya establecida la conexión podremos leer y escribir en

    ella.

    Por otro lado, un servidor Bluetooth deberá hacer las siguientes operaciones:

    • Crear una conexión servidora

    • Especificar los atributos de servicio

    • Abrir las conexiones clientes

    3.3 X10

    Entre 1.976 y 1.978 se desarrolló la tecnología X-10 en Glenrothes, Escocia,

    por ingenieros de la empresa Pico Electronics Ltd.; en la actualidad se distribuye X-10

    en los cinco continentes, siendo su principal mercado USA. Durante los últimos 15 años

    se han vendido más de 150 millones de equipos X-10,

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    64

    Desde que empezó su comercialización en 1.978, millones de instalaciones en

    todo el mundo avalan este sistema técnicamente conocido por "Power Line Carrier", su

    funcionamiento se basa en la utilización de la red eléctrica existente en cualquier tipo de

    edificio, ya sea casa u oficina, como medio físico para la comunicación interna de los

    distintos componentes del sistema domótico.

    Sus más de 25 años de experiencia, con millares de instalaciones realizadas en

    España, la multitud de fabricantes que asegura una amplia gama de productos,

    continuidad de la tecnología y el importante hecho de no tener que realizar obras de

    infraestructura para cableados especiales, son suficientes motivos para que se

    recomiende este hermano menor de la domótica para apartamentos, oficinas y locales,

    tanto de nueva como de antigua construcción.

    Pero además, combinando múltiples productos de dilatada y probada

    experiencia, se puede lograr un sistema domótico de altas prestaciones y baja inversión.

    Su instalación y configuración es tan sencilla que el propio usuario puede configurar las

    aplicaciones que desee en cada momento entre una amplio abanico de funciones.

    Gracias a la flexibilidad que supone el ser un sistema escalable, resulta todo un

    interesante y nuevo mundo de bricolaje tanto en seguridad doméstica como en confort,

    ahorro energético, comunicación e incluso ocio, pudiendo manejar a distancia el DVD,

    las fotos, vídeos y canciones mp3 almacenadas en nuestro PC para visionarlas en el

    home cinema de nuestro salón.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    65

    Conceptos de un sistema domótico básico

    Un sistema domótico, en su versión puramente electrónica, es cualquier solución

    que permita el control de sistemas instalados en el hogar. En su concepto más básico y

    elemental permite la gestión integrada de persianas, toldos, cortinas, electroválvulas

    motorizadas en dos sentidos de actuación, luces, equipos electrónicos (aparatos de radio,

    electroválvulas, calderas de calefacción, cafeteras, ...) cuya actuación sea

    encendido/apagado....

    En un sentido más amplio de domótica, el sistema se integra con Seguridad

    Técnica: protección contra fugas de agua, gas, concentraciones dañinas de emisiones

    naturales de gases (como es el caso del granito), o artificiales como es el caso de CO por

    ejemplo en garajes; detección de humo y fuego. Seguridad contra intrusión.

    Teleasistencia. Control de calefacción. Sistemas de Ocio como la televisión, el vídeo,

    los canales parabólicos e incluso el control del PC con su DVD y sus fotos, vídeos y

    música digitales.

  • SCDI-DM - Carlos Cifuentes Fernández - IINF - ICAI - COMILLAS - PFC 06/07

    66

    De esta forma el sistema domótico puede crecer indefinidamente integrando

    sistemas especialmente diseñados para su función específica pero que tras un correcto

    análisis, se pueden integrar en el conjunto formando un sistema amigable y no

    sofisticado que facilita el día a día y evita la dispersión tecnológica, en continuo

    aumento, que sufren nuestros hogares.

    Prestaciones de un sistema domótico

    o Seguridad: mediante el sistema usted podrá realizar simulaciones de presencia

    en su vivienda, así como si provee de detectores de intrusión, movimiento, fuga

    de agua entre otros, el sistema mediante una centralita pueda dar aviso a una

    central de alarmas o bien a teléfonos particulares programados en caso de que

    haya una intrusión o alguna avería técnica en su vivienda, además de poder

    conocer el estado de la vivienda desde cualquier lugar del mundo.

    o Confort: mediante la administración de estos dispositivos usted podrá actuar

    so