You are on page 1of 112

Proyecto Fin de Carrera

Software accesible para control de entorno mediante dispositivos mviles

Ingeniera Informtica ETS de Ingenieras Informtica y de Telecomunicaciones niversidad de !ranada Septiembre de "#$# %utor& 'os( %lcal Correa Tutora& )* 'os( +odrgue, Frti,

-ora

Software accesible para control de entorno mediante dispositivos mviles

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

/01ICE
Captulo I& Introduccin
$. 2b3etivos del proyecto $.$. 1escripcin del problema $.". Propuesta de desarrollo $.6. 1escripcin detallada de los ob3etivos

5
6 4 5 7

Captulo II. Investigacin.


$. Estado del arte. $.$. Soluciones similares $.". Plataformas mviles $.6. Sistemas domticos comerciales $.8. Plataformas para comunicacin distribuida ". Conte9to ".$. Proyectos previos reali,ados en la ".". Software libre 6. Tecnologas empleadas !+

12
13 $6 $4 $7 "" 24 "8 "4 28

Captulo III& )odelado de re:uisitos


$. %nlisis de re:uisitos $.$. 1escripcin informal $.". +e:uisitos funcionales $.6. +e:uisitos no funcionales $.8. %ctores ". Casos de uso ".$. 1iagrama de casos de uso ".". 1iagrama de pa:uetes ".6. 1escripcin de los casos de uso

30
31

Captulo I;& %nlisis


$. 0ormas de accesibilidad
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

"

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.$. %ccesibilidad web& <%I $.". !02)E %ccesibility !uidelines $.6. Conclusiones ". +epresentacin gen(rica de dispositivos domticos ".$. 1ireccionamiento y valores en sistemas comerciales ".". Conclusiones 6. )odelo esttico 6.$. 1iagrama de clases 6.". 1escripcin de las clases& atributos y operaciones 6.6. 1escripcin de las relaciones

Captulo ;& 1ise=o


$. %r:uitectura del sistema ". 1escomposicin en subsistemas 6. 1ise=o de ob3etos

Captulo ;I& implementacin


$. +ecursos empleados 8.$. +ecursos >ardware 8.". +ecursos software ". 1escripcin del entorno de desarrollo 6. Implementacin de la interfa, de usuario 8. Implementacin de la comunicacin con el servidor ?. Integracin con Calimero 4. Entrenador para pruebas -0@

Captulo ;II&

so de la aplicacin

$. )anual de instalacin $.$. Instalacin de la aplicacin servidor $.". Instalacin de la aplicacin cliente ". )anual de usuario ".$. %plicacin servidor ".". %plicacin cliente
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

Captulo ;III& Conclusiones


$. +esumen del traba3o ". Eventos durante el desarrollo ".$. AacBatn de Software Cibre en la ".6. Concurso !+ ".". Concurso de Software Cibre !ranadino niversitario de Software Cibre ".8. %rtculos y asistencia a congresos ".?. Problemas durante el desarrollo 6. !rado de consecucin de ob3etivos 8. Traba3o futuro ?. %gradecimientos

%ne9os

+eferencias Contenidos del C1

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

C%P/T C2 I& I0T+21 CCID0

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

$. 2E'ETI;2S

1EC P+2FECT2
1EC

$.$. 1ESC+IPCID0

P+2ECE)%

El control de entorno es el con3unto de sistemas el(ctricosG electrnicos y mecnicos :ue permiten a una persona interactuar con ob3etos de su vivienda de forma remotaG es decirG sin accionar manualmente sus mecanismos. Esto suele >acerse mediante un mando a distancia o un panel de control empotrado en la pared. Ca domtica Hde domusG IcasaJ en latn y automticaG I que funciona por s solaJ en griegoK es el con3unto de sistemas el(ctricos y electrnicos :ue son capaces de automati,ar ciertas acciones en una vivienda. Cada da es ms comLn la presencia de la domtica y de sistemas de control de entorno tanto en los >ogares como en los edificios pLblicos. Estos dispositivos permiten reali,ar acciones dentro del >ogar de una forma ms cmoda y protegidaG al no tener :ue activar directamente ningLn mecanismo. Tambi(n son Ltiles para me3orar la seguridad en edificiosG pues pueden combinarse sensores y actuadores para programar avisos o acciones de proteccin. El desarrollo de los sistemas de control de entorno puede me3orar enormemente la calidad de vida y facilitar los :ue>aceres diarios de todos. Paralelo al auge de la domtica se est produciendo el auge de los Itel(fonos inteligentesJ HsmartphonesK :ue permiten una gran variedad de interacciones distintasG son cada ve, ms potentes y tambi(n ms ase:uibles. 1isponenG ademsG de una gran variedad de soluciones de conectividadG son ms ligeros y su autonoma es mayor. 0o obstanteG estos desarrollos tecnolgicosG 3unto con otros no menos importantes Hcomo el entretenimiento digitalG los electrodom(sticos inteligentes o las telecomunicacionesK pueden suponer una barrera :ue aumente la distancia social entre las personas :ue sufren alguna discapacidad y las :ue no. Sin embargoG si este desarrollo tecnolgico se reali,a siguiendo criterios de accesibilidad y dise=o universalG estas nuevas tecnologas pueden ofrecer grandes oportunidades para personas con discapacidades tanto fsicas como intelectuales. Por e3emploG las interfaces de control de los sistemas domticos y de control de entorno no son todo lo simples y accesibles :ue estos usuarios necesitan. 0ormalmente el control de los dispositivos se reali,a mediante paneles en la pared o mandos :ue estn configurados para una instalacin
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

concreta. Cas personas con discapacidad no pueden acceder a estos sistemas de control por no estar adaptados a ellos Hpues los botones son pe:ue=os o no se venG son comple3os de usar o simplemente son inalcan,ablesK. En cambioG los dispositivos mviles de Lltima generacin si estn preparados para permitir formas de interaccin no convencionales y :ue permiten el acceso a los mismos a las personas discapacitadas. Suelen incluir lectores de pantallaG ofrecen mLltiples modos de interaccinG personali,aciones en el modo de visuali,acin y varias combinaciones posibles de realimentacin ante las acciones del usuario. En muc>os casos es necesario :ue sean ellos mismos :uienes mane3en los dispositivos domticos en lugar de automati,ar el comportamiento de la vivienda. Esto les permitira tener un mayor grado de independenciaG lo cual dara como resultado una menor necesidad asistencialG la me3ora de su desarrollo e integracin social y profesionalG una mayor autoestima Hlo cual podra permitir en ciertos casos una recuperacin ms rpidaK y una disminucin de la presin :ue sienten los familiares del individuo. %sG sera deseable contar con una interfa, de control para los dispositivos domticos especficamente adaptada a ellosG y para tal labor los dispositivos mviles ofrecen unas caractersticas muy interesantesG como se >a comentado anteriormente.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.". P+2P

EST% 1E

1ES%++2CC2

El proyecto I-oraJ pretende desarrollar una aplicacin para dispositivos mviles :ue permita el control de dispositivos domticos en el >ogar o el centro educativo. Est especialmente enfocado a personas con necesidades especialesG ya sean de tipo fsico o cognitivo. Estas podran ser parlisis cerebralG problemas de movilidadG esclerosis lateral amiotrfica HEC%KG autismoG etc(tera. na de las premisas bsicas del proyecto es :ue se facilite al m9imo la interaccin del usuario con el entorno manteniendo la autonoma del mismoG de forma :ue sea (l :uien toma las decisiones y las acciones a reali,ar sobre lo :ue desea >acer en todo momento. 0o obstanteG tambi(n sera deseable permitir cierto nivel de automati,acinG principalmente con el propsito de aumentar la seguridad del usuario. Ca otra premisa es :ue pueda llegar al m9imo nLmero de personas posibleG sea cual sea la dificultad :ue presenten. Para conseguir dic>a capacidad de adaptacinG debe contar con una interfa, totalmente configurable y lo ms simple y sencilla de usar :ue sea posibleG tanto para el tutor de la persona discapacitada H:ue se encargar de configurar la aplicacin al gusto de estaK como para el propio usuario final. Ca aplicacin estar dise=ada para dispositivos mviles :ue acompa=en al usuarioG para :ue pueda reali,ar acciones de control de entorno en cual:uier momento y lugar. Estos dispositivos nos ofrecenG adems de la ubicuidadG una gran variedad de formas de interaccin mediante pantallas tctilesG gestosG acelermetros o control por vo,G :ue los mandos tradicionales no pueden aportar. Esta caracterstica debe ser la mayor cualidad :ue presente la aplicacin. Por una parte contar con una interfa, simple pero totalmente configurable tanto en aspecto como en contenido :ue la >aga accesible a una gran cantidad de personasG y por otra presente un gestor de usuarios y perfiles para los :ue pueda configurarse la aplicacin. Este gestor permitir :ue varias personas puedan utili,ar el mismo dispositivo para controlar la instalacin domticaG aun no teniendo el mismo con3unto de re:uisitos de personali,acin. Ca aplicacin ser Software CibreG con el propsito de :ue pueda revisarseG ampliarse y me3orarse por parte de tercerosG y de esta forma llegar al mayor nLmero posible de personas. %dems de en la calidad del softwareG el >ec>o de :ue sea libre redunda tambi(n en la reduccin de costes.
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.6. 1ESC+IPCID0 1ET%CC%1%

1E C2S

2E'ETI;2S

El proyecto I-oraJ tiene el propsito de desarrollar una aplicacin para dispositivos mviles :ue e3ecutan el Sistema 2perativo %ndroid para el control de dispositivos domticosG con especial (nfasis en su adaptabilidad a un rango lo ms amplio posible de discapacidadesG ya sean fsicas o cognitivas. 1adas estas premisasG la aplicacin desarrollada debe cumplir los siguientes re:uisitos. Facilidad y simplicidad de uso. 1ebido al pLblico al :ue va dirigida la aplicacinG es importante :ue su uso sea lo ms directo y sencillo posibleG de forma :ue las acciones se e3ecuten siempre de la misma manera y directamente. El apartado de configuracin debe ser tambi(n atractivo y sencillo de usar para los tutoresG ya :ue la mayora tendrn poca e9periencia con este tipo de dispositivos. Completa modificacin del comportamiento de la aplicacin. 1ebido a :ue la aplicacin debe ser capa, de adaptarse al mayor nLmero de caractersticas de los usuariosG todos y cada uno de los aspectos de la aplicacin deben de ser personali,ables. Este punto est muy relacionado con el anteriorG puesto :ue la gran cantidad de opciones no debe ser un obstculo para la configuracin de la aplicacinG manteni(ndose esta sencilla. 1ebe poderse modificar la forma en la :ue se interactLa con la aplicacinG aprovec>ando las posibilidades de los dispositivos sobre los :ue se va a implementar. Tambi(n debe poderse modificar la interfa, de la mismaG permitiendo su adaptacin a problemas con dificultades visuales o problemas cognitivos. %simismoG la realimentacin sobre las acciones :ue realice el usuario debe presentarse de distintas maneras& mediante vibracinG sonidos H:ue a su ve, sean configurablesKG dilogos de confirmacinG etc(tera. Robuste ! eficiencia y estabilidad. Es importante :ue la aplicacin sea estable y tenga un comportamiento predecibleG pues para ciertas personas Hcomo a:uellas :ue tienen sndrome
Proyecto Fin de Carrera. Septiembre de "#$#

'ose %lcal Correa

-ora

Software accesible para control de entorno mediante dispositivos mviles

de %sperger o autismoK es importante :ue la aplicacin se comporte siempre de la misma manera. %simismoG la aplicacin debe ser eficiente puesto :ue se va a e3ecutar en dispositivos mviles con una potencia reducidaG y el consumo e9cesivo de recursos dispara tambi(n el de batera. "scalabilidad. Ca aplicacin debe ser fcilmente ampliableG tanto en el soporte a nuevos dispositivos como a nuevas personali,aciones y representaciones de acciones y dispositivosG de forma :ue pueda utili,arse en lugares con distintas caractersticas y por parte de usuarios con distintas necesidades Hpor e3emploG puede >aber usuarios :ue prefieran o necesiten unas imgenes y sonidos concretosK. #oporte para el mayor n$mero de dispositi%os domticos. Ca aplicacin debe ser independiente de la tecnologa domtica subyacenteG es decirG es el servidor domtico :uien debe encargarse de adaptarse al estndar utili,ado H-0@G @N$#G OigEeeG etc(teraK. Ca interfa, de comunicacin entre la aplicacin mvil y la del servidor debe abstraerse sobre los protocolos de ba3o nivel. #oporte para un &ran n$mero de dispositi%os m%iles. Es importante :ue la aplicacin pueda utili,arse en el mayor nLmero posible de dispositivosG con caractersticas distintas Hcomo el tama=o de la pantalla o los accesorios :ue se le puedan conectarK y con un coste reducido. 'tili acin de formatos est(ndar y abiertos. Ca aplicacin traba3ar con datos almacenados :ue sigan especificaciones estndar yPo abiertasG como @)CG SQCite y bibliotecas estndar como la biblioteca de clases de 'ava. Confi&uracin de la aplicacin sin necesidad de )erramientas e*ternas. Ca aplicacin debe permitir la gestin de usuarios y sus perfiles asociados sin necesidad de >erramientas e9ternas. Esto no tiene por :u( conllevar necesariamente :ue no se puedan utili,ar >erramientas tales como generadores :ue >agan la edicin ms rpida. #oporte para %arios usuarios en un mismo dispositi%o. Ca consecucin de este o3etivo redundar en una notable reduccin de costes y una puesta en marc>a ms rpida del sistemaG pues para :ue otro usuario utilice el mismo terminal :ue otro solamente tendr :ue cambiarse el perfil en uso de la aplicacin.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

+cceso concurrente de %arios usuarios a los mismos dispositi%os domticos. 1ebe permitirse :ue varios usuarios puedan interactuar a la ve, con los dispositivosG de forma :ue todos observen a la ve, los cambios :ue se produ,can en el entornoG y puedan modificar su estado de forma segura.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$$

-ora

Software accesible para control de entorno mediante dispositivos mviles

C%P/T C2 II& I0;ESTI!%CID0

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$"

-ora

Software accesible para control de entorno mediante dispositivos mviles

$. EST%12
$.$. S2C

1EC %+TE

CI20ES

SI)IC%+ES

Sistemas de control de Entorno de E' %daptaciones


Ca empresa E' %daptaciones es una empresa dedicada a comerciali,ar y producir software y dispositivos de soporte a la autonoma de personas con discapacidad. Es una empresa fundada en "##" por dos >ermanosG uno de los cuales tiene esclerosis mLltipleG y su primer proyecto consisti en ofrecer soluciones a personas en situaciones similares. En su catlogo H:ue puede consultarse en su pgina web RE'SK ofrecen mLltiples dispositivosG y entre ellos se encuentran mandos para control de entorno. Estos mandos estn especficamente adaptados para una instalacin concreta :ue tienen :ue >acer los t(cnicos de la empresa y si se >acen cambios en la instalacin domtica >ay :ue reprogramar el mando completoG modificando la funcionalidad de los botones. Estos mandos utili,an un protocolo propio para comunicarse con los receptores y Lncamente son Ltiles a personas :ueG pese a tener problemas de movilidadG siguen pudiendo mover los dedos de la mano.

Proyecto Inter%ct
El proyecto Interact HInterfaces de Usuario Multimodales: Entornos ActivosKG del 1epartamento de Ingeniera Informtica de la niversidad %utnoma de )adrid tiene como ob3etivo el desarrollo de tecnologa relativa a la implementacin de Entornos %ctivos o Entornos Inteligentes. El prototipo de entorno inteligente :ue >an desarrollado est dividido en tres capas& de conte9toG de interaccin con el entorno fsico y de interaccin en lengua3e natural Rref%ctS. Est dise=ado para :ue la casa se adapte automticamente en la medida de lo posible al conte9to actual y las preferencias del usuario detectado. Este sistema utili,a el estndar domtico europeo EIE para la capa de entorno fsicoG :ue est activado mediante una red de sensores y un sistema de micrfono y altavoces :ue posibilitan la interaccin del usuario. Esta propuesta se diferencia de la nuestra en :ue est ms orientado a la automati,acin de acciones y la Iinteligencia adaptativaJ del entornoG
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

$6

-ora

Software accesible para control de entorno mediante dispositivos mviles

mientras :ue lo :ue nosotros proponemos es :ue se refuerce la intervencin directaG consciente y autnoma del usuario.

%mICab
El proyecto %mICab HAmbient Intelligence LaboratoryKG tambi(n de la %)G est igualmente enfocado a la Inteligencia %mbiental. Ca principal diferencia con el proyecto anterior es :ue en lugar de centrali,ar el proceso de las se=ales y acciones en una centralita domticaG aplican conceptos de computacin ubicua a los elementos :ue conforman el sistema domtico. En este proyecto est aLn ms marcada la automati,acin de los sistemas de control de entornoG de forma :ue el propio sistema tome decisiones sobre los dispositivos de la viviendaG aun:ue tambi(n se proponen nuevas formas de interaccin con el sistema como el uso de lengua3e natural >abladoG o realidad aumentada.

+emote and mobile control in domotics


Este paper propone un sistema de control remoto para instalaciones domticas. Pretende integrar sistemas de monitori,acin para Edificios Inteligentes HIntelligent EuildingsK. Es decirG est ms orientado al control monitori,ado de la instalacin ms :ue a la manipulacin y el mane3o de los dispositivos :ue la integran. El sistema est basado en un servidor web :ue se conecta con los dispositivos mviles mediante tecnologas estndar como Eluetoot> o <iFi. Cos dispositivos mviles son P1%s con <indows )obile 4 HPocBet PCsK. El artculo est escrito por el departamento de Electrnica y Computadores de la niversidad de TransilvaniaG y puede consultase en R+emoteS.

2pen+emote
Es un proyecto de cdigo abierto :ue pretende desarrollar una distribucin !0 PCinu9 especialmente enfocada al control de dispositivos domticos en el >ogarG ofreciendo una capa intermedia :ue provea acceso uniforme a alto nivel a los dispositivos domticos de distintos fabricantes y estndares. Ca organi,acin desarrolla software ba3o licencia libre para el acceso a dispositivos domticos y de automati,acin. Tambi(n comerciali,an soluciones >ardware con el software preinstalado y configurado para utili,ar en multitud de mbitos.
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

$8

-ora

Software accesible para control de entorno mediante dispositivos mviles

El proyecto tiene el ob3etivo de integrar todos los posibles dispositivos y sistemas domticos :ue puedan e9istir en una instalacin mediante un servidor central H:ue puede ser un ordenador convencional con 2pen+emote instalado o el sistema 2+E :ue viene preparado de fbricaK. % este servidor se puede acceder mediante acceso directo al ordenadorG mediante un sistema web Hllamado IT>e PanelJK o mediante dispositivos mviles como el iP>one o mviles %ndroid Hmediante la aplicacin 2pen+emote ControllerK. Como puede deducirseG la capacidad de este proyecto es inmensa y es muy potente y verstilG y adems es libre. 0o obstanteG la instalacin manual puede ser muy comple3aG el sistema no se considera estable todavaG no >ay apenas documentacin para el cdigoG y apenas >ay manuales para configurar el sistema. Cas aplicaciones para acceder al servidor domtico mediante dispositivos mviles :ue proveen estn dise=adas para usuarios con grandes conocimientos de domticaG pues re:uieren configuracin desde el propio dispositivo. Aay aplicaciones para %ndroid y iP>oneG ambas gratuitas y libresG y su cdigo fuente puede encontrarse en la for3a de cdigo del proyecto.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$?

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.". PC%T%F2+)%S )D;ICES


Aoy da e9isten varias plataformas mviles :ue podramos considerar Isuficientemente potentesJG es decirG :ue cuentan con posibilidades de conectividad inalmbrica como Eluetoot> o <iNFiG una ms :ue suficiente velocidad de proceso Hcapa, incluso de procesar el >abla en tiempo realKG interaccin tctil y un con3unto de >erramientas de desarrollo al mismo nivel :ue el de las aplicaciones de escritorio. Estas plataformas mviles se distinguen principalmente por el Sistema 2perativo :ue tienen preinstalado.

%pple iPod Touc>G iP>one y iPad


Estos dispositivos estn gobernados por el sistema operativo i2SG propiedad de %pple. Cuando se presentG el iP>one revolucion el concepto de telfono inteligente y la forma de interactuar con el mismo& ausencia de botones fsicosG uso de gestos lo largo de la interfa, de usuarioG utili,acin de acelermetros para detectar movimiento y multitouch. Estos dispositivos solo pueden programarse desde ordenadores con )ac2S @G y el lengua3e de programacin :ue suele usarse es 2b3ective C. Tiene la venta3a de ser una plataforma muy probada y eficienteG muy agradable est(ticamente y con gran reconocimiento social. Como contrapartidaG estn la limitacin a unos dispositivos concretos :ue pueden ser bastante carosG las limitadas opciones de intercone9in con otros dispositivos :ue no sean de %pple y el pago de las cuotas anuales para desarrollo de aplicaciones. Esto >ace :ueG a pesar del gran atractivo de la plataformaG est( le3os de los ob3etivos de ba3o coste y apertura de la plataforma. %simismoG para nuestro ob3etivo nos limita el >ec>o de la nula e9tensibilidad del dispositivo& no es posible conectarle perif(ricos e9ternos ms all de los oficialesG y ninguno de ellos ofrece me3oras de accesibilidad.

Symbian
Es un Sistema 2perativo para mviles y dispositivos empotrados desarrollado por un consorcio de empresas :ue lideraba 0oBiaG aun:ue a>ora es la Lnica propietaria del sistema y recientemente lo liber ba3o licencia !PC. Est presente en prcticamente todos los mviles de gama mediaNba3a de 0oBiaG Sony EricssonG Samsung o Siemens. Est especialmente optimi,ado
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

$4

-ora

Software accesible para control de entorno mediante dispositivos mviles

para dispositivos con pocos recursos >ardware y destaca por tener una gran estabilidad. El principal problema de los dispositivos :ue utili,an este Sistema 2perativo es la limitacin de recursos de la gran mayora de ellos y lo bsicas :ue son sus >erramientas de desarrolloG a pesar de ser una plataforma abierta :ue continLa evolucionando. 0ormalmenteG al ser bastante bsicos los dispositivos :ue llevan este sistema operativoG no suelen permitir accesorios ms all de los manos libres y los auriculares. %demsG la implementacin de los protocolos de comunicacin Hcomo Eluetoot> o <iFiK suele estar muy limitada.

ElacBEerry
Son un con3unto de P1%s comerciali,adas por la empresa canadiense +esearc> In )otion. Estos mviles son muy conocidos en el mundo empresarialG sobre todo por la gestin del correo y el teclado :ue suelen incluir. % pesar de estoG su sistema operativo no es todo lo estable :ue pudiera desearseG no son dispositivos especialmente potentes y presentan ciertas limitaciones a la >ora de interactuar con ellosG como la ba3a calidad de sus pantallas tctiles. Ca presencia de un teclado Q E+TF completo H:ue ocupa casi la mitad del mvilK es en nuestro caso un inconvenienteG pues se pretende crear una interfa, sencilla en la :ue el uso del teclado sea nulo o mnimo.

<indows )obile
Esta plataforma est descartada desde el principio por estar prcticamente desfasadaG tanto en caractersticas como en variedad de dispositivos. 0o obstanteG )icrosoft est desarrollando una nueva versin desde cero llamada <indows P>one :ue todava no >a aparecido en el mercado.

<eb2S
Es el Sistema 2perativo de los dispositivos de PalmG recientemente comprada por AP. Sus mayores inconvenientes son la poca variedad de dispositivos :ue lo soportan y el futuro incierto de la plataformaG a pesar de ser muy verstil y presentar un con3unto de >erramientas de desarrollo y unas posibilidades de interaccin bastante buenas.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$M

-ora

Software accesible para control de entorno mediante dispositivos mviles

)aemo P )ee!o
)aemo es el Sistema 2perativo de 0oBia para sus mviles y tablets de gama altaG basado en 1ebian !0 PCinu9. Este sistema >a sido abandonado y nunca lleg a estar desarrollado por completo. )ee!o es la evolucin de )aemo tras su fusin con la plataforma mvil )oblinG de Intel. Sus principales venta3as son la apertura del sistema Hes libre y est siendo desarrollado en un repositorio pLblicoKG la eficiencia y estabilidad del Sistema 2perativo basado en Cinu9G las posibilidades de interaccin y el Bit de desarrolloG basado en Qt. %demsG se prev( :ue sea completamente personali,able y e9tensibleG lo cual elevara notablemente las posibilidades de interaccin pues se permitir la creacin de drivers para nuevos m(todos de entrada de datos. El principal inconveniente :ue presenta este sistema es :ue aLn no >a aparecido en el mercadoG adems de :ue se prev( su salida solo para mviles de gama alta.

%ndroid
Es un Sistema 2perativo y plataforma de desarrollo mvil creado por !oogle a partir del Bernel Cinu9. %l igual :ue este es libre Haun:ue con ciertas limitaciones :ue >an provocado controversiaK y es el principal competidor de i2S. na de sus principales caractersticas es :ue aparece en una gran cantidad de terminales de fabricantes distintos con caractersticas muy >eterog(neasG y en un amplio rango de precios. Este punto es a la ve, una venta3a y un gran inconvenienteG pues se tiene acceso a una gran variedad de dispositivos distintos con la misma aplicacinG aun:ue soportarlos puede llegar a ser complicado. %ndroid ofrece ms posibilidades de interaccin :ue cual:uier otra plataforma mvilG como el reconocimiento de frases >abladas comple asG un buen lector de te9tos y soporte para cone9in de dispositivos au9iliares va bluetoot> RrefI)ESG como mandos de <ii R<iiI)ESG controladores especiales para personas discapacitadas RTT)S o incluso otros tel(fonos mviles. El entorno de desarrollo de la plataforma est basado en 'avaG lo cual lo dota de bastante fiabilidad y facilidad para el desarrolloG a pesar de un ligero descenso de rendimiento respecto a otras plataformas debido a la sobrecarga de la m:uina virtual.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$5

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.6. SISTE)%S 12)DTIC2S C2)E+CI%CES


Ca domtica es el con3unto de sistemas capaces de automati,ar un edificioG aportando una me3or gestin de la energa y mayor seguridad y bienestar para sus >abitantes. )ediante la programacin y adaptacin al conte9to del consumo el(ctrico de los aparatosG se consigue una gestin energ(tica ms eficiente :ue proporciona un menor gasto energ(tico. Esto tambi(n permite :ue ciertas actuaciones comunes en una vivienda se >agan automticamente o de forma ms sencillaG redundando en una mayor comodidad para los usuarios. %demsG los sistemas domticos suelen ser capaces de proteger tanto los bienes como las personas presentes en el edificioG ya sea simulando presencia durante largos periodos de ausencia de los >abitantesG como dando alertas ante intrusionesG accidentes :ue puedan producirse o problemas m(dicos. Si el sistema dispone de comunicacin e9terna va InternetG puede incluso gestionarse la instalacin de forma remota. El control de entorno podra considerarse un subcon3unto del campo de la domticaG pero con la diferencia de :ue est ms enfocado a :ue sea el propio usuario :uien tome las decisiones sobre :u( >acen los dispositivos de la vivienda. Es un concepto muy relacionado con la accesibilidadG pues el ob3etivo de esta tecnologa es refor,ar la autonoma del usuario. n sistema domtico comLn est compuesto por una red de sensores y actuadores conectados a una centralita :ue se encarga de procesar las entradas de los sensores y provocar acciones en los actuadores. Cos sensores son elementos :ue continuamente captan informacin Hcomo >umedadG presenciaG lu,G estado de un dispositivoG etc(teraK. Cos actuadores son sistemas :ue e3ecutan alguna accin. Pueden ser motores :ue suban persianas o abran puertasG interruptores de bombillasG mandos de televisin y minicadenasG o mecanismos para ayudar a levantar a una persona. % pesar de :ue el proyecto se centrar ms en la parte de interfa, de usuario y gestin de perfilesG es interesante conocer :u( estndares comerciales de domtica e9isten actualmenteG ya :ue sera deseable :ue la aplicacin pudiera interactuar con ellos indistintamenteG gracias a las similaridades :ue pueda >aber entre ellos.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$7

-ora

Software accesible para control de entorno mediante dispositivos mviles

@N$#
Es un protocolo de comunicaciones abierto para controlar dispositivos el(ctricos. Fue la primera tecnologa domtica :ue lleg al mercado. Es capa, de transmitir datos por la lnea el(ctrica a muy ba3a velocidad Htan solo ?#bps en EuropaK y tan solo soporta "?4 dispositivos en la misma instalacin. El modo de operacin :ue utili,a es muy sencillo& primero se indica la direccin de un dispositivo y posteriormente la orden a e3ecutar. Pueden encadenarse varias direcciones de dispositivo y dar una orden comLn a todos ellos. Su principal venta3a es :ue a>orra el tener :ue tender nuevos cables para >acer una instalacin domticaG a pesar de sus limitaciones. Est ms presente en Estados nidos y Sudam(rica :ue en EuropaG y en Espa=a su uso no es muy comLn.

OigEee

Es un con3unto de protocolos de comunicacin inalmbrica de ba3o consumo de energa. Priori,a el consumo de energa a la tasa de envo de datos. Es especialmente interesante para la domtica por su ba3o consumo energ(ticoG su topologa de red en mallaG su ba3o coste Hapenas tres dlares una placa con transmisorG memoria y microprocesadorK y la gran cantidad de circuitos con especificaciones abiertas :ue e9isten. Sus principales inconvenientes son el rango de transmisinG la ba3a velocidad de las transmisiones Haun:ue es mayor :ue la de @N$#K y la dependencia de las bateras de los dispositivos. Inicialmente la ba3a seguridad de las transmisiones constitua un grave problemaG pero en las Lltimas revisiones del protocolo >a me3orado bastante.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

"#

-ora

Software accesible para control de entorno mediante dispositivos mviles

Con<orBs

Es un protocolo creado por la empresa norteamericana Ec>elon en $77". Est orientado tanto a domtica como a sistemas de control industrial Hpor e3emploG para transporteG fbricas u oficinasK. Se basa en una ar:uitectura descentrali,ada y destaca por su fiabilidad y robuste,. 1e >ec>oG suele utili,arse en plataformas petrolferas y varias industrias donde la seguridad es crtica. Su principal inconveniente es su elevado precioG debido principalmente a las elevadas regalas HroyaltiesK y a :ue solo tres fabricantes tienen licencia para fabricar c>ips :ue implementen el protocolo.

EIE P -0@
European Installation !us es un sistema domtico basado en un bus de datos :ue utili,a su propio cableadoG lo cual obliga a a=adir conducciones aparte de las el(ctricas. -0@ es un protocolo desarrollado por la -0@ %ssociationG Hun consorcio de empresas europeas en su mayora alemanasK en $777G ampliando la especificacin anterior del EIE. Este consorcio pretende implantar un estndar de origen europeo a nivel internacional :ue >a demostrado ser muy robusto y fiable. Ca comunicacin puede alcan,ar velocidades de 74##bps y direccionar >asta 4? ?64 dispositivosG organi,ados >asta en 5 grupos con 6" subgrupos :ue a su ve, pueden contener "?4 dispositivos. Ca topologa del sistema es matricial y los dispositivos pueden comunicarse entre s de forma centrali,ada o descentrali,ada. Este sistema tiene cada ve, mayor penetracin en el mercado europeoG de >ec>oG es actualmente el sistema ms utili,ado en Europa. 0o obstanteG los dispositivos :ue implementan el estndar son caros Haun:ue menos :ue los de Con<orBsK y tienen la necesidad de tender cableado e9tra y de ser muy costoso.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

"$

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.8. PC%T%F2+)%S

P%+%

C2)

0IC%CID0

1IST+IE

I1%

SegLn los re:uisitos de la aplicacinG es necesario :ue varios usuarios puedan acceder de forma concurrente al mismo sistema domtico. %demsG cuando se produ,ca un cambio en el estado de alguno de los componentes del sistemaG todos los clientes :ue >aya conectados al mismo Hen forma de dispositivos mvilesK debern ser notificados de forma instantnea. Por tantoG es necesario contar con una plataforma de computacin y comunicacin distribuida :ue d( soporte a todas estas caractersticas. na plataforma de desarrollo de sistemas distribuidos es una capa intermedia de software Hmiddle"areK :ue permite la e3ecucin de cdigo en otro sistema con el :ue se est interconectado. 1e este modoG en una peticin de e3ecucin de un m(todo remoto se transmiten por la red el cdigo y los parmetros necesarios para e3ecutar dic>o m(todoG y se devuelve el resultado al emisor de la peticin.

C2+E%
#ommon $b ect %equest !ro&er Architecture es un estndar :ue permiteG entre otras funcionalidadesG la e3ecucin de m(todos remotos ba3o un paradigma orientado a ob3etos. Se lo considera el middleware de comunicacin de facto y tiene implementaciones para varios lengua3es de programacin. Sus principales venta3as son su soporte para varios lengua3es y :ue est muy e9tendidoG pero puede llegar a tener una configuracin bastante comple3a y tiene una elevada e9igencia de recursos :ue lo >ace poco recomendable para dispositivos mviles. %demsG tiene una gran cantidad de posibilidades :ue apenas se van a e9plotar y :ue aLn as seguirn consumiendo memoria en los terminales.

1C2)
'istributed #omponent $b ect Model es un modelo distribuido propiedad de )icrosoft. Su principal inconveniente es :ue ya no est soportadaG adems de :ue no se encuentra disponible en dispositivos mvilesG ni si:uiera en a:uellos gobernados por <indows )obile.

'ava +)I
(ava %emote Method Invocation es el mecanismo propio de 'ava para
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

""

-ora

Software accesible para control de entorno mediante dispositivos mviles

invocar m(todos remotos. Forma parte del lengua3e desde la versin $.$ del S1- y es similar a C2+E%. Sus principales venta3as son :ue es ms simple :ue C2+E% y :ue es ms sencillo de utili,ar. Sus inconvenientes son :ue solo soporta 'ava como lengua3e de programacin y la sobrecarga :ue supone no utili,ar gran parte de toda la funcionalidad :ue ofrece. %demsG no cumple completamente el estndar :ue define C2+E%.

Elue+ose
Es un middleware de comunicacin distribuida desarrollado en la niversidad de !ranadaG :ue se encuentra en un estado de desarrollo bastante avan,ado. Sus principales venta3as son el soporte para mLltiples lengua3es de programacinG su alto rendimientoG su ba3o consumo de memoria y lo sencillo de utili,ar :ue es. %demsG al estar siendo desarrollado en la niversidad de !ranada es ms sencillo resolver problemas :ue puedan surgir utili,ndolo. Su Lnico inconveniente es :ue aLn est siendo desarrollado Haun:ue en un estado muy avan,adoK y no se puede considerar completamente estable.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

"6

-ora

Software accesible para control de entorno mediante dispositivos mviles

". C20TE@T2
".$. P+2FECT2S P+E;I2S +E%CIO%12S
E0 C% 0I;E+SI1%1

1E !+%0%1%

% lo largo de los Lltimos a=os se >an desarrollado varios proyectos en la !+ :ue pretenden crear aplicaciones para ofrecer apoyo a personas con necesidades especiales util,ando la tecnologaG especialmente dispositivos mviles. Todos estos proyectos tienen la adaptacin a los usuarios como caracterstica comLnG y el ofrecer facilidad de configuracin de las aplicaciones por parte de los los tutores. El proyecto -ora tambi(n se enmarca dentro de este tipo de proyectos y al igual :ue estosG >a estado tutelado por integrantes del grupo !E1ESG de 1epartamento de Cengua3es y Sistemas Informticos.

Proyecto ScTut
El proyecto ScTut RScautS es un proyecto de investigacin del 1epartamento de Cenguages y Sistemas Informticos de la niversidad de !ranadaG con el ob3etivo de me3orar la capacidad comunictiva del colectivo de personas con necesidades especiales. Estos ob3etivos se traducen en un sistema adaptativo de comunicacin alternativa :ue busca& )e3orar la autonoma de los usuarios. Crear un sistema de ba3o coste. Ser fcil de aprender y utili,ar. Facilitar la labor pedaggica de profesores y padres. 2frecer datos :ue permitan anali,ar el rendimiento de los alumnos.

1entro del proyecto se >an creado sistemas de comunicacin Hconsiderados Isistemas de comunicacin aumentativaJK para PCG P1%s con <indows )obile y para 0intendo 1S. Tambi(n se >a desarrollado un editor de plantillas para PC con el ob3etivo de facilitar la labor de los tutores. Estas >erramientas se estn utili,ando para ayudar a personas con autismoG con trastornos del desarrollo o adultos :ue >an perdido la facultad de >ablar por cual:uier otro motivo. En la actualidad se estn utili,ando las >erramientas creadas en varios centros educativos con un (9ito notableG y el proyecto >a contado Hy sigue contandoK con la colaboracin y la financiacin de la 'unta de %ndaluca y el CIC21EG as como varios organismos y entidades a nivel nacional.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

"8

-ora

Software accesible para control de entorno mediante dispositivos mviles

Proyecto Picaa

1entro del mismo grupo :ue ScTut se est desarrollando la aplicacin Picaa RPicaaSG una plataforma de apoyo al aprendi,a3e para dispositivos mviles basados en i2S HiPod Touc>G iP>one y iPad de %ppleKG especialmente dise=ada para alumnos con necesidades educativas especiales. Esta >erramienta incluye tanto la vista del alumno como un completo editor de actividades para los profesores. Cas actividades pueden ser actualmente del tipo asociacinG de ordenacinG e9ploracin y pu,,les. Todas ellas son configurables mediante un editor dise=ado para los tutoresG :ue personali,an su presentacin y forma de interaccin segLn las necesidades de los usuarios finales. %simismoG otra de las caractersticas ms destacadas de la aplicacin es la posibilidad de reali,ar las actividades colaborativamenteG para ayudar en la sociabili,acin del alumno. Esta aplicacin se encuentra disponible en la %pp Store de %pple en RappStoreS.

Elue+ose

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

"?

-ora

Software accesible para control de entorno mediante dispositivos mviles

".". S2FT<%+E CIE+E


El Software CibreG segLn la definicin de la Free Software Foundation RrefFSFS es a:uel :ue Ida al usuario la libertad de e3ecutarloG compartirloG copiarloG estudiarlo y modificarloJ. % pesar de :ue suele estar disponible gratuitamente 3unto con el cdigo fuenteG la propia definicin no impide venderlo. El modelo tpico para obtener beneficios con la creacin de software libre consiste en distribuirlo gratuitamente y ofrecer servicios relacionados con el uso del mismo. Cuando en los a=os 5# comen, a venderse el software como producto de valor a=adido a los computadoresG comen, tambi(n a no publicarse el cdigo fuente de dic>os programas y a incluirse licencias de uso con los mismos. En el a=o $758 +ic>ard Stallman comen, a traba3ar en el proyecto !0 H!0 is 0ot ni9KG :ue pretenda ser una reimplementacin libre de ni9G y posteriormente fund la Free Software Foundation y cre la definicin de )oft"are Libre. SegLn esta definicinG el software es libre si garanti,a al usuario las siguientes libertades& #. Ca libertad de usar el programa con cual:uier propsito. $. Ca libertad de estudiar cmo funciona el programa y de adaptarlo a sus necesidades. ". Ca libertad de distribuir copias del programa. 6. Ca libertad de me3orar el programa y >acer pLblicas dic>as me3oras. Como puede comprobarseG uno de los re:uisitos bsicos para :ue un programa sea libre es :ue su cdigo fuente est( disponible. Ca Free Software Foundation cre tambi(n la licencia !0 !PCG :ue est orientada a proteger estas libertades en el softwareG permitiendo la modificacin y redistribucin del software manteniendo los derec>os de autor. Esta licencia est actualmente en su versin 6. SegLn la FSF no deben confundirse los t(rminos Icdigo abiertoJ H open sourceK y Isoftware libreJ Hfree soft"are o libre soft"are para evitar confusionesKG pues aun:ue ambos comparten muc>as caractersticas similares como la apertura del cdigo fuenteG los motivos para >acerlo no son los mismos. Ca perspectiva del movimiento del cdigo abierto Hdefinido por la 2pen Source InitiativeK busca darle mayor relevancia a los beneficios prcticos de compartir y revisar el cdigo fuenteG mientras :ue la perspectiva del movimiento del software libre busca darle mayor relevancia a los beneficios para la comunidad y a los aspectos (ticos de la distribucin del software 3unto con su cdigo fuente.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

"4

-ora

Software accesible para control de entorno mediante dispositivos mviles

1ebido al carcter eminentemente social de la aplicacin :ue se pretende desarrollarG >e considerado una obligacin moral :ue sea software libreG de forma :ue sea ms fcil :ue pueda llegar al mayor nLmero posible de personas. 2tro motivo para >acer libre la aplicacin es :ue pueda me3orar una ve, :ue yo acabe mi traba3oG y si alguien :uiere pueda retomarlaG ya sea para me3orarla o solucionar posibles fallos :ue puedan aparecer. Este factor tambi(n >a influido en la eleccin de la plataforma de desarrollo. % pesar de :ue el proyecto iba a reali,arse inicialmente para dispositivos mviles de %pple Hprincipalmente en previsin de una posible interoperabilidad con PicaaKG finalmente se decidi elegir %ndroid por las siguientes ra,ones& %ndroid es una plataforma libre. 1e >ec>oG >acer software libre para iP>one puede estar en contradiccin con ciertas clusulas de la %pp Store. %ndroid se programa utili,ando 'avaG un lengua3e cuya especificacin y biblioteca de clases son !PC6. 0o es necesario pagar al distribuidor para probar las aplicaciones en un dispositivo realG algo imprescindible para esta aplicacin. Esto podra limitar las contribuciones e9ternas a la aplicacin.

%parte del cdigo fuenteG tambi(n se va a publicar con licencia libre el resto de contenido relacionado con la aplicacinG como la documentacin y los recursos utili,ados.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

"M

-ora

Software accesible para control de entorno mediante dispositivos mviles

6. TEC02C2!/%S

E)PCE%1%S

En esta seccin se listan las tecnologas :ue van a utili,ar en el proyectoG basndonos en lo estudiado en apartados anteriores. En el captulo de implementacin se detallarn con mayor profundidad las caractersticas de cada una de ellas.

%ndroid
%un:ue inicialmente se iba a desarrollar el proyecto para i2SG la plataforma mvil :ue finalmente >a sido elegida es %ndroidG por varias ra,ones adems de las e9puestas en el apartado anterior& 1isponibilidad de dispositivos muy ase:uibles Hincluso con precios inferiores a "##UK. !ran cantidad posibilidades de interaccinG gracias a la combinacin de Eluetoot> V 1river I)E. Tambi(n se incluyen acelermetrosG interaccin mediante vo, y vibracin. !ran variedad de dispositivos& mvilesG reproductores de mLsicaG tablets y >asta coc>es. Facilidad y comodidad de programacin& uso de 'ava como lengua3e de desarrolloG S1- completo. Sin restricciones ni costes e9tra para poder probar e instalar en dispositivo real. Plataforma en e9pansinG :ue cada ve, tiene mayor cuota de mercado.

'ava
1ebido a :ue 'ava es el lengua3e de programacin oficial para la plataforma %ndroidG contamos con la enorme biblioteca de clases de 'avaG adems de algunas bibliotecas e9tra como las Commons de %pac>eG 2pen!C ES o las bibliotecas del <6C para traba3ar con @)C.

@)C
El estndar ms utili,ado para intercambio de informacin en el mundo se utili,a bastante en la plataforma %ndroid& para definir layoutsG las propiedades de la aplicacinG las cadenas de te9toG para definir estados de elementosG etc(tera. %demsG se utili,ar para intercambiar informacin
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

"5

-ora

Software accesible para control de entorno mediante dispositivos mviles

entre dispositivos :ue tengan instalada la aplicacin de forma estndar y legible.

SQCite
Este motor de bases de datos de dominio pLblico tiene la cualidad de ser muy rpidoG lo cual lo >ace especialmente conveniente para dispositivos mviles. %demsG soporta el estndar SQCN7".

-0@
-0@ va a ser el estndar domtico elegido para implementar la aplicacin por dos ra,ones principales& ya se dispone de material -0@ en la Facultad y adems es el :ue suele utili,arse en EuropaG a pesar de su alto coste. Sus principales venta3as son el ser un estndar Europeo reconocido a nivel internacionalG la disponibilidad de >erramientas de programacin y la variedad de fabricantes :ue venden dispositivos -0@. n punto importante a tener en cuenta es la e9istencia de una biblioteca libre llamada Calimero :ue provee acceso a dispositivos -0@ y :ue soporta 'ava nativamente. 0o obstanteG parece estar abandonada desde "##5 aun:ue funciona correctamente y est bastante probada.

Elue+ose
Aemos elegido este middleware de comunicacin por varias ra,ones& )e3or rendimiento :ue otras opciones. Facilidad de configuracinG apenas >ay :ue definir un fic>ero @)CG configurar las IPs de los dispositivos y definir la seriali,acin de los ob3etos. %l ser un proyecto de la !+G el soporte t(cnico y la documentacin no pueden estar ms accesibles. 1e >ec>oG >a >abido realimentacin entre ambos proyectosG :ue se >an ayudado mutuamente.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

"7

-ora

Software accesible para control de entorno mediante dispositivos mviles

C%P/T C2 III& )21EC%12 1E +EQ ISIT2S


'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

6#

-ora

Software accesible para control de entorno mediante dispositivos mviles

$. %0WCISIS

1E +EQ ISIT2S

$.$. 1ESC+IPCID0 I0F2+)%C


Se pretende implementar una >erramienta de control de entorno para dispositivos mviles adaptable a todos los usuarios. Cas adaptaciones a reali,ar comprendern aspectos visuales tales como la respresentacin grfica de las accionesG el uso de unos colores u otrosG la realimentacin al usuario Hmediante vibracin o confirmacionesKG y emisin de sonidos. Ca adaptacin para un usuario estar determinada por su perfil de usuarioG :ue contendr una serie de parmetros de configuracin. Ca misma aplicacin podr utili,arse tanto por el usuario final H:ue controle los dispositivosK como por su tutorG encargado de crear los perfiles para los usuarios :ue vayan a utili,ar el dispositivo. Ca aplicacin permitir la carga dinmica de nuevas representaciones para dispositivos domticos y el intercambio de perfiles de usuario entre dispositivos mviles. Tambi(n se crear un programa para ordenador de escritorio :ue >ar las veces de capa servidor al :ue se conectarn los dispositivos mvilesG y :ue a su ve, estar conectado a la centralita domtica :ue se pretende controlar. Esta capa intermedia es necesaria para :ue el acceso de la aplicacin mvil a los dispositivos domticos sea transparente e independiente de la implementacin subuyacente.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

6$

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.". +EQ

ISIT2S

0CI20%CES

% ra, de la descripcin informal puede deducirse :ue la aplicacin estar compuesta por tres partes diferentes aun:ue relacionadas entre s. Estas son la vista de usuario de la aplicacinG desde la :ue se controlan los dispositivosX la vista de tutorG desde la :ue se gestionan los usuarios :ue la usarn y sus perfiles correspondientesX y una tercera vista :ue es la del servidor encargado de >acer de puente entre la instalacin domtica y la aplicacin mvil. 1ebido a :ue varios re:uisitos son compartidos por diferentes apartados de la aplicacinG se indicar con las letras Hvista de usuarioKG T Hvista de tutorK y S Haplicacin servidoraK. Ca aplicacin contar con las siguientes caractersticas bsicas& Ca aplicacin se utili,ar para controlar un entorno domtico. Estar dise=ada para ser mane3ada mediante dispositivos mviles. Cas posibilidades de control :ue permita la aplicacin sern& listado de dispositivos presentes en la instalacin domtica consulta del estado de los dispositivos alteracin del estado de los dispositivos H SK Ca aplicacin permitir su uso por parte de varios usuarios desde el mismo dispositivo. Para tal fin se definirn usuarios y perfiles asociados :ue modifi:uen el comportamiento de la aplicacin para un usuario dado. H TK Se podr utili,ar la aplicacin para crearG modificar y eliminar usuariosG as como sus perfiles asociados. Este apartado de configuracin permitir cambiar todos y cada uno de los campos :ue incluya cada perfil. HTK El aspecto de la interfa, de usuario y el comportamiento general de la aplicacin dependern del usuario :ue est( utili,ando la aplicacin en el dispositivoG y del perfil de uso :ue tenga asociado. Se podrn modificar& Ca forma de interaccin con la aplicacin. El aspecto y la apariencia de la interfa, de usuario. Cos cambios de la interfa, de usuario ante las acciones del usuario. Cos sonidos a reproducir cuando se realice alguna accin.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

6"

-ora

Software accesible para control de entorno mediante dispositivos mviles

2tras realimentaciones :ue puedan ofrecerse al usuario ante sus acciones. H TK Cada dispositivo presente en el sistema tendr una representacin asociadaG :ue consta de te9to y recursos multimedia :ue cambian segLn la configuracin del perfil de usuario actual. Esta representacin vendr dada mediante fic>eros @)C y una estructura de carpetas simple :ue incluya los recursos multimedia especificados en dic>o fic>ero HTK. Se podrn importar y e9portar fic>eros con definicin de usuarios y perfiles como fic>eros @)C de forma sencillaG con el fin de :ue varios usuarios puedan usar varios dispositivos mviles indistintamente. HTK Ca aplicacin debe soportar de forma transparente distintos estndares domticosG siendo el servidor :uien se encargue de abstraer la comunicacin con los dispositivos reales e9istentes. HSK Ser posible configurar desde la aplicacin a :u( servidor conectarseG en el caso de :ue >aya varios disponibles. HTSK

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

66

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.6. +EQ

ISIT2S 02

0CI20%CES

Cos re:uisitos no funcionales describen cualidades del sistema :ue no se relacionan directamente con su funcionamientoG aun:ue son importantes en el conte9to de uso de la aplicacin. Para este apartado se utili,ar tambi(n el sistema de siglas para indicar a :u( vista de la aplicacin son aplicables los re:uisitos. % continuacin se muestran los aspectos funcionales del proyecto con los :ue se relacionan&

Facilidad de uso.

sabilidad.

Se tendrn en cuenta las $# reglas de '.0ielsen R0ielsenS :ue adaptadas a este conte9to son& ;isibilidad del estado del sistema en cada momento. H TSK so de un lengua3e lo ms sencillo posibleG :ue sea cercano a los usuarios. Se evitarn tecnicismos y frases comple3as. Es importante el uso de iconos para conseguir este re:uisito. H TK Control y libertad para el usuario para acceder a funcionalidad de la aplicacin en diferentes lugares y poder salir de estados indeseados de forma limpia. 0o obstanteG se evitarn este tipo de situaciones en todo momentoG debido al perfil de los usuarios a los :ue est dirigida la aplicacin. H K Consistencia y uso de estndares a la >ora de utili,ar y nombrar los t(rminosG los controles de las interfaces y la metodologa y procesos empleados. H TSK Prevencin de errores ofreciendo formularios y menLs con opciones cerradas. H TSK )inimi,ar la carga de la memoria del usuario mostrando al usuario informacin de lo :ue est >aciendo en cada momentoG de lo :ue >a >ec>oG de cmo >a llegado a un lugar concreto de la aplicacin. )ostrar tambi(n dilogos con mensa3es cortos y secuencias cortas de ventanas para llevar a cabo tareasG con un nivel de anidamiento mnimo. sar asistentes para ayudar al usuario a la reali,acin de tareas :ue supongan la secuenciacin de ms de una funcionalidad en diferentes lugares de la aplicacin. H TSK Fle9ibilidad y eficiencia de uso& permitir la reali,acin de las actividades de la forma ms rpida y fcil posibleG especialmente las ms frecuentes H TK. so de dilogos est(ticos y dise=o minimalista. H TK
Proyecto Fin de Carrera. Septiembre de "#$#

'ose %lcal Correa

68

-ora

Software accesible para control de entorno mediante dispositivos mviles

%yudar a los usuarios a reconocerG diagnosticar y recuperarse de los erroresG mostrando mensa3es en un lengua3e claro y permitiendo des>acer acciones del usuario. H TSK %yuda y documentacin& facilitar :ue el programa pueda usarse sin documentacinG proporcionando asistentes. 1e todos modosG proporcionar tambi(n ayuda onNlineG reali,ar manuales de usuario y ofrecer cursos de formacin para los usuarios. H TSK

%ccesibilidad H K
Control con un solo botn& Se puede reali,ar una interaccion tctil o usando perif(rico. Tambi(n se debe incorporar interaccin por barrido. -ora proporcionar tres tipos de barrido para ayudar a seleccionar& Filas y celdas en la fila& barrido por filas Celda a celda& barrido por celdas na imagen por pantalla& barrido $9$

Control con una sola mano& la pantalla tctil de los dispositivos donde se puede e3ecutar el comunicador HmvilesG tabletsG dispositivos de mLsicaK permite la interaccin con una sola mano. Para algunos tambi(n es posible la interaccin mediante dispositivos e9ternos conectados mediante Eluetoot>. Control mediante movimiento& es posible con un perif(rico adaptado y el modo de barridoG :ue trasforme el movimiento en una seleccin del componente resaltado. ;elocidad configurable& puede elegirse el tiempo de barrido y el tiempo :ue tardar en mostrarse una nueva plantilla. Tambi(n es configurableG si se deseaG el tiempo :ue debe mostrarse una imagen en pantallaG impidiendo cambiar a otra antes de tiempo. Informacin Sonora& se proporcionan al usuario sonidosG voces o frases grabados o sinteti,ados a partir del nombre de los dispositivos domticos o las acciones reali,adas sobre los mismos. Informacin visual& Cas imgenes :ue representan a los dispositivos pueden ser pictogramasG fotografas o dibu3os para representar ob3etos y acciones. Es variable el nLmero de imgenesG :ue se adaptan al tama=o de la pantalla. Se presenta una imagen distinta segLn el estado de un dispositivo. Puede elegirse si se muestra o no el nombre del dispositivo.

Fiabilidad. +obuste,.
El sistema debe evitar en todo momento la frustracin del usuario o
Proyecto Fin de Carrera. Septiembre de "#$#

'ose %lcal Correa

6?

-ora

Software accesible para control de entorno mediante dispositivos mviles

los eventos no previstosG como mensa3es de error. H SK Es muy importante :ue el sistema funcione siempre correctamenteG pues de (l podra depender la seguridad e integridad fsica del usuario H SK. 0o obstanteG la aplicacin debe guardar informes de posibles e9cepciones o situaciones anmalas :ue puedan sucederG para su posterior revisin por parte de los tutores. H SK El sistema debe permitir acceso dispositivos al mismo tiempo. HSK concurrente desde varios

Ca modificacin de valores de los actuadores debe de ser fiable y refle3arse inmediatamente en todos los dispositivos mviles presentes en el sistema. HSK

+endimiento
%l ser una aplicacin dise=ada para dispositivos mvilesG este es un aspecto importante :ue 3uega un gran papel. Es importante :ue la aplicacin responda rpidamente para evitar la frustracin del usuario en la medida de lo posible. H K El uso de un protocolo de comunicacin rpido y eficiente es importante para :ue la respuesta del sistema sea rpida. En el caso contrario podran producirse situaciones de riesgo para el usuario. H SK n ba3o consumo de recursos es importante para aumentar la duracin de la batera. H TK

Soporte
El sistema debe ser e9tensible. Es decirG deben poderse a=adir nuevos dispositivos y sus representaciones sin necesidad de recompilar la aplicacin. H TK %demsG debe ser sencilla la adicin de nuevas representaciones. HTK Ca aplicacin para dispositivos mviles debe soportar correctamente todos a:uellos :ue funcionen con %ndroidG sean cuales sean sus caractersticas o tama=o de pantalla. H TK %l ser libre la aplicacinG la adicin de funcionalidad e9tra o arreglo de fallos siempre ser posible. Se proporcionaran tanto cdigo como documentacin para :ue esto sea posible. H TSK

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

64

-ora

Software accesible para control de entorno mediante dispositivos mviles

Interfa, de comunicacin HSK


Ca interfa, de comunicacin del servidor debe de ser sencilla para :ue otras aplicaciones puedan conectarse al mismo. 1ebe ser ampliable pero manteniendo la compatibilidad >acia atrs en el caso de :ue se le :uieran a=adir nuevas caractersticas. El tama=o de los pa:uetes debe ser pe:ue=o para utili,ar los mnimos recursos de red. Esto proporciona venta3as de rendimientoG reduccin del uso de batera de los dispositivos mviles y me3or soporte de concurrencia. Ca interfa, de comunicacin debe de ser capa, de notificar a todos los dispositivos conectados al servidor de los cambios :ue se produ,can en el sistema.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

6M

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.8 %CT2+ES

1EC SISTE)%

Cada una de las tres vistas del sistema tiene un con3unto de actores distinto :ue reali,ar operaciones distintas sobre dic>a vista. Cas dos primeras vistas estn implementadas en la aplicacin para dispositivo mvilG mientras :ue la vista de servidor es una capa intermedia :ue se sitLa entre los dispositivos mviles y los dispositivos domticos.

+ctor ,escripcin

suario final

%#$

suario :ue utili,a la aplicacin para dispositivo mvil con el fin de obtener informacin del entorno domtico y reali,ar acciones sobre el mismo. %ctor principal.

-ipo Comentarios

+ctor ,escripcin -ipo Comentarios

Tutor del usuario final

%#"

suario :ue utili,a el gestor de perfiles de la aplicacin para adaptarla a un usuario final concreto. %ctor de apoyo.

+ctor ,escripcin

1ispositivo de la instalacin domtica

%#6

1ispositivo :ue proporciona uno o varios valores con informacin sobre el entorno y :ue HopcionalmenteK permite :ue uno o varios de ellos sean modificados. Ca modificacin de uno o varios valores suele conllevar un cambio en el entorno. %ctor de apoyo. 0o tiene por :u( corresponderse e9actamente con un dispositivo fsico de la instalacinG pues podra ser la composicin de un sensor y un actuador Hpor e3emploG una bombilla y un sensor de presenciaK.

-ipo Comentarios

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

65

-ora

Software accesible para control de entorno mediante dispositivos mviles

". C%S2S
1I%!+%)%S

1E
1E

S2
1E S2

C%S2S

1esde el punto de vista del usuario final&

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

67

-ora

Software accesible para control de entorno mediante dispositivos mviles

1esde el punto de vista del tutor&

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

8#

-ora

Software accesible para control de entorno mediante dispositivos mviles

1I%!+%)%

1E

P%Q

ETES

El diagrama de pa:uetes facilita la comprensin del sistemaG mostrando la descomposicin del mismo en subsistemas ms sencillos.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

8$

-ora

Software accesible para control de entorno mediante dispositivos mviles

!racias al diagrama de pa:uetesG se >an distinguido tres subsistemas en la aplicacinG :ue estn estrec>amente relacionados con el actor principal :ue interactLa con cada uno de ellos& Subsistema de control de dispositi%os& es la actividad principal de la aplicacinG donde se mostrarn al usuario los dispositivosG el estado de los mismos y las operaciones a reali,ar con ellos. Subsistema de confi&uracin de la aplicacin y &estin de usuarios& Subsistema de &estin de representaciones & actividad en la :ue el tutor consultaG a=ade o modifica las representaciones de dispositivos :ue el sistema soporta. Subsistema de &estin de usuarios& donde se agrupan las operaciones para crearG modificar o borrar usuarios. Subsistema de &estin de perfiles de usuario& en este subsistemaG el tutor creaG copiaG modifica o borra perfiles de usuario :ue pueden asignarse a los usuarios definidos en el sistema. Subsistema de &estin de perfiles de dispositi%o& en este subsistemaG el tutor creaG copiaG modifica o borra perfiles de dispositivos :ue pueden asignarse a los usuarios definidos en el sistema. Subsistema de confi&uracin de la aplicacin & actividad donde se puedne modificar los parmetros de configuracin global de la aplicacin. Subsistema de mane.o de e%entos y &estin de dispositi%os & subsistema en el :ue participan tanto el servidor como la aplicacin. El servidor se encarga de mantener la lista de dispositivos conectados a (lG de e3ecutar las acciones :ue solicitan los usuariosG y de notificar a todos los usuarios de cambios :ue se produ,can en el sistema.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

8"

-ora

Software accesible para control de entorno mediante dispositivos mviles

1ESC+IPCID0

1E C2S

C%S2S

1E

S2

Pa:uete Icontrol de dispositivosJ


Caso de uso +ctores Resumen Cistar dispositivos suario Se muestra al usuario una lista con los dispositivos activos en el momento de utili,ar la aplicacin. C,01

,ependencias Es una generali,acin del caso de uso C1#". Incluye el caso de uso C1#4. /recondicin /ostcondicin Curso normal $. Se inicia la actividad de control de dispositivos. ". El sistema muestra un listado con todos los dispositivos a los :ue se puede acceder. Cursos alternati%os $. Se >a terminado de interactuar con un dispositivo y se desea volver a mostrar el listado. 1ebe >aberse iniciado la aplicacin en el modo Icontrol de dispositivosJ.

Re0uisitos no N Para mostrar la lista de dispositivos se seguirn las reglas de usabilidad y accesibilidad indicadas en los re:uisitos no funcionales funcionales. Comentarios Ca relacin de este caso de uso con C1#" y C1#4 viene dada por:ue en el listado de dispositivos tambi(n se muestra el estado de los mismos.

Caso de uso +ctores Resumen

Consultar el estado de los dispositivos suario

C,02

Se consulta el estado actual de los dispositivos activos en el momento de utili,ar la aplicacin.

,ependencias Incluye el caso de uso C1#?. %ntes de mostrar los dispositivosG debe conocerse cules >ayG y el estado en :ue se encuentran.
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

86

-ora

Software accesible para control de entorno mediante dispositivos mviles

/recondicin

Ca aplicacin se >a iniciado en modo Icontrol dispositivosJ. Ca aplicacin debe estar conectada al servidor.

de

/ostcondicin Curso normal $. Cuando el usuario desea mostrar la lista de dispositivosG se muestra tambi(n su estado actual. Cursos alternati%os Re0uisitos no funcionales Comentarios Caso de uso +ctores Resumen Elegir dispositivo suario El usuario elige un dispositivo para consultar su estado o comen,ar a interactuar con el mismo. C,03 $. Cuando el usuario elige un dispositivoG se muestra su estado actual.

,ependencias Incluye el caso de uso C1#4. /recondicin 1ebe e9istir al menos un dispositivo en el sistema.

/ostcondicin Se inicia la actividad de consulta y mane3o de dispositivo. Curso normal $. El usuario elige un dispositivo de entre la lista de dispositivos activos. ". Se muestra el estado del dispositivo y una serie de controles para interactuar con el mismo. Cursos alternati%os Re0uisitos no N El estado del dispositivo se mostrar al usuario en funcin de su representacin asociada Hte9to y recursos multimediaK. funcionales N Para mostrar el estado y los controles se seguirn las reglas de usabilidad y accesibilidad indicadas en los re:uisitos no funcionales. Comentarios

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

88

-ora Caso de uso +ctores Resumen

Software accesible para control de entorno mediante dispositivos mviles

Interactuar con dispositivo suario El usuario interactLa con el dispositivo elegido

C,04

,ependencias Incluye el caso de uso C1#M. /recondicin /ostcondicin Curso normal $. El usuario elige uno de los controles para el dispositivo elegido. ". El usuario interactLa con dic>o control. Cursos alternati%os Re0uisitos no N Ca interaccin con los controles vendr dada por el perfil de usuario asociado al usuario actual. funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin Ca aplicacin debe estar conectada al servidor. dispositivos interna a la aplicacin est Consultar estado al servidor suario Se consulta al servidor el estado de todos los dispositivos presentes en el sistema. C,05 1ebe >aberse elegido un dispositivo HC1#6K.

/ostcondicin Ca lista de actuali,ada. Curso normal

$. Se enva al servidor una peticin para :ue devuelva la lista de dispositivos domticos. ". El servidor responde con un listado :ue incluye los datos y el estado de todos los dispositivos domticos presentes en el sistema.

Cursos alternati%os

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

8?

-ora

Software accesible para control de entorno mediante dispositivos mviles

Re0uisitos no funcionales Comentarios Este caso de uso no est directamente iniciado por el usuario. Es la aplicacin la :ue consulta automticamente al servidor antes de mostrar la lista de dispositivos. +ecibir cambio en valor de dispositivo suarioG Servidor Evento :ue el servidor enva a todos los dispositivos mviles presentes en el sistema cuando se produce un cambio en el valor de un dispositivo domtico. C,06

Caso de uso +ctores Resumen

,ependencias /recondicin El dispositivo debe e9istir en el sistema.

/ostcondicin Se actuali,a en la aplicacin para dispositivo mvil el estado del dispositivo domtico :ue indica el evento. Curso normal $. Ca aplicacin recibe el evento de forma asncrona. ". Se decodifica el contenido del evento. 6. Se asigna a la representacin interna del dispositivo :ue indica el eventoG el nuevo valor :ue incluye el evento. Cursos alternati%os Re0uisitos no funcionales Comentarios Este caso de uso no re:uiere intervencin del usuarioG pues se produce en segundo plano y sin conocimiento del mismo. El refresco de los estados de dispositivos se >ace de manera asncrona mediante un modelo de eventos.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

84

-ora

Software accesible para control de entorno mediante dispositivos mviles

Caso de uso +ctores Resumen

)odificar valor de dispositivo suario

C,01

Se modifica el valor :ue representa el estado de un dispositivoG en la representacin interna de la aplicacin.

,ependencias Incluye el caso de uso C1#5. /recondicin El usuario >a interactuado con un control :ue le permite elegir el estado :ue :uiere :ue tenga un dispositivo domtico. El dispositivo e9iste en el sistema.

/ostcondicin Curso normal $. Se modifica el estado de la representacin interna de un dispositivo. ". Se inicia el caso de uso C1#5. Cursos alternati%os Re0uisitos no funcionales Comentarios Este caso de uso no re:uiere de la intervencin directa del usuarioG sino :ue se inicia como parte del caso de uso C1#8. Enviar valor al servidor suarioG Servidor Ca aplicacin para dispositivo mvil enva un evento al servidor con el valor :ue representa un nuevo estado para un dispositivo domtico. C,08

Caso de uso +ctores Resumen

,ependencias /recondicin Ca aplicacin est conectada al servidor. El dispositivo est presente en la instalacin domtica.

/ostcondicin Se modifica efectivamente el estado del dispositivo elegido. Se notifica a todos los usuarios del nuevo valor :ue representa dic>o estado.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

8M

-ora

Software accesible para control de entorno mediante dispositivos mviles

Curso normal $. Ca aplicacin de usuario enva al servidor un evento :ue indica el dispositivo cuyo estado se desea modificarG y el valor :ue representa dic>o estado. ". El servidor recoge el evento y lo decodifica. 6. El servidor busca en la lista de dispositivos el :ue indica el evento yG dependiendo de su tipoG le asigna el nuevo valor. Cursos alternati%os Re0uisitos no funcionales Comentarios Este caso de uso no re:uiere la intervencin directa del usuario y se inicia a partir del caso de uso C1#M.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

85

-ora

Software accesible para control de entorno mediante dispositivos mviles

Pa:uete Igestin de representacionesJ


Caso de uso +ctores Resumen ,ependencias /recondicin /ostcondicin Curso normal $. Se muestra un listado con todas las representaciones de dispositivo. ". El tutor navega por dic>o listado. $. El tutor elige una representacin concreta. ". Se muestra el listado de fic>eros de te9to y multimedia :ue componen dic>a representacin. Cursos alternati%os Re0uisitos no funcionales Comentarios Caso de uso +ctores Resumen %=adir representacin de dispositivo Tutor El tutor a=ade una nueva representacin de dispositivo al sistemaG :ue podr ser utili,ada para representar dispositivos de una clase concreta. 2R02 Consultar representaciones de dispositivo Tutor El tutor consulta la lista de representaciones de dispositivo :ue tiene la aplicacinG as como el contenido de las mismas. 2R01

,ependencias Incluye el caso de uso !+#$. /recondicin 1ebe mostrarse previamente un listado con todas las representaciones ya e9istentes. Ca representacin a a=adir no debe llamarse como otra ya e9istente.

/ostcondicin Se >a a=adido una nueva representacin de dispositivos.


'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

87

-ora

Software accesible para control de entorno mediante dispositivos mviles

Curso normal $. Se inicia el caso de uso !+#$. ". El tutor elige los fic>eros :ue incluir la representacin a a=adir. 6. El tutor a=ade dic>os fic>eros a la nueva representacin. 8. El sistema detecta la nueva representacin y la a=ade a la lista de las e9istentes. Cursos alternati%os Re0uisitos no funcionales Comentarios Caso de uso +ctores Resumen Eliminar representacin de dispositivos Tutor El tutor elimina una de las representaciones de dispositivo presentes en el sistema. 2R03

,ependencias Incluye el caso de uso !+#$. /recondicin 1ebe mostrarse previamente un listado con todas las representaciones ya e9istentes. Ca representacin a eliminar e9iste en el sistema.

/ostcondicin Se >a eliminado una representacin de dispositivos. Curso normal $. Se inicia el caso de uso !+#$. ". El tutor elige los fic>eros :ue componen la representacin a eliminar. 6. El sistema detecta dic>a eliminacin y se :uita dic>a representacin de la lista. Cursos alternati%os Re0uisitos no funcionales Comentarios

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

?#

-ora

Software accesible para control de entorno mediante dispositivos mviles

Pa:uete Igestin de usuariosJ


Caso de uso +ctores Resumen ,ependencias /recondicin /ostcondicin Curso normal $. El tutor solicita la lista de usuarios. ". Ca aplicacin devuelve dic>a lista. Cursos alternati%os Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios Caso de uso +ctores Resumen ,ependencias Es una generali,acin del caso de uso ! #6. /recondicin 0o puede e9istir un usuario con el mismo nombre en el sistema. %=adir usuario Tutor 2'02 1ebe e9istir al menos un usuario en el sistema. Cistar usuarios Tutor El tutor solicita a la aplicacin una lista con todos los usuarios :ue e9isten en el sistema. 2'01

/ostcondicin El usuario creado se a=ade a la lista de usuarios de la aplicacin. Curso normal $. ". 6. 8. El tutor solicita a=adir un usuario a la lista. Se crea un usuario temporal con los datos vacos. Se rellenan los datos del nuevo usuario. Se a=ade el usuario creado a la lista de usuarios.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

?$

-ora Cursos alternati%os

Software accesible para control de entorno mediante dispositivos mviles

Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin El usuario e9iste en el sistema y es modificable. Si se modifica el nombre del usuarioG este no debe e9istir previamente en el sistema. )odificar usuario Tutor El tutor modifica un usuario presente en el sistema. 2'03

/ostcondicin Curso normal $. El tutor solicita modificar un usuario de los presentes en el sistema. ". El tutor modifica los datos previos de dic>o usuario. 6. Se registra la modificacin en la lista de usuarios del sistema. Cursos alternati%os Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin El usuario e9iste en el sistema y es modificable. Eliminar usuario Tutor El tutor elimina un usuario presente en el sistema. 2'04

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

?"

-ora

Software accesible para control de entorno mediante dispositivos mviles

/ostcondicin Curso normal $. El tutor solicita eliminar un usuario de los presentes en el sistema. ". Se :uita el usuario de la lista de usuarios del sistema. Cursos alternati%os Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin /ostcondicin Curso normal $. El tutor solicita al sistema :ue el usuario elegido sea el :ue determine la configuracin de la actividad de control. ". El sistema marca dic>o usuario como el actual. Cursos alternati%os Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios El usuario e9iste en el sistema. Seleccionar usuario actual Tutor El tutor indica el usuario para el :ue se adaptar la interfa, de control. 2'05

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

?6

-ora

Software accesible para control de entorno mediante dispositivos mviles

Pa:uete Igestin de perfiles de usoJ


Caso de uso +ctores Resumen ,ependencias /recondicin /ostcondicin Curso normal $. El tutor solicita la lista de perfiles de usuario. ". Ca aplicacin devuelve dic>a lista. Cursos alternati%os Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios Caso de uso +ctores Resumen ,ependencias Es una generali,acin del caso de uso !P #6. /recondicin 0o puede e9istir un perfil de uso con el mismo nombre en el sistema. %=adir perfil de uso Tutor 2/'02 1ebe e9istir al menos un perfil de uso en el sistema. Cistar perfiles de uso Tutor El tutor solicita a la aplicacin una lista con todos los perfiles de uso :ue e9isten en el sistema. 2/'01

/ostcondicin El perfil de uso creado se a=ade a la lista de usuarios de la aplicacin. Curso normal $. ". 6. 8. El tutor solicita a=adir un perfil de usuario a la lista. Se crea un perfil de uso temporal con los datos vacos. Se rellenan los datos del nuevo perfil de uso. Se a=ade el perfil de uso creado a la lista de usuarios.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

?8

-ora Cursos alternati%os

Software accesible para control de entorno mediante dispositivos mviles

Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios Caso de uso +ctores Resumen )odificar perfil de uso Tutor El tutor modifica un usuario presente en el sistema. 2/'03

,ependencias Incluye los casos de uso !P #8G !P #?G !P #4 y !P #M. /recondicin El usuario e9iste en el sistema y es modificable. Si se modifica el nombre del usuarioG este no debe e9istir previamente en el sistema.

/ostcondicin Curso normal $. El tutor solicita modificar un usuario de los presentes en el sistema. ". El tutor modifica los datos previos de dic>o usuario. 6. Se registra la modificacin en la lista de usuarios del sistema. Cursos alternati%os Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin
'ose %lcal Correa

)odificar opciones de interaccin Tutor

2/'04

El tutor modifica las opciones de interaccin para el perfil de uso elegido.

El perfil de uso cuyas opciones se :uieren modificar e9iste


Proyecto Fin de Carrera. Septiembre de "#$#

??

-ora

Software accesible para control de entorno mediante dispositivos mviles

en el sistema o se est creando. /ostcondicin Curso normal $. El tutor solicita modificar las opciones de interaccin del perfil de uso :ue est modificando. ". El tutor modifica los datos previos de dic>as opciones. 6. Se registran los cambios en el perfil de uso :ue se est modificando. Cursos alternati%os Re0uisitos no funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin /ostcondicin Curso normal $. El tutor solicita modificar las opciones de visuali,acin del perfil de uso :ue est modificando. ". El tutor modifica los datos previos de dic>as opciones. 6. Se registran los cambios en el perfil de uso :ue se est modificando. Cursos alternati%os Re0uisitos no funcionales Comentarios El perfil de uso cuyas opciones se :uieren modificar e9iste en el sistema o se est creando. )odificar opciones de visuali,acin Tutor El tutor modifica las opciones de visuali,acin para el perfil de uso elegido. 2/'05

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

?4

-ora Caso de uso +ctores Resumen

Software accesible para control de entorno mediante dispositivos mviles

)odificar opciones de realimentacin Tutor

2/'06

El tutor modifica las opciones de realimentacin para el perfil de uso elegido.

,ependencias /recondicin /ostcondicin Curso normal $. El tutor solicita modificar las opciones de realimentacin del perfil de uso :ue est modificando. ". El tutor modifica los datos previos de dic>as opciones. 6. Se registran los cambios en el perfil de uso :ue se est modificando. Cursos alternati%os Re0uisitos no funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin /ostcondicin Curso normal $. El tutor solicita modificar las opciones de sonido del perfil de uso :ue est modificando. ". El tutor modifica los datos previos de dic>as opciones. 6. Se registran los cambios en el perfil de uso :ue se est modificando.
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

El perfil de uso cuyas opciones se :uieren modificar e9iste en el sistema o se est creando.

)odificar opciones de sonido Tutor

2/'01

El tutor modifica las opciones de sonido para el perfil de uso elegido.

El perfil de uso cuyas opciones se :uieren modificar e9iste en el sistema o se est creando.

?M

-ora Cursos alternati%os

Software accesible para control de entorno mediante dispositivos mviles

Re0uisitos no funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin /ostcondicin Curso normal $. El tutor solicita eliminar un perfil de uso de los presentes en el sistema. ". Se :uita el perfil de uso de la lista del sistema. Cursos alternati%os Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios Caso de uso +ctores Resumen ,ependencias /recondicin Aay un usuario actual elegidoG :ue e9iste en el sistema y es modificable. El perfil de uso :ue se le va a asignar tambi(n e9iste. %signar perfil al usuario actual Tutor El tutor indica el perfil de uso :ue configurar la actividad de control de dispositivos para el usuario actual. 2/'03 El perfil de uso e9iste en el sistema y es modificable. Eliminar perfil de uso Tutor El tutor elimina un perfil de uso presente en el sistema. 2/'08

/ostcondicin
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

?5

-ora

Software accesible para control de entorno mediante dispositivos mviles

Curso normal $. El tutor solicita al sistema :ue el perfil de uso elegido sea utili,ado por el usuario actual. ". El sistema asigna el perfil de uso a dic>o usuario. Cursos alternati%os Re0uisitos no Se seguirn los re:uisitos de usabilidad listados en la lista de re:uisitos no funcionales. funcionales Comentarios

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

?7

-ora

Software accesible para control de entorno mediante dispositivos mviles

Pa:uete Iconfiguracin de la aplicacinJ


Caso de uso +ctores Resumen ,ependencias /recondicin /ostcondici n Curso normal $. El tutor elige cambiar la configuracin de la aplicacin. ". El tutor modifica los valores :ue representan dic>a configuracin. 6. El sistema guarda dic>os valores y los aplica inmediatamente. Cursos alternati%os Re0uisitos no funcionales espec4ficos Cambiar la configuracin de la aplicacin Tutor El tutor cambia las opciones globales de la aplicacinG :ue afectarn a todos los usuarios por igual. C+01

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

4#

-ora

Software accesible para control de entorno mediante dispositivos mviles

C%P/T C2 I;& %0WCISIS

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

4$

-ora

Software accesible para control de entorno mediante dispositivos mviles

$. 02+)%S

1E

%CCESIEICI1%1

%ctualmente no e9iste ningLn estndar universal de accesibilidad. 0o obstanteG estudiaremos dos proyectos de accesibilidad :ue son utili,ados ampliamente& El <eb %ccess Initiative H<%IKG :ue se considera el estndar de accesibilidad en la <eb. El proyecto de accesibilidad de !02)EG uno de los escritorios libres ms importantes y el :ue tiene me3or soporte de accesibilidad.

$.$. %CCESIEICI1%1 <EE& <%I


Ca <eb %ccess Initiative R<%IS es un estndar del <6C R<6CS publicado en $77M con el ob3etivo de >acer la web accesible a navegadores adaptados para usuarios con discapacidadG :ue pueden re:uerir de visuali,aciones modificadas y m(todos de interaccin adaptados a sus necesidades R<%I"S. Este estndar tiene adems como efecto colateral una me3or adaptacin para todo tipo de dispositivos :ue acceden a la webG como P1%s o tel(fonos mviles. 1entro de la especificacin :ue provee este proyectoG nos interesan dos apartados especialmente& las directrices de accesibilidad para el contenido web H<C%!G R<C%!SK y la especificacin para las aplicaciones de Internet enriquecidas H+ic> Internet %pplicationsG :ue proveen funcionalidad similar a las aplicaciones de escritorioK.

1irectrices de accesibilidad para el contenido web H<C%!K


Estas pautas estn clasificadas en tres niveles de prioridad. Cuantos ms puntos cumpla una pgina webG me3or ser su nivel de conformidad. Cos puntos ms importantes de cada nivel de prioridad son los siguientes R<C%!N C>ecBlistS& $. /rioridad 15 se tiene :ue satisfacer los siguientes puntos. En caso contrarioG uno o ms grupos de usuarios encontrarn imposible acceder a la informacin del documento. Satisfacer estos puntos es bsico para :ue algunos grupos puedan usar el documento. Proporcionar te9to e:uivalente para todo elemento no te9tual Hcomo imgenesG animacionesG vdeos o sonidosK.
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

4"

-ora

Software accesible para control de entorno mediante dispositivos mviles

Toda la informacin transmitida a trav(s de colores debe estar disponible sin color. 1ic>a informacin debe transmitirse entonces mediante el conte9to o por marcadores. 2rgani,ar el documento de forma :ue pueda leerse sin >o3a de estilo. Cos contenidos e:uivalentes de un contenido dinmico deben actuali,arse cuando cambia el contenido dinmico. Evitar destellos en pantalla. tili,ar un lengua3e claro y simple. Indicar encabe,ados en tablasG tanto para filas como para columnas. Proporcionar lectura en vo, alta del te9to e:uivalente a un elemento multimedia. ". /rioridad 25 se deben satisfacer estos puntos de verificacin. 1e otra formaG uno o ms grupos encontrarn dificultades en el acceso a la informacin del documento. Satisfacer este punto de verificacin eliminar importantes barreras de acceso a los documentos <eb. Cos colores de fondo y primer plano deben tener suficiente contraste para :ue sean percibidas por personas con problemas de percepcin de color o :ue usen pantallas en blanco y negro. Crear documentos :ue est(n validados por las gramticas formales publicadas. tili,ar >o3as de estilo para ma:uetarG y unidades relativas en ve, de absolutas para especificar tama=os y posiciones. tili,ar encabe,ados documento. para transmitir la estructura del

)arcar las listas y los elementos :ue las componen. 0o crear pginas :ue se actualicen automticamente de forma peridica. 0o provocar apariciones repentinas de nuevas ventanas o dilogos. 0o cambiar la ventana actual sin informar al usuario. Identificar claramente el ob3etivo de cada vnculo. tili,ar mecanismos de navegacin de forma co>erente. de eventos sean %segurarse de :ue los mane3adores independientes del dispositivo de entrada.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

46

-ora

Software accesible para control de entorno mediante dispositivos mviles

6. /rioridad 35 se puede satisfacer este punto de verificacin. En caso contrarioG usuarios concretos no podrn acceder a la informacin del documento. Este punto me3ora la accesibilidad de los documentos web. Identificar el idioma del documento. Crear un orden lgico de navegacin entre elementos del documento. Indicar al usuario cul es la posicin actual del documento. Cocali,ar la informacin destacada al principio de los prrafos o listas. Complementar las acciones reali,adas con realimentaciones grficas Hcomo resaltado de bordes o contenidoK o auditivas para facilitar la comprensin de las acciones. Crear un estilo co>erente para todas las pginas. Incluir sugerencias o valores por defecto en los campos vacos :ue deba rellenar el usuario.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

48

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.". 1I+ECT+ICES

1E

%CCESIEICI1%1

1E

!02)E

Cas directrices de accesibilidad del entorno de escritorio !02)E H!02)E %ccesibility !uidelinesK son un con3unto de indicaciones :ue dic>o entorno de escritorio sugiere seguir para >acer accesibles las aplicaciones :ue pertenecen a dic>o proyecto. !02)E R!02)ES es el entorno de escritorio libre ms utili,ado en el mundo. 1entro de este proyecto se incluye el !02)E %ccesibility Pro3ect R!02)E%ccesibilitySG cuyo ob3etivo es crear aplicaciones y guas estndar :ue ayuden a las personas con accesibilidad a utili,ar el entorno de escritorio. Provee soluciones como un teclado en pantallaG un lector de pantalla y diferentes adaptaciones para el ratn. Tambi(n se incluye la >erramienta %ccerciser R%ccerciserSG :ue permite evaluar la accesibilidad de una aplicacin. !02)E utili,a como toolBit bsico de desarrollo la biblioteca grfica !T-VG :ue incluye una %PI especfica para permitir :ue las aplicaciones desarrolladas con dic>a biblioteca sean fcilmente interpretadas por >erramientas como lectores de pantalla o m(todos de interaccin alternativos. Casi todas las distribuciones de !0 PCinu9 orientadas al usuario incluyen !02)E como entorno de escritorio por defecto. Entre ellas se encuentran buntu R buntuSG 1ebian R1ebianS o !uadaline9 R!uadaline9S. Esta Lltima distribucin >a sido desarrollada por la 'unta de %ndaluca y presta una especial atencin a su accesibilidadG pues su ob3etivo es ser utili,ada en todos los ordenadores pLblicos de la Comunidad %utnoma. Cas directrices ms importantes son R!02)E!uidelinesS& $. 0avegacin mediante teclado Proveer acceso mediante teclado a todas las caractersticas de la aplicacinG pues algunos usuarios no pueden usar el ratn. Todos los elementos deben soportar interaccin mediante ambos dispositivos. Seguir un orden lgico de navegacin mediante tecladoG :ue re:uiera el mnimo de pulsaciones posible. 0o sobreescribir las soluciones estndar de accesibilidad del sistemaG como el control del ratn mediante teclado. Tampoco las acciones estndar de las teclas& por e3emploG la tecla
Proyecto Fin de Carrera. Septiembre de "#$#

'ose %lcal Correa

4?

-ora

Software accesible para control de entorno mediante dispositivos mviles

tabulador solo debera usarse para navegar por los elementos de la interfa, y la tecla F$ para mostrar ayuda. 0o re:uerir pulsaciones de teclas simultneas.

". Interaccin mediante ratn 0o depender de los botones secundarios del ratn. Aay pulsadores adaptados :ue solo tienen el primero y sera una limitacin para ellos no poder acceder a dic>os botones. Permitir cancelar todas las operaciones de ratnG como arrastrar y soltar. 1ar realimentacin visual de todas las operaciones reali,adasG incluyendo clicBs y posicionamiento del ratn sobre ob3etivos vlidos. 0o restringir el movimiento del ratnG pues puede interferir con tecnologas de asistencia.

6. Elementos grficos 0o definir en cdigo atributos como bordeG sombreado o fondo. 1eberan leerse del tema de sistema. 1ar nombres descriptivos a todos los elementos de la interfa,G para :ue lectores de pantalla puedan describirlos. Permitir :ue los elementos multicolor se muestren monocromo H:ue solo soporta primer plano y fondoK. 1elimitar claramente los funcionalidad. elementos y organi,arlos en

segLn

Permitir desactivar elementos :ue puedan distraer al usuario y :ue no sean bsicasG como imgenes o animaciones.

8. Tipografas y te9to 0o establecer manualmente tama=os ni tipos de letraG deben leerse del tema de sistema. 0o usar la misma eti:ueta varias veces en la misma pantalla. Posicionar las eti:uetas lgicamente 3unto a los elementos :ue describen. Cuando se posicione un te9to 3unto a un controlG terminarlo con dos puntos. Por e3emploG cuando se trata de la descripcin de una ca3a de te9to.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

44

-ora

Software accesible para control de entorno mediante dispositivos mviles

?. Color y contraste 0o establecer manualmente los colores de la interfa,. Permitir :ue sea el tema de sistema el :ue los configure. 0o usar el color como Lnico m(todo para distinguir elementos de informacin. 1ebe complementarse con otro m(todo como formaG posicin o descripcin te9tual. Soportar todos los temas de alto contraste de !02)EG de forma :ue el te9to se siga mostrando correctamente y >aga contraste con el fondo.

4. %mpliacin Permitir ampliar el rea de traba3o. Integrar dic>a opcin de ampliacin en la aplicacin.

M. Sonido 0o asumir :ue el usuario tendr acceso a informacin auditiva. Podra suceder :ue no tuviera sonido en su sistema o :ue tuviese problemas auditivos. Permitir configurar frecuencia y volumen de los avisos del sistema.

5. %nimaciones 0o utili,ar elementos :ue apare,can y desapare,can con una frecuencia superior a ??A,. Esta frecuencia debera ser configurable. Estos elementos deberan ser pe:ue=os. Aacer las animaciones opcionales.

7. Foco $#. Iniciar el foco en el control ms usadoG y si no >ay ninguno :ue desta:ueG en el primero :ue se muestra. )ostrar la posicin del foco claramente mediante pe:ue=os cambios en el fondo o el borde del elemento. )ostrar el foco solo en la ventana activa. Tempori,acin 0o programar a mano cuentas atrs ni otras caractersticas temporales. 1eberan personali,arse a nivel de aplicacin o de entorno.
Proyecto Fin de Carrera. Septiembre de "#$#

'ose %lcal Correa

4M

-ora $$.

Software accesible para control de entorno mediante dispositivos mviles

1ocumentacin Proveer toda la documentacin en formato accesible. %SCII y AT)C son formatos bien soportados por tecnologas de accesibilidad. Proveer descripciones te9tuales para todos los grficos de la documentacin. 1ocumentar todas las caractersticas implementadas en la aplicacin. de accesibilidad

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

45

-ora

Software accesible para control de entorno mediante dispositivos mviles

$.6. C20CC

SI20ES

Aabiendo estudiado las caractersticas de estos dos estndares de accesibilidadG puede deducirse :ue son muy similares y tratan prcticamente los mismos puntos de la misma formaG aun:ue cada uno est ms enfocado al mbito para el :ue estn descritos. El <%I est orientado a la presentacin de informacin ms esttica :ue dinmicaG mientras :ue las !%! estn ms orientadas a la interaccin del usuario con las aplicaciones. En resumenG los puntos ms destacables de ambas recomendaciones y :ue se deben implementar en -ora son& Interaccin simple y sencillaG pero :ue re:uiera pocos pasos para reali,ar acciones. %s se evita sobrecargar la memoria del usuario. )ostrar te9to e imgenes en la interfa, de usuario. Ca aplicacin debe soportar de forma nativa visuali,acin en modo de alto contraste o monocromo. Ca organi,acin de los elementos debe ser sencilla. Ca navegacin por las pantallas debe ser co>erenteG ordenada y lgica. Es decirG las distintas pantallas deben ser similares y mantener una estructura similar. Evitar destellos y cambios bruscos. Evitar informacin irrelevante o :ue pueda despistar al usuario. Aay :ue mantener la atencin del usuario en los elementos activos. tili,ar un lengua3e claroG conciso y cercano al usuario. Proporcionar lectura de pantalla para usuarios con problemas visuales. Identificar claramente los vnculos y los elementos :ue reali,an acciones. )ane3o de eventos independiente de la entrada. Ca aplicacin debe soportar distintas formas de interaccin. Indicar la ubicacin actual del usuario. 2frecer distintas realimentaciones ante las posibles acciones a reali,ar. Tambi(n cuando se pase por encima de un elemento interactivo o cuando se >aya elegido uno de ellos.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

47

-ora

Software accesible para control de entorno mediante dispositivos mviles

". +EP+ESE0T%CID0 !E0Y+IC% 12)DTIC2S.

1E

1ISP2SITI;2S

no de los puntos ms importantes :ue aparecen en el modelado de re:uisitos es :ue se pueda acceder a distintas instalaciones domticas mediante la misma aplicacin. Es posible :ue las instalaciones domticas est(n organi,adas de distinta maneraG e incluso :ue cumplan estndares distintos. Por tantoG es importante plantear en la fase de anlisis cmo el sistema va a enfrentarse a este problema :ue consiste en soportar cual:uier tipo de instalacin domtica disponible en el mercado.

".$. %0WCISIS 1ET%CC%12 1E SISTE)%S C2)E+CI%CES. 1I+ECCI20%)IE0T2 F ;%C2+ES.


@N$#
Ca mayora de dispositivos :ue implementan el estndar @N$# incorporan controles individuales para establecer su direccin. Cas direcciones estn compuestas por dos campos de 8 bits& el primero se llama *ouse #ode y tiene $4 posiciones desde la % a la PX el segundo se llama Unit #odeG y tiene tambi(n $4 posiciones :ue van desde el $ >asta el $4. %sG en cada instalacin es posible tener un m9imo de "?4 dispositivosG desde el %$ >asta el P$4G lo cual limita a este sistema al mbito dom(stico y de pe:ue=as empresas. Este estndar tiene solo $4 cdigos de operacin distintos y no soporta tipos de dato como booleanosG enteros o cual:uier otra representacin. Cos cdigos son los siguientes&
Cdigo Funcin Cdigo 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Respuesta: estado encendido Respuesta: estado apagado Solicitud de estado Funcin Solicitar respuesta Repuesta al comando anterior Seleccin de niveles predeterminados de intensidad 0 0 0 0 Apagar todas las unidades 0 0 0 1 Encencer todas las luces 0 0 1 0 Encender dispositivo 0 0 1 1 Apagar dispositivo 0 1 0 0 Reducir intensidad 0 1 0 1 Incrementar intensidad 0 1 1 0 0 1 1 1 Cdigo de extensin

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

M#

-ora

Software accesible para control de entorno mediante dispositivos mviles

ConworBs
Todos los dispositivos Con<orBs incluyen un c>ip llamado I0euronJ :ue contiene los circuitos necesarios para conectarlo a la red. Este c>ip incluye CP G mdulo de EPS y memorias +2) y +%). %simismoG cada c>ip est unvocamente identificado por una cadena de 85 bits llamada 0euron I1G :ue tiene una funcionalidad similar a las )%C de los dispositivos :ue se conectan a redes Et>ernet. El direccionamiento de dispositivos ConworBs puede >acerse utili,ando directamente el 0euron I1 Hsu direccin fsicaKG o mediante direcciones lgicas. Cas direcciones lgicas se componen de campos de dominioG subred y nodo. Cos dispositivos interactLan entre s de forma descentrali,ada He9tremo a e9tremoKG y la inteligencia de la instalacin est distribuida en los propios dispositivos. El campo IdominioJ puede e9istir o no y tener una longitud de entre # y 4 bits. Se usa para diferenciar redes distintasG y es interesante utili,arlo cuando dos redes utili,an un mismo canal de comunicacin. El campo IsubredJ es de 5 bits y permite direccionar >asta "?? subredes en cada red. El campo IredJ es de 8 bits y permite :ue >aya >asta $"M dispositivos en cada subred. Con<orBs define tipos de variables estndar asociados a unidades. Aay cientos de tipos aun:ue los ms importantes son los tpicos& porcenta3esG booleanosG enteros y flotantes Hde distinto tama=oKG caracteres Hen distintas codificacionesKG etc(tera.

-0@
% diferencia de Con<orBsG :ue re:uiere un c>ip especfico para cada dispositivoG -0@ est dise=ado para ser independiente de la plataforma sobre la :ue se implemente. El tipo de cone9in entre dispositivos y centralitas :ue con diferencia suele utili,arse es el cable tren,adoG aun:ue tambi(n se permiten cone9iones inalmbricas o a trav(s de la red el(ctrica. Cos dispositivos pueden ser capaces de configurarse automticamente o tambi(n pueden necesitar instalacin y configuracin previa por parte de un especialista. El sistema -0@ puede ser centrali,adoG donde todos los clculos se reali,an en una centralitaG o descentrali,adoG donde los dispositivos tienen circuitera e9tra programable. Ca comunicacin se reali,a a trav(s del bus del sistema y los dispositivos inician las comunicaciones cuando se produce un evento. 1e esta formaG si un sensor es programable y detecta un sucesoG
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

M$

-ora

Software accesible para control de entorno mediante dispositivos mviles

es capa, de enviar un telegrama al actuador adecuado de forma autnoma. Cas direcciones en -0@ se componen de tres campos& reaG lnea y dispositivo. Cos dos primeros campos son de 8 bits y el tercero 5G lo :ue en teora permite direccionar 4??64 dispositivosG aun:ue en realidad el m9imo es de ?M4##. Cas direcciones fsicas se indican separando los campos mediante puntos H.K o barras HPK.

0ormalmenteG el primer aparato de cada lnea o rea es un repetidor o amplificador de se=alG as :ue las direcciones @P@P# y @P#P# estn reservadas para dic>os dispositivos. Cos tipos de dato con los :ue traba3a -0@ son&
Tipo ool '( its(controlled +( its(unsigned ,( )tes(unsigned ,( )tes(0loat 2( )tes(unsigned date 7our date(7our string Descripcin !alores inarios "1#0$% Es el tipo m&s usado Enteros entre 0 ) * Enteros entre 0 ) ,--. valores porcentuales ) &ngulos% Enteros de 0 a /--'-% !alores decimales de 1/*10++./2 a 3/*0*/0.4/ !alores entre 0 ) 2,424/*,4-% D5a. mes ) a6o 8ora. minuto ) segundo 9os dos anteriores com inados Cadena codi0icada en ASCII con 7asta 12 caracteres%

na de las caractersticas ms relevantes de -0@ es el soporte para direcciones lgicas de grupo. ;arios dispositivos pueden asociarse a un bu+,n de forma :ue si un sensor coloca un valor en dic>o bu+,nG todos los actuadores suscritos a (l tomarn el valor :ue se >a depositado. Esta caracterstica es muy Ltil para crear grupos de sensores y actuadores. Por e3emploG podran asociarse varios interruptores a la misma bombilla o varios sensores de >umo al mismo sistema antiincendiosG de una forma muy sencilla y adems escalable. Cas direcciones de grupo se especifican mediante tres campos& grupo principal H8 bitsKG grupo intermedio H6 bitsK y subgrupo H5 bitsK. Cos separadores pueden ser el punto H.K o la barra HPK.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

M"

-ora

Software accesible para control de entorno mediante dispositivos mviles

".". C20CC

SID0

Por una parte tenemos varios estndares domticos :ueG aun:ue comparten filosofa de funcionamientoG son muy distintos entre s. Si :ueremos tener una capa de abstraccin :ue d( soporte completo a todas sus caractersticasG el tama=o y la comple3idad de la misma seran muy grandes. no de los re:uisitos :ue se plantean es :ue el acceso a los dispositivos se >aga de forma sencilla desde los dispositivos :ue van a acceder a la instalacin domtica. %demsG el mbito en el :ue va a utili,arse la aplicacin es el dom(stico o el escolarG y en ambos las instalaciones suelen ser pe:ue=as. Con esta aplicacin no vamos a gestionar la configuracin ni el direccionamiento de los dispositivos domticosG sino :ue simplemente vamos a dar un acceso uniforme a entidades e9ternas a la misma Hdispositivos mvilesK. Por tantoG los atributos :ue necesitaramos para proveer un acceso sencillo y a la ve, eficiente a los dispositivos de la instalacin seran entonces los siguientes& 0ombre o identificador unvoco :ue represente al dispositivo en el sistema. 0ombre legible para :ue el usuario pueda identificar ms fcilmente el dispositivo. Tipo de dispositivoG :ue tendr asociada una representacin determinada en el terminal de usuario. Ser necesario determinar un sistema estndar de tipos para los dispositivos ms comunes. Tipo de acceso al dispositivo& lecturaG escritura o ambas. Tipo de valor :ue puede leerse o escribirse en el dispositivo. +ango de valores soportados por el dispositivo.

Con esta representacin evitamos :ue las aplicaciones tengan :ue tratar con valores de ba3o nivel como direcciones fsicas o lgicas. Se facilita la asociacin entre tipo de dispositivo y representacin en el dispositivo del usuario y en generalG se simplifica el protocoloG lo cual posibilita un me3or rendimiento de las comunicaciones.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

M6

-ora

Software accesible para control de entorno mediante dispositivos mviles

6. )21EC2 ESTWTIC2
6.$. 1I%!+%)%
1E

CC%SES

% continuacin se muestran los diagramas de clases para aplicacin cliente Hen dispositivo mvilK y servidora Hen PC conectado a red domticaK. %mbos diagramas son completos y muestran las clases con sus atributos y operacionesG y las relaciones entre las mismas.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

M8

-ora

Software accesible para control de entorno mediante dispositivos mviles

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

M?

-ora

Software accesible para control de entorno mediante dispositivos mviles

6.". 1ESC+IPCID0

1E C%S

CC%SES& %T+IE

T2S F

2PE+%CI20ES

%l igual :ue en el diagrama de clasesG se omiten las operaciones triviales de cada claseG como los getters y los setters.

%plicacin cliente
Clase 1escripcin %tributos 'ser Clase :ue representa un usuario :ue va a utili,ar el sistema name Identificador y nombre del usuario. centre Centro al :ue pertenece el usuario p>oto Fotografa del usuarioG :ue ayude a diferenciarlo en una lista. autoStart Indica si se iniciar la sesin para este usuario de forma automtica al arrancar la aplicacin. autoStartSeconds Segundos :ue transcurren entre el arran:ue de la aplicacin y el inicio automtico de la sesin para este usuario. 2peraciones Para esta clase se muestran los atributos organi,ados por categorasG para :ue sea ms sencillo identificarlos. Clase 1escripcin 'se/rofile Clase :ue representa un perfil de usuario. Cos perfiles de usuario determinan cmo va a comportarse la aplicacin para el usuario :ue los tenga seleccionados. InterN interaction)ode accin )odo de interaccin con la aplicacinG :ue puede ser tctil directo o mediante barrido. scan)illis Tiempo :ue pasa entre cambio automtico de opcin cuando est seleccionado el modo de barrido. pagination)ode Inidca el modo de cambio de pgina en la aplicacin. Puede ser utili,ando el Lltimo botn de la re3illa o a=adiendo botones en la parte inferior de la pantalla.

%tributos

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

M4

-ora

Software accesible para control de entorno mediante dispositivos mviles

view)ode Indica el modo de visuali,acin de los elementos& color planoG colores alternadosG alto contraste o blanco y negro. bacBgroundColor Indica el color del fondo de la aplicacin. rows Indica el nLmero de filas de la re3illa en la :ue se muestran los dispositivos. columns Indica el nLmero de columnas dispositivos. de la re3illa de

margin Indica el margen entre los dispositivos de la re3illa. ;isuali allowed2rientations N,acin Indica las orientaciones de pantalla permitidas. s>owTe9t Indica si se mostrar o no te9to typograp>y Indica la tipografa a usar en caso de mostrar te9to. te9tSi,e Indica el tama=o del te9toG si se muestra. te9tCaps Indica si el te9to se pasar a mayLsculas en caso de ser mostrado. te9tColor Indica el color del te9toG si se muestra icon)ode Indica el modo de visuali,acin de iconos& pictogramasG fotografasG alto contraste o blanco y negro. +ealim vibration enN Indica si se usar o no vibracin para responder a las tacin acciones de usuario confirmation Indica si se solicitar confirmacin mediante un dilogo ante una accin del usuario confirmation)illis Indica el tiempo en milisegundos :ue la confirmacin estar disponibleG si en ese tiempo no se pulsaG se cancela la accin

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

MM

-ora

Software accesible para control de entorno mediante dispositivos mviles

contentAig>lig>t Indica si se resaltar el contenido del elemento seleccionado borderAig>lig>t Indica si se resaltar seleccionado el borde del elemento

sound)ode Indica el modo de sonidoG :ue puede ser sin sonidoG sonidos simplesG vo, sint(tica o vo, personali,ada. sound2nSelection Sonido +eproducir un sonido dispositivo. cuando se selecciona un

sound2n%ction +eproducir un sonido cuando se modifi:ue el valor de un dispositivo. 2peraciones

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

M5

-ora Clase 1escripcin %tributos 2peraciones Clase 1escripcin

Software accesible para control de entorno mediante dispositivos mviles

,e%ice/rofile Clase :ue representa los dispositivos :ue puede utili,ar un usuario. )ode Indica el modo de permisos& permitir por defecto o denegar por defecto

,e%ice Clase abstracta :ue representa un dispositivo presente en el sistema. system0ame Identificador unvoco :ue lo identifica en el sistema. readable0ame 0ombre legible para las personas. valueType Indica el tipo de datos con el :ue traba3a el dispositivo.

%tributos

current;alue Indica el valor actual del dispositivo. Este valor representa el estado del dispositivo. min;alue ;alor mnimo :ue puede tomar el dispositivo. ma9;alue ;alor m9imo :ue puede tomar el dispositivo.

2peraciones Clase 1escripcin %tributos get;alueHK & ;alue 2peraciones 1evuelve el valor :ue representa el estado actual del dispositivo. Read6nly,e%ice Clase :ue especiali,a la clase abstracta 1evice y representa un dispositivo presente en el sistema cuyo estado solo puede consultarse.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

M7

-ora

Software accesible para control de entorno mediante dispositivos mviles

Clase 1escripcin %tributos

Read7rite,e%ice Clase :ue especiali,a la clase abstracta 1evice y :ue representa un dispositivo presente en el sistema cuyo estado puede consultarse y modificarse. get;alueHK & ;alue 1evuelve el valor :ue representa el estado actual del dispositivo. set;alueHvalue & ;alueK Establece un nuevo estado para el dispositivo mediante la asignacin de un nuevo valor. ,e%ice-ype Enumerado con los distintos tipos de dispositivo :ue soporta el sistema. ,e%iceRepresentation Clase :ue contiene los elementos multimedia y las descripciones :ue representan a un dispositivo. 0ame 0ombre de la representacin.

2peraciones

Enumerado 1escripcin Clase 1escripcin %tributos 2peraciones Clase 1escripcin

#tate Clase :ue contiene la representacin multimedia para un estado concreto de un dispositivo. tag & String Te9to :ue representa el estado.

%tributos

icon& Eitmap Icono :ue representa el estado de forma grfica. sound& Sound Sonido :ue representa el estado de forma audible.

2peraciones

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

5#

-ora

Software accesible para control de entorno mediante dispositivos mviles

Clase 1escripcin

Control Clase :ue representa un control de un dispositivo. n dispositivo puede tener varios controles para alterar de distintas maneras su valor. name & String 0ombre del control

%tributos

writable & boolean Indica si el control es de solo lectura o si tambi(n soporta :ue el usuario realice acciones sobre (l.

2peraciones Clase 1escripcin ,e%ice8ap Coleccin :ue mantiene los dispositivos presentes en el sistemaG inde9ados por su nombre de sistema. server%ddress & String 1ireccin IP del servidor domtico al :ue conectarse. port & String Puerto del servidor al :ue efectuar la cone9in connectHaddress & StringG port & StringK 2peracin para conectarse al servidor de domtica. na ve, efectuada la cone9in se obtiene una lista de dispositivos del servidorG :ue no cambiar a lo largo del uso del usuario. 2peraciones disconnectHK 1esconecta el dispositivo del servidor. get1evicesHK & 1evice R#..ZS 1evuelve una lista con todos los dispositivos presentes en el sistema. Clase 1escripcin "%ent Clase :ue representa un evento de cambio en el valor de un dispositivo. Cos eventos pueden transmitirse del servidor a los clientesG y de los clientes al servidor. value& ;alue 0uevo valor de evento para el dispositivo con el :ue est relacionado.

%tributos

%tributos 2peraciones

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

5$

-ora

Software accesible para control de entorno mediante dispositivos mviles

%plicacin servidor
Clase 1escripcin ,e%ice Clase abstracta :ue representa un dispositivo presente en el sistema. system0ame Identificador unvoco :ue lo identifica en el sistema. readable0ame 0ombre legible para las personas. valueType Indica el tipo de datos con el :ue traba3a el dispositivo. %tributos current;alue Indica el valor actual del dispositivo. Este valor representa el estado del dispositivo. min;alue ;alor mnimo :ue puede tomar el dispositivo. ma9;alue ;alor m9imo :ue puede tomar el dispositivo. init-. 2peracin abstracta de clase :ue las clases :ue especialicen a 2peraciones esta deben implementar para establecer la cone9in con sus respectivas centralitas. Clase 1escripcin %tributos 2peraciones Clase 1escripcin %tributos 2peraciones 9:;,e%ice Clase :ue especiali,a la clase 1evice y representa un dispositivo -0@ presente en el sistema. Cos atributos de esta clase dependern de la especificacin del estndar -0@. Cas operaciones de esta clase dependern de la especificacin del estndar -0@. <on=or>s,e%ice Clase :ue especiali,a la clase 1evice y representa un dispositivo ConworBs presente en el sistema. Cos atributos de esta clase dependern de la especificacin del estndar ConworBs. Cas operaciones de esta clase dependern de la especificacin del estndar ConworBs.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

5"

-ora

Software accesible para control de entorno mediante dispositivos mviles

Clase 1escripcin %tributos 2peraciones Enumerado 1escripcin Enumerado 1escripcin

;10,e%ice Clase :ue especiali,a la clase 1evice y representa un dispositivo @$# presente en el sistema. Cos atributos de esta clase dependern de la especificacin del estndar @$#. Cas operaciones de esta clase dependern de la especificacin del estndar @$#. ,e%ice-ype Enumerado con los distintos tipos de dispositivo :ue soporta el sistema. +ccess8ode Enumerado :ue representa el tipo de acceso para un dispositivo presente en el sistema. Puede ser solo lecturaG o lectura y escritura. ,e%ice8ap Coleccin :ue mantiene los dispositivos presentes en el sistemaG inde9ados por su nombre de sistema. Estos dispositivos pueden ser de cual:uier tipo& -0@G @N$#G ConworBs o OigEee.

Clase 1escripcin %tributos

get1evicesHK & 1evice R#..ZS 2peraciones 1evuelve una lista con todos los dispositivos presentes en el sistema.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

56

-ora

Software accesible para control de entorno mediante dispositivos mviles

6.6. 1ESC+IPCID0
Relacin Cardinalidad Tipo 1escripcin Relacin Cardinalidad Tipo 1escripcin Relacin Cardinalidad Tipo 1escripcin Relacin Cardinalidad Tipo 1escripcin

1E C%S

+EC%CI20ES

o=ns HposeeK ser $ [ 0ormal Establece la relacin entre un usuario y su perfil de usuario. owns HposeeK ser $ [ 1eviceProfile $ 0ormal Establece la relacin entre un usuario y su perfil de dispositivos. controls HcontrolaK ser $ [ 1evice $..Z 0ormal Establece la relacin entre el usuario :ue est utili,ando la aplicacin y los dispositivos :ue controla. e*cepts He9cepcionesK 1eviceProfile #..$ [ 1evice #..Z %gregacin Indica las e9cepciones :ue >abr en un perfil de dispositivo. Si el perfil tiene el modo Ipor defecto permitirJG las e9cepciones sern dispositivos a los :ue el usuario no podr accederG y viceversa. is a Hes unK 1evice Z [ 1eviceType $ 0ormal Indica el tipo de dispositivo para un ob3eto 1evice dado. represented by Hrepresentado porK 1evice Z [ 1evice+epresentation $ 0ormal Establece la representacin para un 1evice dado. seProfile $

Relacin Cardinalidad Tipo 1escripcin Relacin Cardinalidad Tipo 1escripcin

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

58

-ora Relacin Cardinalidad Tipo 1escripcin Relacin Cardinalidad Tipo 1escripcin Relacin Cardinalidad Tipo 1escripcin Relacin Cardinalidad Tipo 1escripcin Relacin Cardinalidad Tipo 1escripcin

Software accesible para control de entorno mediante dispositivos mviles

contains HcontieneK 1evice+epresentation $ [ State $..Z %gregacin Establece el con3unto de representacin de dispositivo. contains HcontieneK 1evice)anager $ [ 1evice Z %gregacin Establece los dispositivos presentes en el sistema :ue estn registrados por el mapa de dispositivos. recei%es HrecibeK 1evice)anager $ [ Event Z 0ormal Indica :ue el gestor de dispostivos H1evice)anagerK puede recibir eventos. sends HenvaK 1evice)anager $ [ Event Z 0ormal Indica :ue el gestor de dispostivos H1evice)anagerK puede enviar eventos. related to Hrelativo aK Event $ [ 1evice $ 0ormal Establece la relacin entre un evento y el dispositivo al :ue afecta. estados :ue tiene una

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

5?

-ora

Software accesible para control de entorno mediante dispositivos mviles

C%P/T C2 ;& 1ISE\2

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

54

-ora

Software accesible para control de entorno mediante dispositivos mviles

$. %+Q

ITECT +% 1EC

SISTE)%

% ra, de lo descrito en el modelado de re:uisitos y el deise=oG puede deducirse :ue la ar:uitectura ms conveniente para el sistema es la clienteN servidor.

Este tipo de ar:uitectura es tpica en sistema distribuidos Hcomo pueden serlo las instalaciones domticas con sus sensoresG actuadores y centralitasKG en los :ue los datos y el procesamiento se distribuye en mdulos independientes pero interconectados. Cos componentes de dic>a ar:uitectura son& Servidores :ue ofrecen servicios a otros sistemas. Estos servidoresG por lo generalG no conocen a los sistemas :ue solicitan sus servicios. n e3emplo tpico de este tipo de sistemas son los servidores webG :ue sirven una gran cantidad de datos a un co3unto de clientes muy variado Hpueden ser navegadores de escritorioG clientes FTPG bots de buscadoresG etc(teraK. Clientes :ue utili,an los servicios ofrececidos por los servidores. Estas solicitudes e invocaciones pueden llegar a e3ecutarse masivamente y de forma concurrente. Cos clientes s tienen la responsabilidad de saber :u( servidores ofrecen :u( contenidos y
Proyecto Fin de Carrera. Septiembre de "#$#

'ose %lcal Correa

5M

-ora

Software accesible para control de entorno mediante dispositivos mviles

cmo tienen :ue invocar a sus servicios. Por e3emploG cuando usamos un navegador web tenemos :ue saber :u( pgina :ueremos visitar. na red de intercone9in :ue permite a los clientes acceder a los servicios.

En el caso de -oraG el servidor tendr por una parte los dispositivos mviles :ue se comuni:uen con (l para interactuar con los dispositivosG y por otraG la red de dispositivos domticos. Es decirG el servidor >ar de puente entre dos redes distintas. Ca primera red ser la compuesta por los dispositivos mviles con los :ue los usuarios controlan el sistema. Estos dispositivos se conectan directamente con el servidor a trav(s de una red inalmbricaG siguiendo cual:uiera de los protocolos estndar :ue soporten tanto el servidor como los propios dispositivos mviles& <iFi o Eluetoot>. Ca informacin :ue se transporta por esta red es de dos clases& Peticin por parte de los dispositivos mviles del listado de dispositivos domticos al servidorG y respuesta correspondiente. Eventos de cambio de estado en un dispositivo domtico. Pueden ser de dos tipos& Si un evento va de un cliente al servidorG indica :ue el usuario :ue mane3a dic>o dispositivo domtico :uiere cambiar el valor :ue representa el estado del mismo. Si un evento va desde el servidor al todos los clientesG indica :ue se >a producido un cambio en el estado de un dispositivo. Si este cambio de estado >a sido provocado por un clienteG la recepcin de este evento es la confirmacin de :ue >a cambiado el estado del dispositivo. Ca segunda red es la :ue conecta el servidor con los dispositivos domticos. Para modificar efectivamente o leer el estado de un dispositivoG el servidor debe mandar una trama con un formato especfico HsegLn el estndar domticoK a la centralita correspondientG si la red es centrali,ada. Si la red domtica es descentrali,adaG el servidor estar conectado directamente a los dispositivos de dic>a red Hpor e3emploG si es una red OigEeeG el servidor deber tener un emisorPreceptor compatibleK.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

55

-ora

Software accesible para control de entorno mediante dispositivos mviles

'iagrama con la arquitectura simplificada

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

57

-ora

Software accesible para control de entorno mediante dispositivos mviles

". 1ESC2)P2SICID0

E0

ESISTE)%S

1ebido a la naturale,a clienteNservidor del sistema a desarrollarG es importante reali,ar un dise=o :ue consiga una alta co>esin y un ba3o acoplamiento. Estas dos cualidades nos permiten reducir la comple3idad de los subsistemas y por tantoG del sistema en general. Esta reduccin de comple3idad es beneficiosa para el mantenimiento del sistemaG su comprensin y su rendimiento. Aabiendo comprendido cules son las vistas del sistema en el anlisis de re:uisitos y la ar:uitectura :ue tendr en el apartado anteriorG podra dividirse en tres& Subsistema de gestin de dispositivos. Subsistema de control de dispositivos por parte del usuario. Subsistema de gestin de usuarios y perfiles.

El subsistema de gestin de dispositivos se encontrar en el servidor de domtica de la aplicacin y se encargar de recibir peticiones de los clientes y responderlas. Estas peticiones pueden ser la consulta de la lista de dispositivosG la consulta de estado de uno de ellos o la modificacin de algLn valor de un dispositivo. Por otra parteG es posible :ue los dispositivos generen eventos Hpor e3emploG se encienda una lu, manualmenteK y se necesite notificar a los dispositivos mviles de los usuarios. El subsistema de control de dispositivos presenta al usuario una interfa, de control adaptada a sus necesidades. Entre las responsabilidades de este subsistema se encuentran configurar el aspecto de la interfa, de usuarioG la forma de interactuar con el sistemaG o la realimentacin :ue se ofrecer ante las acciones del usuario. Por tantoG consideramos :ue este subsistema se encarga de modificar la capa de usuario. El subsistema de gestin de usuarios y perfiles consistir en una aplicacin de configuracin para los perfiles :ue configuran el aspecto y el comportamiento del subsistema anterior. % la vista de los dos primeros subsistemasG es evidente :ue la mayora del flu3o de informacin del sistema estar determinado por los eventos :ue se produ,can en el mismoG ya sea por parte de los usuarios o por parte de los dispositivos. Por tantoG tanto el subsistema de gestin de dispositivos del servidor como el subsistema de control de dispositivos de los clientes deben contar con sendos subsistemas mane3adores de eventosG adems de los propios de cada uno.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

7#

-ora

Software accesible para control de entorno mediante dispositivos mviles

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

7$

-ora

Software accesible para control de entorno mediante dispositivos mviles

6. 1ISE\2

1EC

ESISTE)% 1E

1ISP2SITI;2S

En este apartado se detallar cmo se >a reali,ado la abstraccin sobre los dispositivos domticos :ue se van a conectar al servidor. En primera instanciaG lo :ue >ay :ue determinar es :u( atributos tendrn nuestros dispositivos virtuales Habstracciones sobre dispositivos realesK y :u( operaciones soportarn. El ob3etivo de esta abstraccin sobre dispositivos domticos reales no es el de crear una biblioteca :ue ofre,ca acceso de alto nivel a todas las operaciones :ue soporten los distintos sistemas domticos. Este propsito re:uerira un proyecto aparte completo y >abra :ue dedicarle varios meses e9tra de traba3o. 0uestro ob3etivo es simplemente ofrecer una capa de abstraccin lo ms sencilla posible :ue permita un acceso transparente a las caractersticas y operaciones tpicas de todos los estndares domticos& listar dispositivosG obtener su estado y modificar su estado si lo permiten. El mecanismo indicado para abstraer los dispositivos de los distintos estndares y unificar el acceso a los mismosG utili,ando un dise=o orientado a ob3etosG es la >erencia y el polimorfismo. Se propone una clase abstracta I1eviceJ :ue las clases :ue representen dispositivos -0@G OigEeeG ConworBs o @N$# deben especiali,ar. Estos ob3etos se corresponden con dispositivos con un solo control o valor del sistema domtico. Para ciertos estndares Hcomo -0@K puede ser conveniente o necesario implementar clases au9iliares como gestores de cone9in o mapeadores de eventos. Esta labor se de3a a eleccin del programador de la implementacin correspondiente.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

7"

-ora

Software accesible para control de entorno mediante dispositivos mviles

'iagrama de clases/ 'ispositivos/ Con este dise=o se consigue abstraer los subsistemas domticos subyacentesG de forma :ue la aplicacin cliente no es consciente en ningLn momento de cmo est montado el sistema domtico. Tan solo ve dispositivos con nombre identificativos cuyos distintos valores pueden leerse o escribirse dentro de un rango y con un tipo determinado.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

76

-ora

Software accesible para control de entorno mediante dispositivos mviles

8. 1ISE\2

1EC

ESISTE)% 1E

E;E0T2S

En este apartado se definir cundo se dispararn los eventos y se difundir su contenidoG y :u( informacin contendrn. 1esde el punto de vista del servidorG los eventos pueden provenir desde dos fuentes distintasG y tienen efecto en el lado contrario. Todos los eventos contienen la misma informacin& se >a producido un cambio de estado en un dispositivo domtico Estos eventos se pueden generar desde los terminales mviles de los usuariosG al :uerer modificar el valor :ue representa el estado de un dispositivo domticoG por e3emploG mandar la orden de encender una bombilla. Tambi(n pueden producirse dentro de la misma instalacin domtica sin ser los usuarios de la aplicacin :uienes lo >an provocado mediante sus dispositivos mviles. Ppor e3emploG alguien enciende la bombilla con un interruptor manualG o un sensor detecta un movimiento. En ambos casos es necesario notificar del evento a todos los dispositivos mviles de los usuarios :ue est(n conectados al servidor. Cos atributos y operaciones de los eventos de cambio de estado :ue se definen son las siguientes. Como son tan sencillos y las operaciones son bsicasG no es necesario definir sus contratos correspondientes.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

78

-ora

Software accesible para control de entorno mediante dispositivos mviles

Clase de "%ento ,e%iceC)an&e"%ent %tributos N device0ame & String 0ombre de sistema del dispositivo :ue >a generado el evento. N value & ;alue 0uevo valor :ue representa el estado del dispositivo domtico :ue >a generado el evento. V1eviceC>angeEventHString device0ameG ;alue new;alue K Constructor del evento. Vget1evice0ameHK & String 1evuelve el nombre del dispositivo :ue >a generado el evento. Vget1evice;alueHK & ;alue 1evuelve el nuevo valor :ue tiene asignado el dispositivo. Comentarios Estos eventos pueden dispararse en dos direcciones. n cliente puede mandar un evento al servidor para modificar el valor de un dispositivo. %simismoG el servidor genera eventos y los manda a todos los clientes conectados para indicarles :ue se >a producido un cambio en un dispositivo domticoG ya sea generado por un usuario o por una entidad e9terna al sistema.

2peraciones

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

7?

-ora

Software accesible para control de entorno mediante dispositivos mviles

C%P/T

C2

;I&

I)PCE)E0T%CID0

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

74

-ora

Software accesible para control de entorno mediante dispositivos mviles

$. +EC
$.$. +EC

+S2S
+S2S

E)PCE%12S

S2FT<%+E

Plataforma de desarrollo& Eclipse I1E 6.? H!alileoK y 6.4 HAeliosK Eclipse es un entorno de desarrollo multiplataforma basado en 'ava y con una ar:uitectura e9tensible mediante plugins. Es el I1E oficial del proyecto %ndroid y soporta la edicin de fic>eros de 'avaG @)C e incluso de recursos como imgenes y sonidos. Incluye autocompletado de cdigoG documentacin en lnea y otras caractersticas :ue facilitan bastante la labor de programacin. El plugin de %ndroid permite al entorno de desarrollo autoconfigurarse cada ve, :ue se arrancaG de forma :ue se detectan automticamente los dispositivos %ndroid conectados al ordenadorG se permite controlar emuladoresG visuali,ar los logs del programaG etc(tera. Ca gran versatilidad de este entorno de desarrollo permitira crear un editor de perfiles para -oraG la pgina web para el proyecto e incluso la documentacin para el mismo Hmediante el plugin de CaTe@K. Cengua3e de programacin& 'ava Es el lengua3e de programacin oficial para desarrollar aplicaciones para %ndroid Haparte de C y CVVG soportados por el 0ative 'evelopment 1ool&it o %ndroid 01-K. Es un lengua3e orientado a ob3etos desarrollado por Sun )icrosystems en los a=os 7#. Este lengua3e tiene una sinta9is similar a la de C o CVVG pero incluye caractersticas de ms alto nivel. Se suele compilar a bytecode :ue se e3ecuta en una m:uina virtual H%ndroid no usa la ';) estndarG sino una propia llamada 'alvi&K. Ca caracterstica ms valorada del lengua3e es su amplio uso y la disponibilidad de una gran cantidad de bibliotecas muy probadas. 1esde "##MG la mayor parte de las tecnologas del lengua3e son software libre y estn publicadas ba3o licencia !0 !PC. Software de gestin de instalaciones -0@& ETS 6

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

7M

-ora

Software accesible para control de entorno mediante dispositivos mviles

Este software propiedad de la %sociacin -0@ permite configurar una instalacin domtica conectando un ordenador a la interfa, Et>ernet o SE del router de la instalacin. Con (l se pueden configurar el agrupamiento de los dispositivosG las direcciones a utili,ar y las reacciones de los actuadores ante los eventos :ue disparen los sensores. Incluye una base de datos con todos los dispositivos de los fabricantes de componentes :ue siguen el estndar -0@.

$.". +EC

+S2S

A%+1<%+E

2rdenador de sobremesa& )icroprocesador Intel Core " 1uo H"]$6!A,KG 8!E de +%) 11+" a 44M)A,G con %rc>Cinu9 R%rc>S como Sistema 2perativo principal. 2rdenador porttil& )icroprocesador Intel Celeron a "!A,G "!E de +%) 11+" a 44M )A,G con %rc>Cinu9 como S2 principal y <indows M como secundario. Tel(fono mvil ATC Tattoo& propiedad de la %ndroid $.4. Tel(fono mvil ATC 1esire& con %ndroid ".". Panel entrenador con dispositivos -0@& con un router Et>ernetG otro SEG una fuente de alimentacinG tres bombillasG varios interruptoresG sensor de presencia de $5#^ y de 64#^G y sensor de >umedad. niversidad de !ranadaG con

$.6. 2T+2S +EC


+S2S F

AE++%)IE0T%S

Iconos del proyecto 29ygenG utili,ados principalmente en la interfa, del tutor R29ygenS. InBscapeG >erramienta de dibu3o vectorial utili,ada para crear los iconos y las representaciones de dispositivo RInBscapeS. !impG >erramienta de dibu3o y reto:ue fotogrfico utili,ada para retocar los iconos y representaciones de dispositivo.

-1EG entorno de escritorio multiplataforma :ue adems de una gran comodidad y una est(tica agradableG provee >erramientas como 1olp>in Hgestor de arc>ivosKG -write y -ate Heditores de te9toKG FaBuaBe y -onsole Hterminales virtualesK o -1ESvn Hgestin de versionesK

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

75

-ora

Software accesible para control de entorno mediante dispositivos mviles

". 1ESC+IPCID0
".$. %01+2I1

1EC

E0T2+02

1E

1ES%++2CC2

Como ya se describi en el captulo de investigacinG %ndroid es un Sistema 2perativo y entorno de desarrollo para dispositivos mviles desarrollado por la 2pen Aandset %llianceG un consorcio de empresas en el :ue destacan !oogleG TN)obileG )otorolaG ATC o Sony Ericsson. Est basado en el Bernel Cinu9 y las aplicaciones de usuario se e3ecutan sobre una m:uina virtual optimi,ada para dispositivos mviles llamada 1alviB. Cas aplicaciones de usuario se programan mediante el S1- de %ndroid y el lengua3e 'ava aun:ue pueden enla,arse partes escritas en C mediante el 01- H0ative 'evelopment 2itK. Todo el cdigo fuente de la plataforma est disponible ba3o licencias de software libre y cdigo abiertoG destacando la licencia !0 !PC versin " y la licencia %pac>e. Cos diferentes fabricantes de dispositivos suelen incluir aplicaciones propietarias y los drivers de los componentes de los dispositivos mviles tambi(n suelen serlo. Ca plataforma soporta diversas tecnologas como el motor de renderi,ado de pginas web <eb-it Hcreado por %pple a partir del motor -AT)CG tambi(n libreKG 2pen!C ESG bases de datos SQCiteG cdecs para mLltiples formatos de audio y vdeoG telefona Hpara dispositivos :ue lo soportenKG soluciones de conectividad como Eluetoot>G <ifi o 6! y recientes m(todos de interaccin como brL3ula o acelermetro. %un:ue no es re:uisito obligatorioG todos los dispositivos %ndroid cuentan con pantalla tctil. Todas estas caractersticasG 3unto con las :ue ofrece el lengua3e de programacin 'ava mediante su biblioteca estndar de clasesG dan una gran potencia y versatilidad a la plataformaG :ue pueden aprovec>arse para construir aplicaciones con un potencial e:uivalente a las aplicaciones para sistemas de escritorio. Cas aplicaciones :ue utilicen el 01- tambi(n podrn beneficiarse de las bibliotecas estndar de C y CVVG 3unto con las :ue desee a=adir el programador Hsiempre y cuando est(n compiladas para microprocesadores %+)K. El S1- de %ndroid contiene una serie de >erramientas para conectar el ordenador a los dispositivos mviles mediante un cable SEG un depuradorG una utilidad para firmar pa:uetes de aplicacionesG una terminal para conectarse al mvil de forma remota y un plugin para el su entorno oficial de
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

77

-ora

Software accesible para control de entorno mediante dispositivos mviles

desarrollo Eclipse. Este entorno de desarrollo ser el utili,ado para desarrollar el proyecto. El plugin para Eclipse incluye un editor de interfacesG un generador de cdigo para las clases au9iliaresG un conversor de fic>eros '%+ Hgenerados por el compilador de 'avaK a los :ue utili,a la m:uina virtual de %ndroid y un visor de CogsG adems de la documentacin en lnea integrada. Tambi(n se incluyen m:uinas virtuales para probar las aplicaciones en dispositios mviles virtuali,ados. Se dispone de un tel(fono mvil ATC Tattoo con %ndroid $.4 ICupcaBeJ Hpropiedad de la niversidadK para >acer las pruebas pertinentes.

".". ESTW01%+ -0@& ETS 6G C%CI)E+2.


En el captulo de investigacin tambi(n se concretaron las ra,ones por las :ue se va a utili,ar el estndar -0@ para >acer una primera implementacin del sistema. En el captulo de anlisisG ademsG se dio una descripcin detallada del funcionamiento del estndar y sobre su uso. Ca mayora de instalaciones -0@ dispone de un enrutador IP al :ue se puede conectar un PC mediante un cable de red Et>ernetG o bien un enrutador al :ue puede conectarse un PC mediante un cable SE. Ca programacin y organi,acin de la instalacin se >ace utili,ando el software oficial de la -0@ %ssociationG ETS. Ca Lltima versin de este programa es la 6G y es la :ue vamos a utili,ar para nuestro proyecto. Ca -0@ %ssociation tambi(n proporciona una biblioteca llamada Falcon para :ue los desarrolladores creen aplicaciones :ue se comuni:uen con las instalaciones -0@. 0o obstanteG esta biblioteca es software cerradoG est disponible solo para <indowsG >ay :ue pagar por su uso y adems es muy comple3a de utili,ar. Ca niversidad de ;iena cre una biblioteca llamada Calimero :ue se comunica con la centralita de la instalacin mediante tunelado sobre IPG es decirG :ue solo soporta la cone9in a trav(s de cable Et>ernet. Esta biblioteca est desarrollada para 'ava y tiene prcticamente la misma funcionalidad de Falcon. %demsG es ms sencilla de utili,arG es multiplataforma y es libreG as :ue puede utili,arse sin pagar regalas a ninguna entidad. En "##? se presentaron la biblioteca y un Cive C1 de Cinu9 con aplicaciones de demostracin :ue mostraban la funcionalidad de la biblioteca. 1esde "##5 se encuentra en su revisin ".# alp>a 8G lo cual parece
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

$##

-ora

Software accesible para control de entorno mediante dispositivos mviles

indicar :ue >a sido abandonada. % pesar de estoG presenta una gran estabilidad y es usada por distintos proyectos como 2pen+emoteG :ue s tienen un desarrollo continuado y subsanan errores :ue pueda presentar la biblioteca.

".6. '%;%. EIECI2TEC% !+WFIC% S<I0!.


Como %ndroid y Calimero utili,an el lengua3e de programacin 'avaG ser el elegido para implementar todas las aplicaciones del sistema. Para probar la conectividad entre los dispositivos mviles y el ordenador de escritorioG se desarrollar una pe:ue=a aplicacin :ue simule un entorno domtico. Esta aplicacin incluir una lista de dispositivos simulados Hcomo lucesG puertas o ventanasK con los :ue se interactuar desde la aplicacin para dispositivo mvil. Para implementar esta aplicacin se utili,ar 'ava 3unto con la biblioteca para creacin de interfaces grficas SwingG :ue es multiplataforma y puede e3ecutarse sobre cual:uier sistema operativo de PC.

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#$

-ora

Software accesible para control de entorno mediante dispositivos mviles

6. I)PCE)E0T%CID0

1E C%

I0TE+F%O

1E

S %+I2

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#"

-ora

Software accesible para control de entorno mediante dispositivos mviles

8. I)PCE)E0T%CID0 SE+;I12+

1E C%

C2)

0IC%CID0 C20 EC

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#6

-ora

Software accesible para control de entorno mediante dispositivos mviles

?. I0TE!+%CID0

C20

C%CI)E+2

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#8

-ora

Software accesible para control de entorno mediante dispositivos mviles

4. E0T+E0%12+

P%+%

P+

EE%S

-0@

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#?

-ora

Software accesible para control de entorno mediante dispositivos mviles

C%P/T

C2

;II&

S2 1E C% %PCIC%CID0
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

$#4

-ora

Software accesible para control de entorno mediante dispositivos mviles

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#M

-ora

Software accesible para control de entorno mediante dispositivos mviles

C%P/T

C2

;III&

C20CC SI20ES

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#5

-ora

Software accesible para control de entorno mediante dispositivos mviles

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$#7

-ora

Software accesible para control de entorno mediante dispositivos mviles

+EFE+E0CI%S R+emoteS >ttp&PPieee9plore.ieee.orgP@plorePlogin.3sp_ url`>ttp&PPieee9plore.ieee.orgPiel?P8?784"#P84#""5"P#84#"?"M.pdf a6Farnumbera6184#"?"Mbaut>1ecision`N"#6 RI)ES >ttp&PPandroidNdevelopers.blogspot.comP"##7P#8PupdatingN applicationsNforNonNscreen.>tml R<iiI)ES >ttp&PPwww.youtube.comPwatc>_v`N#yAT9o%;:c RTT)S >ttp&PPwww.youtube.comPwatc>_v`2"E%B1$v?rF >ttp&PPwww.droidapps.orgPtalBNtoNmeNandroidNtranslatorP

RE'S >ttp&PPwww.b3Nadaptaciones.comPcatalogo.>tml_ page`s>op.browsebcategorycid`87 R%ctS >ttp&PPwww.ii.uam.esPdmontoroPpublicationsPipo"##$.pdf R%miS >ttp&PPamilab.ii.uam.esP R%rc>S >ttp&PPwww.arc>linu9.org RscautS scaut.ugr.es RpicaaS scaut.ugr.esPpicaa RappStoreS >ttp&PPitunes.apple.comPesPappPpicaaPid6M66688M#_mt`5 RlonmarBS >ttp&PPtypes.lonmarB.orgPinde9.>tml R<%IS >ttp&PPwww.w6c.esPTraduccionesPesP<%IPintroPaccessibility R<%I"S >ttp&PPwww.w6.orgPTalBsP<%INIntroPslide$N# R<C%!S >ttp&PPwww.discapnet.esPwebcaccesiblePtecnicasP<C%!$#N TECASN"###$$#4ces.>tml
'ose %lcal Correa Proyecto Fin de Carrera. Septiembre de "#$#

$$#

-ora

Software accesible para control de entorno mediante dispositivos mviles

R<C%!NC>ecBlistS c>ecBlist.>tml

>ttp&PPwww.discapnet.esPwebcaccesiblePwcag$#PfullN

R!02)ES >ttp&PPwww.gnome.org R!02)E%ccesibilityS >ttp&PPpro3ects.gnome.orgPaccessibilityP R buntuS >ttp&PPwww.ubuntu.org R1ebianS >ttp&PPwww.debian.org R!uadaline9S >ttp&PPwww.guadaline9.org R%ccerciserS >ttp&PPlive.gnome.orgP%ccerciser R!02)E!uidelinesS >ttp&PPlibrary.gnome.orgPdevelPaccessibilityNdevelN guidePnig>tlyPgadNuiNguidelines.>tml.en

'ose %lcal Correa

Proyecto Fin de Carrera. Septiembre de "#$#

$$$

You might also like