Home

VisualDomo - Universitat Oberta de Catalunya

image

Contents

1. Nombre Fecha de inicio Fecha de fin w Fl Estudio preliminar 26 02 14 30 04 14 Creaci n plan de trabajo 26 02 14 14 03 14 Definici n objetivos 3 03 14 3 03 14 1 Estudio sistemas ODControl 17 03 14 16 04 14 Estudio Cordova 26 02 14 16 04 14 y Definici n de recursos 17 04 14 23 04 14 An lisis de requisitos 17 04 14 30 04 14 w F2 Dise o 1 05 14 2 07 14 Dise o funcional 1 05 14 21 05 14 b Dise o l gico 22 05 14 11 06 14 Creaci n mockups 22 05 14 2 07 14 w F3 Implementaci n 3 07 14 3 12 14 Elecci n de la metodolog a 3 07 14 9 07 14 Instalaci n y configuraci n herramientas 3 07 14 9 07 14 Planificaci n hitos 3 07 14 16 07 14 Implementaci n 17 07 14 3 12 14 v o F4 Pruebas 4 12 14 6 01 15 Pruebas de rendimiento 4 12 14 6 01 15 Eee Pruebas funcionales 4 12 14 6 01 15 E An lisis de resultados 4 12 14 12 12 14 a w o FS Publicaci n 1 05 14 6 01 15 Documentaci n usuario 1 05 14 17 12 14 LSS SSS Documentacion desarrollador 17 07 14 17 12 14 I o V deo presentaci n 18 11 14 29 12 14 A Redacci n memoria 1 05 14 17 12 14 e ee Publicaci n del c digo 1 05 14 17 12 14 Creaci n BTS 17 07 14 18 07 14 a Creaci n y mantenimiento foros 17 07 14 6 01 15 AAA AAA Publicaci n de la app en tiendas digitales 20 11 14 6 01 15 E F6 Mantenimiento y mejora 1 12 14 6 01 15 E
2. Figura 3 Diagrama Gantt planificaci n M ster Universitario Software Libre Trabajo Fin de M ster 7 VisualDomo Control visual sobre dispositivos m viles para ODControl 3 Dise o 3 1 Requisitos M nimos No ser posible acceder a un ODControl que no est en la red a la que se encuentre conectado VisualDomo Dicho de otro modo no es posible controlar dispositivos externos a la red local A n as se prever un posible acceso futuro a dicha funcionalidad Posibilidad de trabajar con varios ODControl de una misma red m nimo 10 El protocolo de comunicaci n entre VisualDomo y los ODControl ser HTTP autenticado no seguro En una primera fase VisualDomo debe correr en plataformas Android Los cambios entre plataformas deben ser m nimos Se debe permitir la configuraci n de localizaciones con varias plantas La definici n de los planos se har mediante la carga de alg n formato gr fico png jpg etc La configuraci n de la localizaci n podr realizarse off line VisualDomo debe guardar las configuraciones de cada localizaci n puertos planos ubicaciones para facilitar una posterior conexi n Identificaci n sencilla por iconos del tipo y estado de cada puerto Control de errores con notificaciones en caso de problemas en los ODControl Los estados ser n actualizados de manera autom tica a los ODControl aunque tambi n se podr n solicitar de manera manual Acceso directo o remoto
3. Figura 16 VisualDomo logo Figura 17 VisualDomo logo y texto El logotipo juega con el logotipo de OpenDomo cambiando el color y girando parte de su elementos interiores para hacerlos similares a las letras V y D representativas de VisualDomo Aunque en todas las versiones alfa y las primeras beta se utiliz todo este material fue descartado en la versi n final por motivos relativos al registro del mismo por lo que se opt por utilizar el gen rico de la empresa Aun as el material queda disponible en GitHub para posibles usos posteriores M ster Universitario Software Libre Trabajo Fin de M ster 27 VisualDomo Control visual sobre dispositivos m viles para ODControl 6 Control de calidad y pruebas Para realizar el control de calidad tanto del producto como del proceso de desarrollo se han utilizado los siguientes procedimientos 6 1 Pruebas unitarias Aunque existen librer as para la realizaci n de pruebas unitarias en Javascript la interoperabilidad con el entorno de desarrollo resulta compleja Es por ello que se ha optado por una soluci n m s sencilla basada en utilizar la propia consola del sistema adb logcat para mostrar mensajes que indiquen la comprobaci n satisfactoria o no de los puntos a observar 6 2 Pruebas de funcionalidad Para poder contrastar que la funcionalidad que se iba adquiriendo era la deseada se ha ido creando una hoja de ruta que iba a adiendo las especificaciones al mismo tiempo e
4. La elecci n de ambos sistemas obviamente uno es dependiente del otro se realiza por recomendaci n de OpenDomo Services SL que aloja de esa manera todos sus desarrollos abiertos LibreOffice Gimp En las primeras fases de desarrollo se cre un trabajo de arte que conduc a a la creaci n del logotipo de la aplicaci n El dise o vectorial se realiz con el apoyo del m dulo de dise o grafico que se incluye en el paquete ofim tico LibreOffice Para la parte de retoque fotogr fico se utiliz Gimp M ster Universitario Software Libre Trabajo Fin de M ster 21 VisualDomo Control visual sobre dispositivos m viles para ODControl 5 Implementaci n 5 1 Metodolog a Se ha optado por el uso de una metodolog a mixta Durante las primeras fases se ha utilizado un ciclo en cascada es decir en primer lugar analizar posteriormente dise ar y a continuaci n implementar Sin embargo en esta ltima fase de implementaci n y en la posterior de pruebas Su utiliza una metodolog a SCRUM Aprovechando las facilidades que GitHub ofrece para la gesti n del proyecto se crearon una serie de peque as tareas agrupadas en hitos que a su vez se etiquetan en versiones menores La definici n de los hitos se realiza de manera progresiva en funci n de las nuevas funcionalidades a a adir a mejorar a incorporar o errores a corregir ES Pull requests Labels Milestones Filters ow taco E ciear current search query filters and sorts O
5. Este tipo de aplicaci n est pensada principalmente para el trabajo con dispositivos m viles de una tama o de pantalla m nimo de entre 6 7 pulgadas pero a n as se intenta que pueda ser ejecutada en dispositivos m s peque os con cierto grado de funcionalidad Para ello en los CSS se ha optado por crear en algunas pantallas media queries que ajustan de la mejor manera posible las caracter sticas de la aplicaci n a la del dispositivo 5 6 Drag amp drop Otro de los retos era la implementaci n de la t cnica de Drag amp Drop para ubicar los puertos en cada una de las plantas Gracias a JQuery Mobile una primera implementaci n funcional no fue dificil de conseguir pero su rendimiento dejaba bastante que desear Para la mejora del mismo se ha optado por estudiar cada uno de los posibles casos y eliminar las m ximas redundancias Asi por ejemplo se pas de dibujar directamente sobre el canvas cada uno de los puertos a crear una fuente basada en iconos que facilitaba el redibujado en tiempo de arrastre La fuentes denominada VisualDomo se basa en otra fuente libre denominada entypo 4 Otras posible mejora a incorporar no se han podido llevar a cabo por falta de tiempo consistir a en la aplicaci n de un doble canvas a modo de capas una para mostrar nicamente el plano de la planta y otro para realizar las tareas de Drag amp Drop Esto permitir a aligerar todo la parte del proceso de c lculo pero crear a un nue
6. Nombre Nombre con el que ser identificado el ODControl Una vez localizado aparecer un tem en el panel izquierdo con el nombre del ODControl que dar acceso a un panel desplegable con la lista de todos los puertos disponibles X Para la carga de los ODControl es necesario que VisualDomo est en el estado Conexi n Wifi NA El a adido de los ODControl no implica la asignaci n de la localizaci n a la red Wifi de la que se est tomando datos Edici n del ODControl La edici n de los ODControl se realiza desde la barra de herramientas de ODControl que se puede obtener pulsando sobre el texto del nombre de ODContro en el panel izquierdo Esta barra permite Borrar el ODControl Configurar el ODControl Presenta el cuadro de di logo de configuraci n ver A adir ODControl pero nicamente da acceso a cambiar el nombre Recargar ODControl Permite la actualizaci n de los puertos a adiendo nuevos y eliminado los deshabilitados opci n no soportada en esta versi n Ubicaci n de puertos La ubicaci n de puertos se realiza desde el panel izquierdo En su interior se encuentra la lista de ODControls configurados Cada uno de estos ODControl permite abrir un panel desplegable con una lista de todos aquellos puertos que el ODControl permite visualizar M ster Universitario Software Libre Trabajo Fin de M ster 42 VisualDomo Control visual sobre dispositivos m viles para ODControl X Si
7. Copyright also means copyright like laws that apply to other kinds of works such as semiconductor masks The Program refers to any copyrightable work licensed under this License Each licensee is addressed as you Licensees and recipients may be individuals or organizations To modify a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission other than the making of an exact copy The resulting work is called a modified version of the earlier work or a work based on the earlier work A covered work means either the unmodified Program or a work based on the Program To propagate a work means to do anything with it that without permission would make you directly or secondarily liable for infringement under applicable copyright law except executing it on a computer or modifying a private copy Propagation includes copying distribution with or without modification making available to the public and in some countries other activities as well To convey a work means any kind of propagation that enables other parties to make or receive copies Mere interaction with a user through a computer network with no transfer of a copy is not conveying An interactive user interface displays Appropriate Legal Notices to the extent that it includes a convenient and prominently visible feature that 1 displays an appropriate copyright notice
8. Estados de VisualDomo Operatividad En funci n de la conectividad del dispositivo donde est funcionando VisualDomo puede encontrarse en tres posibles estados e Sin conexi n a red El dispositivo m vil no tiene conexi n a ning n tipo de red En este estado nicamente es posible acceder a la creaci n de nuevas localizaciones o a la configuraci n de las ya existentes En este ltimo caso no ser posible a adir nuevos ODControl pero si ubicar puertos o reubicar los ya colocados y o cambiar su configuraci n e Conexi n a red 3G 4G El dispositivo nicamente se encuentra conectado a una red de datos En este caso adem s de las opciones anteriores tendr acceso a comunicarse con localizaciones remotas opci n no soportada en esta versi n e Conexi n Wifi El dispositivo se encuentra conectado a un red Wifi En este caso todas las opciones se encuentran disponibles de partida aunque la opci n de visualizaci n s lo lo estar en el caso de que alguna de las localizaciones est asignada a la red Wifi a la que se encuentra conectado el dispositivo M ster Universitario Software Libre Trabajo Fin de M ster 40 VisualDomo Control visual sobre dispositivos m viles para ODControl Estado de una localizaci n Teniendo en cuenta lo anterior una localizaci n puede encontrarse en tres posibles estados e Desasignada La localizaci n est creada pero no est enlazada a ninguna red e Asignada La localizaci n est
9. When you convey a copy of a covered work you may at your option remove any additional permissions from that copy or from any part of it Additional permissions may be written to require Master Universitario Software Libre Trabajo Fin de Master 49 VisualDomo Control visual sobre dispositivos m viles para ODControl their own removal in certain cases when you modify the work You may place additional permissions on material added by you to a covered work for which you have or can give appropriate copyright permission Notwithstanding any other provision of this License for material you add to a covered work you may if authorized by the copyright holders of that material supplement the terms of this License with terms a Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License or b Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it or c Prohibiting misrepresentation of the origin of that material or requiring that modified versions of such material be marked in reasonable ways as different from the original version or d Limiting the use for publicity purposes of names of licensors or authors of the material or e Declining to grant rights under trademark law for use of some trade names trademarks or service marks or f Requiring indemnification of lic
10. and 2 tells the user that there is no warranty for the work except to the extent that warranties are provided that licensees may convey the work under this License and how to view a copy of this License If the interface presents a list of user commands or options such as a menu a prominent item in the list meets this criterion 1 Source Code The source code for a work means the preferred form of the work for making modifications to it Object code means any non source form of a work A Standard Interface means an interface that either is an official standard defined by a recognized standards body or in the case of interfaces specified for a particular programming language one that is widely used among developers working in that language The System Libraries of an executable work include anything other than the work as a whole that a is included in the normal form of packaging a Major Component but which is not part of that Major Component and b serves only to enable use of the work with that Major Component or to implement a Standard Interface for which an implementation is available to the public in source code form A Major Component in this context means a major essential component kernel window system and so on of the specific operating system if any on which the executable work runs or a compiler used to produce the work or an object code interpreter used Master Universitario Soft
11. creada y configurada estando enlazada a una red wifi determinada Conectada La localizaci n est asignada a la red wifi a la que el dispositivo m vil se encuentra conectado En esta situaci n es posible acceder al modo de visualizaci n Creaci n de localizaciones La creaci n de localizaciones permite la asignaci n de plantas la asignaci n de ODControls la ubicaci n de los puertos en las diferentes plantas y la personalizaci n de esos puertos Asignaci n de plantas La gesti n de las plantas se realiza en su totalidad desde el panel inferior de la ventana de creaci n Este panel puede obtenerse mediante la pulsaci n del s mbolo ubicado en la parte inferior de la ventana e A adir planta Cada una de las plantas se apoya en una imagen que representa el plano de esa planta Para a adirla es necesario pulsar sobre el del ltimo tem del panel Este bot n abre una ventana que permite la configuraci n de la planta Nivel Nivel de la planta comenzando en 0 En caso de que no se defina se asignar el nivel de la ltima planta definida m s 1 Nombre Nombre de la planta Por ejemplo s tano planta baja altillo Descripci n Descripci n de la planta Invertir colores Para una mejor visualizaci n invierte autom ticamente los colores de la imagen Selecciona imagen Permite al carga de una de las im genes almacenadas en la librer a del dispositivo NX Se aceptan varios formatos a la hora
12. mero de puertos es limitado luego seg n las necesidades de la instalaci n puede ser necesario utilizar para cada una de las localizaciones m s de un ODControl La configuraci n de cada ODControl se realiza accediendo mediante un navegador web a la direcci n IP asignada al controlador por defecto 169 254 0 15 lo que da acceso a la aplicaci n Configurator Desde ella es posible visualizar el estado de los puertos digitales de salida y de entrada pero tambi n podremos configurar los puertos ejecutar comandos o realizar tareas de mantenimiento cambio de IP s contrase as nombre etc Para simplificar la configuraci n ODControl permite el uso de plantillas predefinidas El usuario puede crear las que desee y posteriormente replicarlas en otros de sus ODControl o descargar desde el sitio web de OpenDomo aquellas que le resulten interesantes y que otros usuarios han compartido As por ejemplo si deseamos una instalaci n para el control de 8 puntos de luz plantilla que podemos encontrar en la web la configuraci n de los puertos asignar nombres a los puertos de entrada activarlos simplemente se reduce a cargar la plantilla Adem s de los puertos f sicos ODControl tambi n posee puertos virtuales Estos puertos permiten el almacenamiento de manera temporal o persistente de valores para ser utilizados posteriormente El valor que guardan puede venir calculado por alguna operaci n booleana O aritm tica entre otros dos puertos
13. n de una herramienta de codificaci n pensada para ese entorno web De entre las existente se ha elegido Brackets por varias razones e Desarrollo enfocado a tecnolog as web e Existente en varias plataformas MacOS Linux Windows M ster Universitario Software Libre Trabajo Fin de M ster 18 VisualDomo Control visual sobre dispositivos m viles para ODControl e Integraci n din mica con el navegador Chrome de tal manera que las modificaciones realizadas en el c digo son visualizadas en tiempo real Desarrollo inline de manera que se permite saltar directamente desde el c digo javascript O HTML de un elemento a su representaci n en CSS e Aplicaci n open source Por otra parte se encuentra en constante evoluci n con incorporaci n de nuevas caracter sticas y correcci n de errores cada dos o tres semanas Aunque muchas de las recomendaciones existentes a la hora de elegir IDE van dirigidas al uso de Eclipse ver siguiente apartado como apunte personal se considera que ha sido un buena elecci n ya que posiblemente sea el editor de tecnolog as web con mayor apoyo visual gracias a su integraci n din mica con el navegador Esa caracter stica ha permitido equilibrar el ritmo de trabajo ya que de partida los conocimientos en CSS eran menores al resto de tecnolog as usadas Eclipse Ya que la plataforma de destino inicial va a ser Android la instalaci n de Eclipse resulta muy adecuada por dos motivos Por u
14. n remota de p ginas web situadas en dispositivos externos Esta opci n resulta fundamental a la hora de trabajar en un proyecto de este tipo donde muchas de las opciones son generadas din micamente a trav s de las librer as Birdfont Una de las t cnicas m s habituales para facilitar la creaci n de aplicaciones Responsive consiste en el uso de fuentes tipogr ficas de iconos de manera que su tama o pueda ser cambiado con facilidad Eso ha llevado a la creaci n de una fuente denominada VisualDomo que incluye los elementos gr ficos utilizados en la aplicaci n Para su creaci n se ha utilizado el programa M ster Universitario Software Libre Trabajo Fin de M ster 19 VisualDomo Control visual sobre dispositivos m viles para ODControl Birdfont Entre sus caracter sticas m s importantes e Importaci n de svg e Facilidad de uso e Permite la exportaci n de fuentes a varios formatos e Es libre 1 Ten a Figura 13 BirdFont editando VisualDomo ttf Git GitHub Si el uso de un sistema de control de versiones es fundamental hoy dia en cualquier tipo de proyecto software en el caso de desarrollos libres es casi obligatorio Un sistema de control de versiones nos va permitir entre otras muchas cosas recuperar c digo perdido mantener varias versiones experimentar con nuevas caracter sticas sin interferir con el c digo de producci n o facilitar el trabajo en equipo Existen en el m
15. por la finalizaci n de un disparador d a fecha o cuenta atr s o el resultado de una operaci n de comparaci n donde el puerto virtual se activar 1 en caso de que la condici n sea cierta Por ltimo el ODControl posee una gran cantidad de comandos 1 que pueden ser ejecutados desde el propio Configurator o mediante llamadas externas al puerto 81 utilizando el protocolo HTTP Este tipo de comunicaci n va autenticada pero no cifrada por lo que nicamente resulta conveniente su uso en entornos controlados Como se ver a lo largo del desarrollo este va a ser el principal mecanismo de comunicaci n entre VisualDomo y ODControl 1 3 Estructura de la memoria Esta memoria se encuentra organizada de la siguiente manera e Objetivos se describen los objetivos que se pretenden alcanzar con la realizaci n del proyecto tanto a nivel funcional y t cnico como a nivel acad mico y personal e Planificaci n esquema de la planificaci n definida para la consecuci n de los objetivos planteados e Dise o se detallan los aspectos tenidos en cuenta para el desarrollo de la aplicaci n y se presentan los resultados obtenidos tras los an lisis previos e Herramientas se detallan las tecnolog as y herramientas utilizadas Implementaci n describe el desarrollo realizado tanto metodol gicamente como a nivel t cnico centr ndose en los principales problemas encontrados y las soluciones adoptadas en cada uno de ellos 1
16. 0Open y 58 Closed Author Labels Milestones Assignee Sort O GE Logo O g Conexi n OpenDomoOS ETJ g aora Localizaci n app akaneenent z aoira Borrado de ODControl SE E aoltra En visualizaci n no se debe ver el del panel de plantas EYJ g aott Asignaci n Desasignaci n wifi enhancement E aora Carga de proyectos reci n creados en las listas de selectLocal aiianesmani aoltra Noes posible crear dos localizaciones sin salir de la aplicaci n EY E aottra Factor visual en puertos g aoira Di logo de configuraci n de la aplicaci n ZJ g aottra Figura 14 Tareas Issues VisualDomo en GitHub Esta elecci n de la metodologia se basa en que proporciona diferentes velocidades de trabajo seg n en la fase en la que nos encontremos El primer problema con el que nos encontramos es el desconocimiento del producto ODControl y en gran medida de la tecnologia a aplicar Cordova Es por ello necesario dedicar una gran cantidad de tiempo a centrar adecuadamente el problema Posteriormente el problema principal pasa a ser la creaci n de una correcta planificaci n que permita alcanzar los objetivos adaptados a la disponibilidad existente asi como entrar ya en el detalle de los posibles problemas t cnicos que puedan surgir En esta situaci n es mas conveniente una metodologia SCRUM que ha permitido e Reaccionar con rapidez en caso de aparici n de errores no esperados o de planteamientos demasiado a
17. Es habitual encontrar respuestas asincronas en modelos supuestamente sincronos debido a que las llamadas a estos ltimos se realizan desde entornos as ncronos que es lo m s habitual Tanto por esta raz n como por dar mayor sensaci n de fluidez a una aplicaci n que por sus tecnolog as y dispositivos puede resultar lenta la implementaci n utilizada es la as ncrona Con el objetivo de mejorar el encapsulamiento y la reutilizaci n se crea un fichero FileHelper js que implementa el objeto helpFile con funciones para la creaci n recursiva de directorios borrado de directorios lectura de entradas de directorios etc Modelo de datos A la hora de almacenar la informaci n de cada localizaci n se utiliza un fichero en formato JSON de f cil lectura y escritura con las herramientas del framework El problema surgi con el almacenamiento de las im genes de cada una de las plantas de la misma La primera soluci n adoptada fue la de almacenar enlaces a las im genes existentes El objetivo era reducir el uso de espacio en dispositivos que en general cuentan con poca capacidad de almacenamiento y evitar de paso el proceso de estructuraci n y copia de los ficheros Este tipo de formato almacenaba correctamente pero por motivos de permisos no permit a leer si la imagen se encontraba fuera del mbito de acceso la aplicaci n lo que es la situaci n m s habitual M ster Universitario Software Libre Trabajo Fin de M ster 24 Visual
18. contradict the conditions of this License they do not excuse you from the conditions of this License If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations then as a consequence you may not convey it at all For example if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program 13 Use with the GNU Affero General Public License Notwithstanding any other provision of this License you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work and to convey the resulting work The terms of this License will continue to apply to the part which is the covered work but the special requirements of the GNU Affero General Public License section 13 concerning interaction through a network will apply to the combination as such 14 Revised Versions of this License The Free Software Foundation may publish revised and or new versions of the GNU General Public License from time to time Such new versions will be similar in spirit to the present version but may differ in detail to address new problems or concerns Each version is given a distinguishing version number If the Program spe
19. de manual de usuario Licenciado bajo GPL v3 0 Opcionales La aplicaci n permitir trabajar con varias localizaciones si bien al mismo tiempo nicamente con una de ellas Aplicaci n SDI Single Document Interface Soporte para localizaci n que en este caso se centrar nicamente en el idioma Al menos dar soporte para dos lenguas castellano e ingl s M ster Universitario Software Libre Trabajo Fin de M ster 8 VisualDomo Control visual sobre dispositivos m viles para ODControl 3 2 Actores de la aplicaci n Los ODControl permite el acceso de dos actores user y admin admin se encarga de las configuraciones avanzadas del controlador alejadas de las funcionalidades descritas para VisualDomo por lo que para nuestro contexto nicamente utilizaremos el primero de ellos user En principio no se considera la creaci n desde ODControl de otro actor diferente a los existentes Esta especificaci n implica que el acceso desde VisualDomo a ODControl se deber dar una vez estos ltimos se encuentren instalados y configurados correctamente en la localizaci n 3 3 Casos de uso A partir de los actores y de los objetivos podemos crear el diagrama de casos de uso Modo USO Modo CONFIGURACI N Figura 4 Diagrama de casos de uso Nuestro nico actor user puede trabajar en dos modos e Modo Visualizaci n Ser el modo de trabajo habitual Desde l se podr visualizar el estado de los dispositivos y
20. effected by exercising rights under this License with respect to the covered work and you disclaim any intention to limit operation or modification of the work as a means of enforcing against the work s users your or third parties legal rights to forbid circumvention of technological measures 4 Conveying Verbatim Copies You may convey verbatim copies of the Program s source code as you receive it in any medium provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice keep intact all notices stating that this License and any non permissive terms added in accord with section 7 apply to the code keep intact all notices of the absence of any warranty and Master Universitario Software Libre Trabajo Fin de Master 47 VisualDomo Control visual sobre dispositivos m viles para ODControl give all recipients a copy of this License along with the Program You may charge any price or no price for each copy that you convey and you may offer support or warranty protection for a fee 5 Conveying Modified Source Versions You may convey a work based on the Program or the modifications to produce it from the Program in the form of source code under the terms of section 4 provided that you also meet all of these conditions a The work must carry prominent notices stating that you modified it and giving a relevant date b The work must carry prominent notices stating that it is released und
21. espera que junto con la publicaci n del c digo el blog facilite la labor de hacer crecer el desarrollo una vez el TFM sea presentado e Publicaci n en las principales tiendas electr nicas de aplicaciones Google Play App Store Anivel personal con el desarrollo de VisualDomo se busca e Adquirir conocimientos sobre dispositivos dom ticos e Adquirir conocimientos t cnicos sobre la creaci n de aplicaciones multiplataforma para dispositivos m viles e Mejorar los conocimientos sobre el uso de bibliotecas javascript de apoyo al desarrollo web y de librer as de apoyo al dise o de interfaces web e Poner en pr ctica todos los conocimientos relacionados con los m todos de ingenier a del Software tanto para las fases de dise o como en las de implementaci n control de versiones y documentaci n 2 www uhurulabs com tag visualdomo M ster Universitario Software Libre Trabajo Fin de M ster 5 VisualDomo Control visual sobre dispositivos m viles para ODControl 2 2 Planificaci n El desarrollo del Trabajo Fin de M ster se ha divido en seis fases no necesariamente secuenciales Las dos primeras han ocupado el primer semestre y tienen un claro car cter de aprendizaje y an lisis Las cuatro restantes tienen un car cter m s pr ctico y conforman el grueso de la implementaci n y pruebas La duraci n del proyecto ha sido un a o acad mico Febrero de 2014 Enero 2015 Fase 1 Estudio preliminar Definici
22. est haciendo en cada momento 0 5 Facilidad para hacer lo que se desea en cada momento 0 5 Control de posibles errores el sistema impide que se realicen tareas que provocar an error 0 5 M ster Universitario Software Libre Trabajo Fin de M ster 29 VisualDomo Control visual sobre dispositivos m viles para ODControl Facilidad y eficiencia de uso 0 5 Est tica 0 5 Documentaci n y ayuda 0 5 Impresi n general Mejoras sugeridas Obviamente con la muestra analizada los resultados obtenidos no poseen una gran fiabilidad pero al menos s permit an obtener alguna que otra conclusi n Por ejemplo todos los usuarios se quejaron de la forma de actuar del bot n de apertura del panel de plantas En los sistemas Android se confund a con el bot n de acceso a la pantalla de inicio o incluso a Google Now Se opto realizar por una peque a modificaci n que lo ubicaba a la izquierda M ster Universitario Software Libre Trabajo Fin de M ster 30 VisualDomo Control visual sobre dispositivos m viles para ODControl 7 Resultados y conclusiones 7 1 Resultados Posiblemente la mejor manera de valorar el estado final del proyecto sea su contrastaci n con los objetivos indicados en el cap tulo 2 Y Realizado al 100 X Norealizado No realizado al 100 En cuanto a la implementaci n de la aplicaci n Y Localizar o permitir configurar los posibles O
23. in the same way through the same place at no further charge You need not require recipients to copy the Corresponding Source along with the object code If the place to copy the object code is a network server the Corresponding Source may be on a different server operated by you or a third party that supports equivalent copying facilities provided you maintain clear directions next to the object code saying where to find the Master Universitario Software Libre Trabajo Fin de Master 48 VisualDomo Control visual sobre dispositivos m viles para ODControl Corresponding Source Regardless of what server hosts the Corresponding Source you remain obligated to ensure that it is available for as long as needed to satisfy these requirements e Convey the object code using peer to peer transmission provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d A separable portion of the object code whose source code is excluded from the Corresponding Source as a System Library need not be included in conveying the object code work A User Product is either 1 a consumer product which means any tangible personal property which is normally used for personal family or household purposes or 2 anything designed or sold for incorporation into a dwelling In determining whether a product is a consumer product doubtful cases shall b
24. manera el producto pas a denominarse Apache Cordova y PhoneGap a ser una distribuci n de l A d a de hoy la nica diferencia es el servicio de compilaci n en la nube que PhoneGap ofrece 4 2 JQuery Mobile Como acabamos de comentar la posibilidad de disponer de una librer a que nos permita simplificar la implementaci n tanto del interfaz gr fico como la integraci n de la p gina con el dispositivo m vil es una idea que m s que ser meramente pr ctica se antoja casi fundamental De la misma manera que surgi JQuery para simplificar el desarrollo web y homogeneizar el trabajo con varios navegadores con la aparici n de los dispositivos m viles y las nuevas necesidades en la representaci n e interacci n con las p ginas web desde ellos se hace necesaria la aparici n de nuevas librer as que contemplen estas funcionalidades Estas librer as no s lo nos permiten adaptarnos a dichos escenarios si no que poseen widgets espec ficos que simulan los controles habituales de los dispositivos compatibles A la hora de elegir la librer a a utilizar existen varias posibilidades en el mercado La elecci n resulta casi con total seguridad una de las m s complicadas ya que muchas de ellas est n muy bien integradas con Cordova y poseen caracter sticas muy interesantes Aun as posiblemente los dos m s utilizadas sean Sencha Touch 2 y JQuery Mobile Se realizaron algunas pruebas en las primeras fases del desarrollo de las que se o
25. n de la idea objetivos del proyecto Estudio de los sistemas ODControl de OpenDomo Estudio del framework de desarrollo Cordova PhoneGap An lisis de requisitos y limitaciones Definici n de recursos necesarios Fase2 Dise o de la aplicaci n Dise o funcional Dise o l gico Creaci n de mockups Fase 3 Implementaci n de la aplicaci n Elecci n de la metodolog a de trabajo a aplicar Planificaci n de las fases de implementaci n Instalaci n y configuraci n de las herramientas de desarrollo Test diarios Fase 4 Pruebas en fase beta Realizaci n de pruebas de rendimiento en distintas plataformas f sicas l gicas Realizaci n de pruebas funcionales An lisis de resultados Fase 5 Publicaci n Creaci n del v deo de presentaci n de la aplicaci n Redacci n memoria Publicaci n del c digo para uso de la comunidad Documentaci n usuario ayuda Documentaci n desarrollador Creaci n de un sistema de control de errores aviso redacci n Creaci n foros de comunicaci n entre usuarios Publicaci n de la app en tiendas digitales Fase 6 Mantenimiento y mejora M ster Universitario Software Libre Trabajo Fin de M ster 6 VisualDomo Control visual sobre dispositivos m viles para ODControl GANTT HD S 2014 2015 project TD Dan r febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre enero
26. A II ee 37 ERI EELEE ENA a AA a ad a a EB e da dd a E E RRA 39 DAMOS A oo ae ci n 40 9 1 Anexo Manual de USUALIIO cccoccccncccnccnnncnnncnonanonnncnnnnonnnna nono nora nano nonnn nana DER nana EEEE EnEn nena 40 OA UC e O 40 Modos de fUNCIONAMICNHO ccecccceccccccceececueeceeeeaeeeeeueeeueeeeueeeueeeeuueeueueeueeeuceeeueeeueeeeueeneeenens 40 Estados de VisualDomo OperatiVidad oooooocccccoconoooonccnonononcnnnonnnnnnnnnnn nn rn nn nnnnnrnnnrnrrrnnnnnnnn 40 Estado demna JOCalizaci N E iS 41 Creaci n de localizaciones es enna a a a a e A A aa Patos to Dado frio A 41 Configuraci n de la OCA UIZACI Ns o cit 43 Grabaci n de la loCaliZaci nN oooooncccnnonccnnnnncnnnncnnnnnncnanonacnn ona nano ERRA DER REDE non cnn nn nana nnnncna nan 44 Configuraci n a A A ROO 44 Enlaza a ania EI cnt e dados 8 a o 44 A A a Aa aa A Den 44 VISUAIIZAGIO Ns tt li ta 44 Configuraci n de la APICAL A ita 45 9 2 ANeXxoO Jl Cen Clarion a ni lito acacia 46 10 Referencias y DION OQ Macas iia 54 ndice de figuras Esquema ejemplo controlador Pres ui At 1 OOD COMMON RRA a a a Neg ca wr sd reader E ee Re A a OEE R A cates 2 Diagrama Gantt planitiGachOn ooo le 7 Diagrama de casos de USO nosni eor n rga diag Ad dn o das 9 Diagrama de actividades InicialiZaci n oooooccccccinnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnrnnnnnnnnnos 10 Diagrama de actividades Visualizar PUCIIOS 2 eee aas a aa tet e teeter eee eeee
27. DControl existentes Aunque el objetivo m nimo especificaba una de las dos opciones la localizaci n autom tica realizar un broadcast a todo la red local no se ha implementado Permitir cargar planos de la localizaci n a controlar Ubicar en los planos los distintos dispositivos a controlar Guardar las configuraciones para simplificar futuros accesos Visualizar el estado de los puertos de entrada ya sean digitales o anal gicos SISISISIS Modificar el estado de los puertos de salida En el mbito transversal v Localizaci n espa ol e ingl s Dise o responsable Se ha aplicado dise o responsable en algunas de las pantallas pero el objeto en s de la aplicaci n hace bastante complejo el aplicarlo en todas ellas Posiblemente m s que un dise o responsable deber a ser una funcionalidad responsable de tal manera que en la versi n para dispositivos de pantalla m s peque a ciertas funcionalidades no existieran Y Se tendr especial cuidado en conseguir alta usabilidad Como se comenta en el apartado de Control de calidad y pruebas ser a necesario un volumen de encuestas mayor para poder asegurar una correcta usabilidad Otros objetivos Y Publicaci n del c digo en GitHub Y Documentar el c digo en ingl s y de tal manera que simplifique la continuidad del trabajo por parte de otros usuarios Seguimiento del proyecto mediante el des
28. Domo Control visual sobre dispositivos m viles para ODControl Al final se opt por ampliar el formato de almacenamiento a un fichero m s un directorio donde se almacenan copias de las im genes originales Este desarrollo ha implicado una mayor dedicaci n pero permite dar m s independencia al sistema Acceso a galer a Independientemente de la forma de almacenamiento tambi n es necesario implementar la manera de acceder al sistema de ficheros para obtener tanto las localizaciones como las im genes Pensando en las im genes en un principio se opt por crear un di logo de acceso al sistema pero posteriormente se prefiri optar por utilizar el plugin camera que adem s de permitir el control de la c mara del dispositivo permite el acceso directo a toda la galer a del sistema lo que permite disponer no s lo de im genes obtenidas por la c mara sino de las generadas por otro tipo de aplicaciones Almacenamiento de la configuraci n de la aplicaci n A la hora de almacenar los datos de configuraci n de VisualDomo se opta por la definici n un objeto Settings con los elementos a guardar y el almacenamiento directo de manera persistente mediante ocalStorge 3 la tabla VDSettings 5 5 GUI JQuery Mobile proporciona una colecci n de funciones para la creaci n del interfaz gr fico de la aplicaci n incluyendo los widgets habituales como botones listas etc Su aplicaci n resulta sencilla pero no est exenta de problem
29. E PROGRAM IS WITH YOU SHOULD THE PROGRAM PROVE DEFECTIVE YOU ASSUME THE COST OF ALL NECESSARY SERVICING REPAIR OR CORRECTION 16 Limitation of Liability IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER OR ANY OTHER PARTY WHO MODIFIES AND OR CONVEYS THE PROGRAM AS PERMITTED ABOVE BE LIABLE TO YOU FOR DAMAGES INCLUDING ANY GENERAL SPECIAL INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES 17 Interpretation of Sections 15 and 16 If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee END OF TERMS AND CONDITIONS Master Universitario Software Libre Trabajo Fin de Master 53 VisualDomo Control visual sobre dispositivos m viles para ODControl 10 Referencias y bibliografia 1 Palenzuela Oriol Lerch Daniel Comandos ODControl 2014 http www opendomo com w
30. Si se desea realizar el control de manera remota es decir a trav s de internet es muy recomendable utilizar OpenDomo Lightweight Encryption Protocol ODLEP 2 Master Universitario Software Libre Trabajo Fin de Master 3 VisualDomo Control visual sobre dispositivos m viles para ODControl e Control de calidad y pruebas muestra las diferentes pruebas que se han llevado a cabo durante el proceso de creaci n para obtener un producto dentro de un rango admisible de calidad e Resultados y conclusiones se muestran una serie de tablas con mediciones objetivas sobre el resultado obtenido as como una valoraci n de personal y una perspectiva de futuro e Vocabulario explicaci n de algunos de los de conceptos comentados a lo largo de la memoria Anexos manual de usuario de la aplicaci n y licencia bajo la que est protegido e Bibliograf a listado de las referencias bibliogr ficas y p ginas de la red mencionadas en el documento o utilizadas como documentaci n M ster Universitario Software Libre Trabajo Fin de M ster 4 VisualDomo Control visual sobre dispositivos m viles para ODControl 2 Objetivos 2 1 Objetivos El objetivo principal es la creaci n de una aplicaci n de c digo abierto para el control visual de una localizaci n domotizada controlada por uno o varios ODControl Dicha aplicaci n debe ser compatible con la gran mayor a de dispositivos m viles independientemente de su plataforma o modelo Es
31. a eos AA Ada soa teto aid 9 3 4 DISE O TUNCIONA fe ae AA A A AAA A IU A 10 AAA A A DE AA T A AA EA AE Da DA DADE LE ae A e A ALE a bese 10 Vis alizar PUBIS coda A nate Rabe teak kena A 11 Modificar PUCMOS eiii oriol add 11 Configurar DUC CONN o RR RED DD RR SEE EEEE EEEE EEEE 11 3 5 MOS AT E O A A A eats A ota A O O E 13 Visualizaci n modificaci n de PUCILOS 0 eect eeeeeeeeee eee eeeeeeeeeeeeeeaaeeeeeeteneeeeeeeeeenaaaes 13 Configuraci n IOCAlIZACION siete fugas cin Wot Ca OA italia 14 Configuraci n aplicaci n mulata daa ito iia 14 Enlace selecci n de localiZaciOnes oooocccnnnncccccnnnncnnnncccnnnnnanencncnnnnnnnnnrr nn nn nnnne rra 15 A RO O 16 4 1 Phone Gap atada AA RA A A A AT AA AA AA e a ATO i 16 142 IQUEN MODO us ena Meditate ads TA AA ti a 17 4 S ENtOrnO de Madarcos cd bdo ei aida Doa 18 OSX Mavericks sists ina ii paa niin Aid 18 Brackets aa anada a IA N scan AO AO 18 ESO AA A A AA EO los tite aa sale Nata cals A A tated a fe eed ada ciel ARA ANDAS 19 Emulador dispositivo ANdrol duo aa aa aa aa a aa aa Give cedro 19 ELO LAN A A E A A NEREA E E E 19 Bidasoa a o ada 19 GVGH Ub cae AMAT A rias 20 Mi AA dA E O de a dance nee A dO a ED 21 5 IMplementaci n mi Trava puta Dada eater O Ree UNE AM UNA DN A E UNO Eu ARPA UI 22 A dO O GA a AA A A A O 22 A NN 23 5 3 ESUUCUUNA usa a ds 24 5 4 Acceso al sistema de fiCNerOS ccccceccccccce cece ee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeesaaaeeaaaaceeseeeeeeeeeee
32. arrollo de un blog Posiblemente se hayan podido hacer m s post de los existentes especialmente para tratar temas t cnicos M ster Universitario Software Libre Trabajo Fin de M ster 31 VisualDomo Control visual sobre dispositivos m viles para ODControl X Publicaci n en las principales tiendas electr nicas de aplicaciones Se descarta esta opci n ya que la aplicaci n requiere de una mayor madurez para poder ser promocionada a producci n A nivel personal los objetivos quedan claramente satisfechos Y Adquirir conocimientos sobre dispositivos dom ticos Y Adquirir conocimientos t cnicos sobre la creaci n de aplicaciones multiplataforma para dispositivos m viles Y Mejorar los conocimientos sobre el uso de bibliotecas javascript de apoyo al desarrollo web y de librer as de apoyo al dise o de interfaces web Y Poner en pr ctica todos los conocimientos relacionados con los m todos de ingenier a del Software tanto para las fases de dise o como en las de implementaci n control de versiones y documentaci n Evoluci n de los mockups Resulta interesante echar la vista atr s y comparar lo mockups iniciales de cada una de las pantallas con los resultados finales Se puede observar que aunque no son del todo fieles debido a las propias evoluci n que ocurren en el d a a d a si que tiene siguen manteniendo la misma idea Pantalla de configuraci n 1 ODC
33. as Por ejemplo la creaci n de los cuadros de di logo para solicitar a los usuarios cierto tipo de informaci n result muy problem tica al entrar en conflicto varios de los valores del dise o propio con los heredados desde CSS Hubo Que realizar varias depuraciones para conseguir conciliar ambos funcionamientos Otro de los problemas surge al querer simular llamadas a cuadros de di logo desde los men s de la parte superior Tanto los men s como los cuadros de di logo se implementan con el widget popup y Jquery Mobile impide la llamada desde un popup a otro Para solucionarlo se ha tenido que capturar el evento de cierre del popup esperar cierto tiempo y lanzar manualmente el cuadro de di logo popupafterclose function setTimeout function popup conf location popup open 100 config menu off popupafterclose Responsive Design El motivo principal de utilizar Cordova para el desarrollo de la aplicaci n es claramente la posibilidad de trasladar a muchas plataformas la aplicaci n con poco esfuerzo Pero aunque generalmente nos estamos refiriendo a plataformas software esta claro que la fragmentaci n existente en cuanto a los dispositivos hardware dentro de una misma plataforma afecta tambi n y mucho a la hora de poder ejecutar en condiciones la aplicaci n Master Universitario Software Libre Trabajo Fin de Master 25 VisualDomo Control visual sobre dispositivos m viles para ODControl
34. btuvieron las siguientes conclusiones JQM Respuesta a las acciones aceptable en sistemas Android y buena en iOS Complejidad a la hora de simular los widgets nativos de Android sin librer as de terceros Desde el punto de vista personal facilidad de aprendizaje ya que est basada en Jquery Sencha Touch Widgets mucho m s adaptados a cada uno de los entornos Respuesta a las acciones buena en sistemas Android y buena en OS Personalmente m s compleja de aprender ya que se parte de cero M ster Universitario Software Libre Trabajo Fin de M ster 17 VisualDomo Control visual sobre dispositivos m viles para ODControl Dado que los rendimientos obtenidos era aceptables en ambos sistemas que se pretend a dise ar el interfaz desde cero sin tener en cuenta los elementos nativos y que el tiempo era un factor muy importante la decisi n se centr en la facilidad de aprendizaje por lo que se opt por el uso de JQuery Mobile Entre sus caracter stica tenemos e Temas personalizados El framework permite el uso de temas ya creados y da la posibilidad de crear nuevos temas y trabajar con ellos Tama o reducido Toda la librer a comprimida pesa menos de 12K e Facilidad de uso e Multiples plataformas iOS Android Blackberry Palm WebOS Symbian Windows Mobile etc e Soporte HTML5 e Open source bajo licencia MIT 4 3 Entorno de trabajo Adem s de la elecci n de la tecnolog a de apoyo para la creaci n de p
35. bytes Tama o c digo HTML 26 610 bytes Tama o c digo XML 574 bytes Master Universitario Software Libre Trabajo Fin de Master 34 VisualDomo Control visual sobre dispositivos m viles para ODControl Tama o c digo Java 2 607 bytes Tama o documentaci n 17 847 bytes Tama o total 199 063 N mero de funciones Javascript 86 7 3 Dedicaci n Se ha realizado una medici n de las horas dedicadas al desarrollo del proyecto a lo largo de las fases del mismo Como se puede observar la dedicaci n ha sido irregular aunque con bastante trabajo en los meses de verano donde se crearon las l neas generales de la implementaci n y en los meses finales Fase Dedicaci n h Fase 1 Estudio preliminar 55 Fase2 Dise o de la aplicaci n 15 Fase 3 Implementaci n de la aplicaci n 313 Fase 4 Pruebas en fase beta 18 Fase 5 Publicaci n 25 Totales 426 Si nos centramos nicamente en la implementaci n un seguimiento m s concreto puede hacerse observando las gr ficas de uso que GitHub proporciona En ellas se puede observar el periodo de codificaci n con los pico en poca de m xima disponibilidad 7 4 Valoraci n personal Conocimientos aplicados En el desarrollo del proyecto se han aplicado varios de los conocimientos adquiridos en el M ster especialmente las de aquellas asignaturas de reas relacionadas con la programac
36. cifies that a certain numbered version of the GNU General Public License or any later version applies to it you have Master Universitario Software Libre Trabajo Fin de Master 52 VisualDomo Control visual sobre dispositivos m viles para ODControl the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation If the Program does not specify a version number of the GNU General Public License you may choose any version ever published by the Free Software Foundation If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used that proxy s public statement of acceptance of a version permanently authorizes you to choose that version for the Program Later license versions may give you additional or different permissions However no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version 15 Disclaimer of Warranty THERE IS NO WARRANTY FOR THE PROGRAM TO THE EXTENT PERMITTED BY APPLICABLE LAW EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND OR OTHER PARTIES PROVIDE THE PROGRAM AS IS WITHOUT WARRANTY OF ANY KIND EITHER EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF TH
37. de seleccionar la imagen de la planta jpg bmp gif png Para una mejor visualizaci n es recomendable el uso de un formato con transparencias como PNG Edici n de plantas La edici n de plantas se realiza desde la barra de herramientas de plantas que se puede obtener pulsando durante cierto tiempo sobre la planta en el panel inferior Esta barra permite Borrar la planta Configurar planta Muestra el cuadro de di logo de configuraci n ver apartado M ster Universitario Software Libre Trabajo Fin de M ster 41 VisualDomo Control visual sobre dispositivos m viles para ODControl A adir planta Cambiar de nivel Desplazando la planta a la derecha bajar nivel o izquierda subir nivel Selecci n de planta Para ubicar la planta en el panel central nicamente es necesario pulsar sobre ella Asignaci n de ODControl La gesti n de los ODControl se realiza desde el panel izquierdo de la ventana de creaci n Este panel puede obtenerse mediante la pulsaci n del bot n ODControl n situado a la izquierda de la cabecera En el bot n n indica el n mero de ODControl a adidos a la localizaci n A adir ODControl Para a adir un ODControl hay pulsar sobre el bot n A adir ODC situado en el panel izquierdo Este bot n abre una ventana que permite la configuraci n del ODControl IP Direcci n IP del ODControl Usuario Usuario con permisos de acceso al ODControl Contrase a Contrase a del usuario
38. desea que alg n puerto desaparezca o aparezca en el listado debe realizar la correspondiente configuraci n desde el interfaz gr fico de configuraci n del ODControl Cada uno de los tems de la lista define un puerto mediante el formato 7 anal gico digital 2 8 entrada salida nombre 9 ubicado no ubicado 3 amp amp B8 2 funci n Ubicaci n de puertos Para ubicar un puerto en la planta actual nicamente hay que pulsar sobre el nombre del puerto Esta acci n colocar el puerto en el centro de la planta En ese instante el icono 9 aparecer en la entrada del puerto en la lista del panel izquierdo Nm la representaci n de un puerto es un icono especificando su funcionalidad Ver apartado Configuraci n de puertos Para ubicar el puerto en la posici n deseada simplemente hay que pulsar sobre l y desplazarlo suavemente sobre la imagen de la planta Eliminaci n de puertos Para eliminar un puerto de su ubicaci n en planta simplemente pulse sobre el icono 9 desde la lista de puertos en el panel izquierdo Configuraci n de puertos La configuraci n de puertos permite la definici n de la funcionalidad del puerto as como del texto que acompa a a la representaci n visual Se realiza desde un cuadro de di logo al que se accede pulsando sobre el icono de funcionalidad ltimo icono del puerto en la lista de puertos Si no se ha definido ninguna funcionalidad se muestra el icono por defec
39. digo principal desarrollado separando por una parte Javascript y por otra CSS El c digo se estructura en varios ficheros que podr amos diferenciar en tres tipos e Definici n de objetos Encapsulan la funcionalidad de los objetos b sicos de la aplicaci n como son la Localizaci n el ODControl los Puertos o la Planta e Definici n de pantallas Encapsulan la funcionalidad de las pantallas no cuadros de di logo de la aplicaci n en este caso la ventana principal la de selecci n de localizaciones o enlaces y visualizaci n e Helpers Encapsulan funcionalidades de ayuda en distintos aspectos como el dibujo o el acceso al sistema de ficheros Se encuentran en el carpeta www s helpers 5 4 Acceso al sistema de ficheros Cordova a trav s de la API file access de HTML5 permite el acceso al sistema de ficheros del dispositivo de manera que podemos crear editar y o borrar elementos Las primitivas proporcionadas por esta API son relativamente b sicas y en caso de accesos m s O menos complejos es necesario construir funciones a partir de ellas La librer a permite el acceso a los ficheros de manera s ncrona y as ncrona El modo s ncrono es a priori m s sencillo de implementar y de entender pero en la pr ctica resulta muy confuso En un escenario y con unas tecnolog as claramente pensadas para el entorno as ncrono introducir una funcionalidad sincrona resulta peligroso si no se tiene muy bien acotada la zona de actuaci n
40. digo que pueden resultar problem ticas as como elementos del mismo que no siguen un formato adecuado para facilitar su legibilidad El c digo pasa el test con un 98 de acierto El 2 restante hace referencia a zonas donde se han utilizado alg n truco controlado para aligerar el c digo 6 5 Pruebas de usabilidad A la hora de realizar pruebas de usabilidad se ha utilizado un m todo de evaluaci n de pruebas de usuarios Este tipo de pruebas involucran al usuario y permiten identificar problemas de usabilidad que se presentan durante el uso del sistema Existen varios procedimientos casi todos ellos basados en la elaboraci n de un cuestionario generalmente con las opciones S no no sabe que el usuario va respondiendo a medida que va interaccionando con el sistema Desgraciadamente este proceso requiere de mucha planificaci n y mucho volumen de informaci n para que el resultado sea representativo requerimientos que son complicados de alcanzar aunque aun as se ha podido detectar alg n error que ha podido ser modificado La encuesta se pas con la primera versi n beta 0 4 2 a tres personas que previamente fueron instruidas sobre la funcionalidad de los ODControl A todas ellas se le solicit la siguiente informaci n Tipo de dispositivo m vil Sistema Operativo Tama o de pantalla Fluidez del programa general 0 5 Carga Visualizaci n Edici n Conocimiento de que se
41. e JUOC Trabajo Fin de M ster M ster Universitario en Software Libre Desarrollo de aplicaciones de Software Libre Control dom stico visual desde Android VisualDomo Autor Alfredo Oltra Orengo Consultor Gregorio Robles Mart nez Tutor externo Oriol Palenzuela i Ros s Empresa asociada OpenDomo Services S L Enero 2015 Publicaci n Versi n 0 99 150103 Fecha 3 de enero de 2015 Documentaci n generada con e Sistema operativo e Suite ofim tica Edici n de im genes e Planificaci n de proyectos e Dise o diagramas UML e Screencast Copyright Alfredo Oltra Orengo MacOS Mavericks LibreOffice 3 6 es libreoffice org GIMP gimp org Gantt Project 2 6 ArgoUML Screen Recorder Licencia Creative Commons Esto es un resumen f cilmente legible del texto legal la licencia completa Usted es libre de Compartir copiar distribuir y comunicar p blicamente la obra y Derivar hacer obras derivadas Bajo las condiciones siguientes Reconocimiento debe reconocer los cr ditos de la obra de la manera especificada por el autor o el licenciador pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra Compartir bajo la misma licencia si transforma o modifica esta obra para crear una obra derivada s lo puede distribuir la obra resultante bajo la misma licencia una similar o una compatible Entendi ndose que Exoneraci n cualquiera de es
42. e resolved in favor of coverage For a particular product received by a particular user normally used refers to a typical or common use of that class of product regardless of the status of the particular user or of the way in which the particular user actually uses or expects or is expected to use the product A product is a consumer product regardless of whether the product has substantial commercial industrial or non consumer uses unless such uses represent the only significant mode of use of the product Installation Information for a User Product means any methods procedures authorization keys or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made If you convey an object code work under this section in or with or specifically for use in a User Product and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term regardless of how the transaction is characterized the Corresponding Source conveyed under this section must be accompanied by the Installation Information But this requirement does not apply if neither you nor any t
43. eeeeeeeeeeeee a aa E DD E DD DD DR DD eat 11 Diagrama de actividades Modificaci n de puertOS oooocccnnnncococcccnocononcncnnnonannoncnnnnnnnnn cnc nnnnnnnnnnnnn 12 Diagrama de actividades Configurar ApliCACiON cceceeneccccceeeeeeeeeeeeeeeeceeseeseeneseeeeeaeeeeeeeenenes 12 M ckup modo CONTIQUFACIOR ss ii E AAA A AE 14 Mockup pantalla de configuraci n dla 15 Mockup pantalla selecci n enlace oooonocccinnnnnccccnnnnncnnnccnnnnnnnnnenoncnonnnnnnennnnnnnnnnnn nn nen nnnne nn nn rra 15 Arquitectura PRONESAPICO IVA as 16 BirdFont editando Visual DO MO scsi llas 20 Tareas Issues VisualDomo en GIHUD aii in id da 22 Hitos milestones VisualDOMO en GiHUD cccoosooosios nitrilo ra 23 Visual DOMO OOO viii a eee 27 VisualDOomo 900 Y TEXTO ati NS A ci eater e DAR ai 27 Pantalla de Configuraci n l en a A DEA ede a ei 32 Pantalla de configuraci n Dist e pre 33 Pantalla de enlace Selecionar A AGS A hae aaa 33 Pantalla de ViSUaliZaci n copan prat ido a ea 34 Gr fico de contribuciones en GitHub ho cost aa saiemect dmsnn cies ees DD DER DR RR REED ED DD RD DD DER RR RD show DD ndo 36 VI VisualDomo Control visual sobre dispositivos m viles para ODControl 1 Introducci n 1 1 OpenDomo Este Trabajo Fin de Master se realiza en colaboraci n con OpenDomo Services S L una empresa dedicada a la investigaci n desarrollo instalaci n y mantenimiento de productos especialmente aplicados al control de instalacion
44. ejemplo controlador IP Master Universitario Software Libre Trabajo Fin de Master 1 VisualDomo Control visual sobre dispositivos m viles para ODControl El controlador IP C IP est conectado mediante Ethernet a un modem router que por una parte da salida entrada a internet y por otra funciona como punto de acceso WiFi Adem s el C IP conecta una de sus salidas a un rel R1 que hace las funciones de interruptor y que a su vez estara conectado a la fase y al punto de luz a controlar Dicho control apagado encendido se podr realizar desde el dispositivo m vil ODControl ODControl es el controlador IP que comercializa OpenDomo Services S L En el momento de desarrollo del proyecto OpenDomo Services S L tiene disponibles dos versiones la 1 y la 2 Figura 2 ODControl Para nuestro objetivo no es necesario entrar en detalle en varias de las especificaciones t cnicas de cada una si bien es interesante saber las funcionalidades de ambos productos especialmente en la versi n 2 que es en la que nos centraremos en un primer momento ODControl 1 ODControl 2 N mero de salidas digitales 8 N mero de salidas digitales 8 N mero de entradas anal gicas 8 N mero de entradas 2 anal gicas Bus IP RJ45 1 Bus IP RJ45 1 Puertos virtuales 48 Puertos virtuales 61 N M ster Universitario Software Libre Trabajo Fin de M ster VisualDomo Control visual sobre dispositivos m viles para ODControl Obviamente el n
45. en aquellos que lo permitan modificarlo Para poder utilizarse ser necesario disponer de conexi n a la red de los ODControl e Modo Edici n Permite la configuraci n de VisualDomo No requiere necesariamente la conexi n a la red de los ODControl pero si es recomendable para evitar posibles futuros errores Su funciones son definir cargar los planos de cada planta de la localizaci n ubicar los dispositivos en ella y por ltimo asociar dichos dispositivos a los puertos de los ODControl disponibles M ster Universitario Software Libre Trabajo Fin de M ster 9 VisualDomo Control visual sobre dispositivos m viles para ODControl 3 4 Dise o funcional A la hora de realizar el dise o funcional estudiamos cuatro posibles estados de la aplicaci n inicializaci n visualizar puertos modificar puertos y configurar aplicaci n mostrando para cada uno de ellos su diagrama de actividades Inicializaci n Como se comenta en los requisitos m nimos VisualDomo debe trabajar conectado a la red donde se encuentran los ODControl por lo que el primer paso ser obtener el SS D de la red y en caso de ser una red conocida cargar la configuraci n asociada Si la red es desconocida o no hay configuraci n asociada se pasar al modo configuraci n o se descarta la ejecuci n En el modo configuraci n se podr n definir las plantas cargar los planos ubicar dispositivos y enlazarlos con los puertos correspondientes de cada ODControl Una
46. ensors and authors of that material by anyone who conveys the material or modified versions of it with contractual assumptions of liability to the recipient for any liability that these contractual assumptions directly impose on those licensors and authors All other non permissive additional terms are considered further restrictions within the meaning of section 10 If the Program as you received it or any part of it contains a notice stating that it is governed by this License along with a term that is a further restriction you may remove that term If a license document contains a further restriction but permits relicensing or conveying under this License you may add to a covered work material governed by the terms of that license document provided that the further restriction does not survive such relicensing or conveying If you add terms to a covered work in accord with this section you must place in the relevant source files a statement of the additional terms that apply to those files or a notice indicating where to find the applicable terms Additional terms permissive or non permissive may be stated in the form of a separately written license or stated as exceptions the above requirements apply either way 8 Termination You may not propagate or modify a covered work except as expressly provided under this License Any attempt otherwise to propagate or modify it is void and will automatically terminate your rights und
47. er this License including any patent licenses granted under the third paragraph of section 11 However if you cease all violation of this License then your license from a particular copyright holder is reinstated a provisionally unless and until the copyright holder explicitly and finally terminates your license and b permanently if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation Moreover your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means this is the first time you have received notice of violation of this License for any work from that copyright holder and you cure the violation prior to 30 days after your receipt of the notice Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License If your rights have been terminated and not permanently reinstated you do not qualify to receive new licenses for the same material under section 10 Master Universitario Software Libre Trabajo Fin de Master 50 VisualDomo Control visual sobre dispositivos m viles para ODControl 9 Acceptance Not Required for Having Copies You are not required to accept this License in order to receive or run a copy of the Program Ancillary propagation of a covered work occurring solely as a c
48. er this License and any conditions added under section 7 This requirement modifies the requirement in section 4 to keep intact all notices c You must license the entire work as a whole under this License to anyone who comes into possession of a copy This License will therefore apply along with any applicable section 7 additional terms to the whole of the work and all its parts regardless of how they are packaged This License gives no permission to license the work in any other way but it does not invalidate such permission if you have separately received it d If the work has interactive user interfaces each must display Appropriate Legal Notices however if the Program has interactive interfaces that do not display Appropriate Legal Notices your work need not make them do so A compilation of a covered work with other separate and independent works which are not by their nature extensions of the covered work and which are not combined with it such as to form a larger program in or on a volume of a storage or distribution medium is called an aggregate if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation s users beyond what the individual works permit Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate 6 Conveying Non Source Forms You may convey a covered work in object code form under the ter
49. ercado multitud de CVS pero sin duda el referente libre actual est siendo Git Surge por la necesidad de mantener el c digo del kernel de Linux de una manera m s estable un proyecto de grandes dimensiones que no s lo maneja una gran cantidad de archivos si no que adem s implica a muchos usuarios con desarrollos en paralelo Resulta complicado saber por qu hoy en d a Git ha llegado ser un est ndar de facto ya que al final los factores que intervienen son muchos pero podr amos incluir e Existen muchos interfaces gr ficos para el manejo de Git e Cada vez es m s usado por la comunidad especialmente la open source e Su escalabilidad es excelente Permite trabajar igual de bien con proyectos peque os como grandes e Es libre e Es distribuido Los proyectos cada vez son m s grandes y m s modularizados La distribuci n permite que varios equipos trabajen con sus propias ramas y revisiones sin interferir en el trabajo diario del resto de grupos Master Universitario Software Libre Trabajo Fin de Master 20 VisualDomo Control visual sobre dispositivos m viles para ODControl Por otra parte GitHub es un alojamiento web para repositorios Git que ha cogido mucho peso en los ultimos afios en parte por la gran cantidad de proyectos libres que alberga por su pequefio pero potente sistema de trabajo en grupo que permite la creaci n de documentaci n la creaci n de hitos milestones de cuestiones a solucionar ssues etc
50. es dom ticas y gesti n energ tica avanzada Una de sus actuaciones consiste en dar apoyo a una comunidad de desarrolladores que tiene el objetivo de crear una tecnolog a abierta para el control de instalaciones Esta comunidad desarrolla varios proyectos tanto hardware como software siendo su base el ODControl del que hablaremos en el siguiente punto 1 2 Contexto Como en cualquier otro proyecto el primer paso a realizar es conocer bien el problema al que nos enfrentamos y definir correctamente d nde queremos llegar Obviamente en nuestro contexto el protagonista principal es ODControl Controlador IP De manera sencilla un ODControl es un controlador IP Un controlador es un sistema electr nico que como su nombre indica permite controlar un conjunto de dispositivos el ctricos que pueden ser conectados a l para lo cual dispone de una serie de puertos que por una parte pueden ser de entrada o salida y por otra anal gicos o digitales El hecho de ser IP lo convierte adem s en un dispositivo que puede ser conectado a un red IP posibilitando el acceso desde otro dispositivos de la red y mediante un navegador web una consola ssh o cualquier otro m todo acceder a las funciones que disponen sus entradas y salidas Por ver un ejemplo gr fico el esquema de una supuesta instalaci n completa y b sica para controlar un sistema de iluminaci n podr a ser Fast Noutro Control Ethemint Figura 1 Esquema
51. figurar e Aceptar Cancelar configuraci n Master Universitario Software Libre Trabajo Fin de Master 14 VisualDomo Control visual sobre dispositivos m viles para ODControl lt VisualDomo Par metro 1 Par metro 2 gt Par metro 3 Par metro 4 O Opci n 1 O Opci n 2 Aceptar Cancelar Figura 10 Mockup pantalla de configuraci n Enlace selecci n de localizaciones La pantalla ha de mostrar la lista de todas las localizaciones creadas y permitir enlazar con la red wifi actual o cargarla en la ventana de configuraci n para su modificaci n Al ser pantallas muy similares se modelar como una nica y solamente se cambiar n ciertos detalles Su esquema tambi n tiene que ser muy sencillo e Listado de localizaciones existente e Informaci n sobre la localizaci n mostrada e Bot n para asignar desasignar wifi modo enlace e Bot n para seleccionar localizaci n modo selecci n lt VisualDomo localizaci n 1 Wifi Enlazar ODControl localizaci n2 Wifi Enlazar ODControl localizaci nN Wifi E Enlazar ODControl Figura 11 Mockup pantalla selecci n enlace M ster Universitario Software Libre Trabajo Fin de M ster 15 VisualDomo Control visual sobre dispositivos m viles para ODControl 4 Herramientas 4 1 PhoneGap De manera resumida PhoneGap es un framework para la creaci n de aplicaciones m viles multiplataforma Es decir su objetivo es crear un Un
52. he output given its content constitutes a covered work This License acknowledges your rights of fair use or other equivalent as provided by copyright law You may make run and propagate covered works that you do not convey without conditions so long as your license otherwise remains in force You may convey covered works to others for the sole purpose of having them make modifications exclusively for you or provide you with facilities for running those works provided that you comply with the terms of this License in conveying all material for which you do not control copyright Those thus making or running the covered works for you must do so exclusively on your behalf under your direction and control on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you Conveying under any other circumstances is permitted solely under the conditions stated below Sublicensing is not allowed section 10 makes it unnecessary 3 Protecting Users Legal Rights From Anti Circumvention Law No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996 or similar laws prohibiting or restricting circumvention of such measures When you convey a covered work you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is
53. hird party retains the ability to install modified object code on the User Product for example the work has been installed in ROM The requirement to provide Installation Information does not include a requirement to continue to provide support service warranty or updates for a work that has been modified or installed by the recipient or for the User Product in which it has been modified or installed Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network Corresponding Source conveyed and Installation Information provided in accord with this section must be in a format that is publicly documented and with an implementation available to the public in source code form and must require no special password or key for unpacking reading or copying 7 Additional Terms Additional permissions are terms that supplement the terms of this License by making exceptions from one or more of its conditions Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License to the extent that they are valid under applicable law If additional permissions apply only to part of the Program that part may be used separately under those permissions but the entire Program remains governed by this License without regard to the additional permissions
54. honeGap Sistema Operativo Mowil Figura 12 Arquitectura PhoneGap Cordova M ster Universitario Software Libre Trabajo Fin de M ster 16 VisualDomo Control visual sobre dispositivos m viles para ODControl Por otra parte para entender el concepto de framework podemos relacionarlo con Java O NET Este concepto incluye herramientas que ayudan al proceso de compilaci n API s etc y que generalmente se ejecutan sobre una m quina virtual En este caso podr amos hacer la relaci n de maquina virtual webView Para entenderlo mejor podemos ver en la p gina anterior el esquema de bloques de una aplicaci n PhoneGap El bloque UI framework no es necesario Evidentemente podemos desarrollar las aplicaciones desde cero con CSS3 y Javascript pero es obvio que si ya hay diferencias entre distintos navegadores m s las puede haber ahora que entra adem s el factor plataforma Es por ello que resulta muy interesante el uso de alg n tipo de librer a como JQuery Mobile que ayude a la creaci n sencilla del interfaz Por ltimo queda otro peque a confusi n a aclarar qu es Apache Cordova y qu tiene que ver con PhoneGap Hemos estado hablando de PhoneGap pero realmente tendr amos que haberlo hecho de Apache Cordova PhoneGap fue desarrollado por Nitobi empresa que al poco tiempo fue comprada por Adobe Adobe ha cedido la licencia a la Fundaci n Apache para liberar el c digo y asegurar que ese tipo de licencia se mantenga De esta
55. i n Entre ellas Desarrollo de aplicaciones WEB Es obvio que aunque la aplicaci n est dirigida a dispositivos m viles las tecnolog as aplicadas son de entorno web especialmente en el lado del cliente Cabe destacar las ense anzas relativas a HTML5 en general y a su componente canvas en particular sin olvidar el uso de CSS 5 Nose computa la fase seis ya que es una fase que debe empezar a la finalizaci n del proyecto 6 S lo se muestran los gr ficos referentes a VisualDomo Los datos referente a Wifilnformation puede consultarse desde https github com aoltra Wifilnformation graphs contributors M ster Universitario Software Libre Trabajo Fin de M ster 35 VisualDomo Control visual sobre dispositivos m viles para ODControl aoltra VisualDomo O Unwatchy 3 Star 3 YFork 0 Contributors Traffic Commits Code frequency Punch card Network Members Mar 9 2014 Dec 22 2014 Contributions Commits v Il Contributions to master excluding merge commits E to Figura 22 Gr fico de contribuciones en GitHub Ingenier a de Software en entornos de Software Libre Posiblemente la asignatura que m s me ha hecho cambiar la manera de trabajar De ella se han aplicado todos los conocimientos relativos al dise o de software utilizaci n de diagramas UML metodolog as realizaci n de pruebas y control de versiones en este caso aplicado a Git Desarrollo de Software La asignatura est centrada en el desarrol
56. ico c digo y que ste pueda funcionar en distintas plataformas m viles como iOS Android Blackberry FirefoxOS Windows Phone En general para conseguir un objetivo asi la idea es crear aplicaciones web con HTML5 CSS3 y javascript que corran sobre un navegador Evidentemente este m todo proporciona multiplataforma pero por contra hace las aplicaciones mas lentas necesitan al navegador entre ellas y el SO y por obvios motivos de seguridad limita el acceso a varios recursos como la camara el aceler metro etc Para solucionar en parte este problema PhoneGap permite la creaci n de aplicaciones h bridas es decir a adir ciertos componentes que llama plugins que conectan de manera nativa con esos recursos L gicamente esto hace que la aplicaci n pierda la posibilidad de ser multiplataforma pero la manera de migrar a otras plataformas queda nicamente reducida a crear los plugins en ellas Estos accesos se desarrollan en javascript que si permite la llamada a c digo nativo ya sea Java C C Aunque PhoneGap ya proporciona varios de estos plugins por defecto el usuario puede crear aquellos que necesite para su proyecto De esta manera una aplicaci n desarrollada con PhoneGap no es una simple p gina web sino que es una aplicaci n nativa un apk si hablamos en sistemas Android que en su interior lleva un componente visualizador Web WebView las p ginas web creadas y los plugins de acceso a los recursos Aplicaci n P
57. iki index php Comandos_de_ODControl2 2 Lerch Daniel ODLEP 2013 http www opendomo com wiki index php ODLEP 3 Ashfaq Hossain Almacenamiento HTML5 2014 https developer mozilla org es docs DOM Almacenamiento 4 Daniel Bruce entypo font http www entypo com 5 Aurelio De Rosa JQuery Translation 2013 https github com AurelioDeRosa Currency Converter blob e656a1aa44253db8eb8c39bd201547bc5d16f659 js jquery audero TextChanger min js 6 JOK101 Debugging in PhoneGap 2014 https github com phonegap phonegap wiki Debugging in PhoneGap 7 Google Chrome Remote debugging 2014 https developer chrome com devtools docs remote debugging debugging webviews 8 Richard York Beginning JavaScript and CSS Development with jQuery 2009 Wiley Publishing Inc ISBN 978 0 470 22779 4 9 Raymond Camden Andy Matthews JQuery Mobile Web Development Essentials 2012 Packt Publishing Ltd ISBN 978 1 84951 726 3 10 Jack Franklin Beginning JQuery Apress 2013 Apress ISBN 13 pbk 978 1 4302 4932 0 11 Rohit Ghatol Yogesh Patel Beginning PhoneGap 2012 Apress ISBN 13 pbk 978 1 4302 3903 1 12 Thomas Myer Beginning PhoneGap 2012 John Wiley amp Sons Inc ISBN 978 1 118 15665 0 Master Universitario Software Libre Trabajo Fin de Master 54
58. lo de software para plataforma escritorio dispositivos m viles pero explica conceptos como el manejo de librer as o creaci n de ficheros de compilaci n aplicados en el TFM Implantaci n de sistemas de Software Libre Aunque la asignatura puede parecer alejada a la tem tica del proyecto se han aplicado ciertas t cnicas como el estudio de la vida del proyecto su planificaci n temporal la valoraci n de los recurso etc Adem s se han utilizado t cnicas que aunque estudiadas tambi n en otras asignaturas fueron puestas en pr ctica en sta como metodolog as SCRUM Introducci n al Software Libre Tal vez es la asignatura base del M ster Gracias a ella se pueden entender bien cada una de las posibles licencias libres bajo las que se puede distribuir un software y las compatibilidades entre ellas conocimiento fundamental para poder saber qu software y qu librer as pod an utilizarse para la creaci n de VisualDomo M ster Universitario Software Libre Trabajo Fin de M ster 36 VisualDomo Control visual sobre dispositivos m viles para ODControl Conocimientos extras alcanzados Tambi n se han adquirido conocimientos no directamente tratados en el M ster pero de aplicaci n en el TFM especialmente en lo referente a tecnolog as m s espec ficas e Conocimientos sobre dispositivos de control dom tico e Conocimientos sobre framework Cordova e Utilizaci n de librer as Javascript como JQuery y JQuer
59. mbiciosos e No atascar el desarrollo en momentos de poca disponibilidad al permitir crear hitos de pocas tareas o de tareas m s sencillas M ster Universitario Software Libre Trabajo Fin de M ster 22 VisualDomo Control visual sobre dispositivos m viles para ODControl Issues Pullrequests Labels TS 30pen P 17 Closed 5 0 4 1 AAA 100 0 1 Edit Close Delete 0 4 2 _ _ ___ A 100 0 3 Edit Close Delete 0 0 0 Edit Close Delete Figura 15 Hitos milestones VisualDomo en GitHub 5 2 Wifilnformation Una de las funcionalidades de VisualDomo es la asignaci n de la localizaci n a una determinada red Wifi Eso permite evitar confusiones al usuario pero adem s cargar directamente la localizaci n indicada en funci n de la red wifi en la que nos encontremos Para implementar esta caracter stica es necesario obtener el identificador un voco de la wifi Esta funcionalidad de m s bajo nivel requiere el acceso a hardware por lo que escapa de la API de Cordova y es necesario implementarlo mediante plugins La primera opci n es obtener dicha funcionalidad de los plugins ya existentes en el mercado pero todos aquellos relativos al acceso a red no llegan a proporcionar dichos datos por lo que la nica opci n era crear nuestro propio plugin La creaci n de un plugin supone la perdida de multiplataforma en la medida en que no desarrollemos versiones especificas del mismo para cada una de las plataformas En este cas
60. ms of sections 4 and 5 provided that you also convey the machine readable Corresponding Source under the terms of this License in one of these ways a Convey the object code in or embodied in a physical product including a physical distribution medium accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange b Convey the object code in or embodied in a physical product including a physical distribution medium accompanied by a written offer valid for at least three years and valid for as long as you offer spare parts or customer support for that product model to give anyone who possesses the object code either 1 a copy of the Corresponding Source for all the software in the product that is covered by this License on a durable physical medium customarily used for software interchange for a price no more than your reasonable cost of physically performing this conveying of source or 2 access to copy the Corresponding Source from a network server at no charge c Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source This alternative is allowed only occasionally and noncommercially and only if you received the object code with such an offer in accord with subsection 6b d Convey the object code by offering access from a designated place gratis or for a charge and offer equivalent access to the Corresponding Source
61. n el que se iban implementando Al final de cada nueva implementaci n se realizaba el proceso completo indicado por la hoja para comprobar no s lo el correcto funcionamiento de cada una de ellas sino tambi n las posibles interacciones Por otra parte a partir de la primera versi n alfa 0 3 se ha ido suministrando peri dicamente distribuibles a OpenDomo para ir comprobando la correcta implementaci n de cada funcionalidad de forma m s real 6 3 Pruebas de eficiencia Este tipo de pruebas no han podido ser realizadas de una manera correcta aunque las simulaciones realizadas son bastantes satisfactorias El escenario ideal para probar este tipo de sistema consiste en la creaci n de un entorno local con uno o varios ODControl a los que se acceda de manera habitual Desafortunadamente durante el periodo de realizaci n del proyecto se ha producido un upgrade de los dispositivos f sicos y por motivos de fabricaci n ha sido imposible disponer de ellos Como escenario alternativo se ha trabajado contra un ODControl de acceso abierto por Internet disponible en la sede de OpenDomo Aun as teniendo en cuenta este entorno los tiempos de respuesta obtenidos tanto en la lectura de datos como en la escritura de los mismos resultan sumamente aceptables Posiblemente los peores puntos en cuanto a eficiencia se encuentren en la naturaleza en s de la aplicaci n No hay que olvidar que VisualDomo no es ni m s ni menos que una p gina web co
62. na parte nos va a permitir con el uso de los plugins correspondientes hacer el mantenimiento de los paquetes de necesarios para la compilaci n sobre Android Por otra nos sirve de base para la creaci n de plugins para espec ficos de Android para PhoneGap Cordova Realmente estos plugins se pueden compilar directamente el compilador de PhoneGap Cordova pero la detecci n de errores resulta compleja m s cuanto m s complicado es el plugin por lo que la creaci n de una peque a aplicaci n de test para Android puede con las funcionalidades buscadas puede facilitar la tarea Emulador dispositivo Android Por motivos de eficiencia la mejor manera de realizar las pruebas de la aplicaci n es mediante un dispositivo f sico En este caso se ha usado un m vil Galaxy Nexus Android 4 2 y una tableta Nexus 7 Android 4 4 pero migrada en las ltimas fases de desarrollo a Android 5 0 A n as como se comenta en el apartado de Implementaci n se hace necesario el uso de software adicional para poder depurar la aplicaci n de la mejor manera posible En este caso se ha utilizado Ripple Emulator Chrome El uso de un navegador a la hora de realizar una aplicaci n web resulta obviamente indispensable En general la elecci n podr a ser cualquiera pero se ha elegido Chrome ya que adem s de soportar HTML5 de una manera muy completa nos proporciona integraci n con Brackets para la visualizaci n de la web en tiempo de redacci n y la depuraci
63. nt such as an express permission to practice a patent or covenant not to sue for patent infringement To grant such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party If you convey a covered work knowingly relying on a patent license and the Corresponding Source of the work is not available for anyone to copy free of charge and under the terms of this License through a publicly available network server or other readily accessible means then you Master Universitario Software Libre Trabajo Fin de Master 51 VisualDomo Control visual sobre dispositivos m viles para ODControl must either 1 cause the Corresponding Source to be so available or 2 arrange to deprive yourself of the benefit of the patent license for this particular work or 3 arrange in a manner consistent with the requirements of this License to extend the patent license to downstream recipients Knowingly relying means you have actual knowledge that but for the patent license your conveying the covered work in a country or your recipient s use of the covered work in a country would infringe one or more identifiable patents in that country that you have reason to believe are valid If pursuant to or in connection with a single transaction or arrangement you convey or propagate by procuring conveyance of a covered work and grant a patent license to some of the parties receiving the co
64. o presentar autom ticamente el cuadro de di logo de configuraci n de la localizaci n Las localizaciones se almacenan en el directorio VisualDomo locations Para cada localizaci n se crea un fichero con extensi n vdlt o vdl en funci n de si la localizaci n est asignada o no y una carpeta que contiene una copia de las im genes de las plantas Configuraci n La opci n de Configuraci n permite carga una de las localizaciones guardadas y trabajar con ella de la misma manera que se puede realizar desde la opci n Nueva localizaci n Enlazar La opci n Enlazar del men principal permite asignar a una localizaci n la red wifi actual o desasignar una localizaci n de la red wifi que tenga definida En caso de ser asignada VisualDomo pasa autom ticamente al modo Visualizaci n NM La red wifi se identifica mediante su BSSID Externa Permite la conexi n a localizaciones asignadas a redes diferentes a la red actual Esta opci n no esta soportada en esta versi n Visualizaci n La visualizaci n es el modo habitual de trabajo de VisualDomo Se puede acceder a l mediante la opci n Visualizaci n del men principal al enlazar una localizaci n o directamente cuando el sistema detecta que existe una localizaci n para la wifi actual La ventana de visualizaci n es muy similar a la ventana de creaci n de localizaciones pero sin el panel izquierdo de gesti n de los ODControl La ventana princi
65. o y por motivos de tiempo nicamente se ha desarrollado el destinado a Android pero s se realiz un estudio referente a otras plataformas como Windows Phone o OS y se comprob que la implementaci n no resulta demasiado compleja En l neas generales la implementaci n consiste en la creaci n dos ficheros e Fichero js javascript que define el objeto que ser utilizado desde Cordova para llamar a las funciones del plugin En este caso el objeto creado es wifiinfo y posee dos funciones getBSSID y getSSID Ambas dos funcionan de manera as ncrona y pueden recibir funciones de retorno en caso de xito o fracaso de la ejecuci n e Fichero java que implementa la funcionalidad directamente Este fichero contiene dos funciones una encargada de crear el contexto de la aplicaci n a partir del Interface con Cordova y una segunda que llama o implementa directamente cada una de las funcionalidades Al igual que VisualDomo el proyecto se licencia mediante GPL 3 0 y todo su c digo est disponible en GitHub 3 https github com aoltra Wifilnformation M ster Universitario Software Libre Trabajo Fin de M ster 23 VisualDomo Control visual sobre dispositivos m viles para ODControl 5 3 Estructura El propio framework obliga a definir una estructura de archivos determinada a la hora de trabajar de tal manera que se almacenan por separado los plugins el c digo de espec fico de cada plataforma elementos comunes y el c
66. oceso de encuesta podr ser lanzado de manera manual siempre que el usuario lo desee Modificar puertos Como puede verse en la Figura 7 el proceso de modificaci n de puertos resulta muy sencillo Simplemente una vez modificado por parte del usuario el puerto VisualDomo lo notificar al ODControl correspondiente y esperar confirmaci n momento en el que actualizar el estado en la pantalla Configurar aplicaci n La configuraci n de la aplicaci n funciona de manera muy similar a la de modificaci n de los puertos si bien en este caso no es necesario el acceso a ning n ODControl Es importante resaltar que VisualDomo no permite la configuraci n de ning n aspecto del ODControl Ese tipo de acciones como cambio de contrase as IP etc se har n desde un navegador web accediendo a la aplicaci n Configurator del ODControl M ster Universitario Software Libre Trabajo Fin de M ster 11 VisualDomo Control visual sobre dispositivos m viles para ODControl Seleccionar puerto acci n Actualizar ODC Visualizar estado en plano Figura 7 Diagrama de actividades Modificaci n de puertos Presentar configuraciones actuales Modificar datos Guardar configuraciones Figura 8 Diagrama de actividades Configurar aplicaci n M ster Universitario Software Libre Trabajo Fin de M ster 12 VisualDomo Control visual sobre dispositivos m viles para ODControl 3 5 Mockups Antes de empezar a trabajar resul
67. ome Safari similar al utilizado en los componentes de navegaci n web de los sistemas destinos Android e iOS 4 VisualDomo otf es licenciada bajo CC BY SA 3 0 M ster Universitario Software Libre Trabajo Fin de M ster 26 VisualDomo Control visual sobre dispositivos m viles para ODControl e Probar funcionalidades b sicas con el emulador Ripple Este emulador da soporte sobre un navegador web de escritorio de la infraestructura Cordova permitiendo ademas adaptarse especialmente en el apartado de visualizaci n a diferentes dispositivos diferentes tama os de pantalla resoluciones e Depurar remotamente la aplicaci n que corre en el dispositivo mediante Chrome Remote Debugging 7 Esta utilidad permite analizar con las herramientas de desarrollador incluidas en Chrome el estado de la aplicaci n instalada remotamente consola Javascript DOM an lisis de DIV e Depuraci n con Android Debug Bridge ADB permite la actuaci n sobre el dispositivo remoto mediante el acceso directo ya sea por consola o mediante una aplicaci n gr fica Este acceso posibilita estudiar el sistema de ficheros as como analizar los diferentes mensajes que aparecen en la consola de errores avisos 5 9 Art work Durante las primeras fases del desarrollo se realiz un trabajo de arte basado en la obtenci n del nombre y la creaci n de la imagen del producto esta ltima principalmente enfocada en la creaci n de un logotipo o VisualDomo
68. onsequence of using peer to peer transmission to receive a copy likewise does not require acceptance However nothing other than this License grants you permission to propagate or modify any covered work These actions infringe copyright if you do not accept this License Therefore by modifying or propagating a covered work you indicate your acceptance of this License to do so 10 Automatic Licensing of Downstream Recipients Each time you convey a covered work the recipient automatically receives a license from the original licensors to run modify and propagate that work subject to this License You are not responsible for enforcing compliance by third parties with this License An entity transaction is a transaction transferring control of an organization or substantially all assets of one or subdividing an organization or merging organizations If propagation of a covered work results from an entity transaction each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party s predecessor in interest had or could give under the previous paragraph plus a right to possession of the Corresponding Source of the work from the predecessor in interest if the predecessor has it or can get it with reasonable efforts You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License For example you may not impose a license fee royalty or
69. ontrol 1 VisualDomo Planta baja 0 Figura 18 Pantalla de configuraci n 1 M ster Universitario Software Libre Trabajo Fin de M ster 32 VisualDomo Control visual sobre dispositivos m viles para ODControl Pantalla de configuraci n ll VisualDomo M E no a EJ EJ id EJ Figura 19 Pantalla de configuraci n II Pantalla de enlace selecci n VisualDomo Selecciona la localizaci n a asignar a Tatooine Nombre Desaslgnar Descripci n Estado Tatooine Plantas ODC a L Descripci n Estado Sin asignar Plantas 1 ODC 0 Figura 20 Pantalla de enlace selecci n M ster Universitario Software Libre Trabajo Fin de M ster VisualDomo Control visual sobre dispositivos m viles para ODControl Pantalla de visualizaci n VisualDomo c1 7T 0 0m ao001 7 2 M trica Figura 21 Pantalla de visualizaci n Se ofrece a continuaci n una tabla con informaci n obtenida sobre el c digo generado Concepto Valor Ficheros de c digo javascript Lineas 16 3586 Ficheros de c digo CSS L neas 4 753 Ficheros de c digo html Lineas 1 423 Ficheros de c digo xml Lineas 1 15 Ficheros de c digo Wifilnformation Java Lineas 1 83 Ficheros documentaci n Lineas 7 298 Ficheros totales Lineas 28 5158 Tama o c digo Javascript 136 167 bytes Tama o c digo CSS 15 258
70. other charge for exercise of rights granted under this License and you may not initiate litigation including a cross claim or counterclaim in a lawsuit alleging that any patent claim is infringed by making using selling offering for sale or importing the Program or any portion of it 11 Patents A contributor is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based The work thus licensed is called the contributor s contributor version A contributor s essential patent claims are all patent claims owned or controlled by the contributor whether already acquired or hereafter acquired that would be infringed by some manner permitted by this License of making using or selling its contributor version but do not include claims that would be infringed only as a consequence of further modification of the contributor version For purposes of this definition control includes the right to grant patent sublicenses in a manner consistent with the requirements of this License Each contributor grants you a non exclusive worldwide royalty free patent license under the contributor s essential patent claims to make use sell offer for sale import and otherwise run modify and propagate the contents of its contributor version In the following three paragraphs a patent license is any express agreement or commitment however denominated not to enforce a pate
71. pal muestra cada una de las plantas con los puertos ubicados y su valor actual En caso de que el puerto sea de salida ser posible modificar su valor en caso de que sea anal gico o su estado en caso de que sea digital Para ello en ambos casos bastar con pulsar M ster Universitario Software Libre Trabajo Fin de M ster 44 VisualDomo Control visual sobre dispositivos m viles para ODControl sobre el puerto para cambiar su estado o mostrar la ventana de configuraci n de los valores desde donde podemos modificar el valor X Utilice valores dentro del rango admisible Tenga en cuenta que estos valores se encuentran afectados del factor utilizado en la configuraci n del puerto Configuraci n de la aplicaci n Desde el men situado a la derecha de la cabecera es posible acceder a la configuraci n de general de VisualDomo Dicha configuraci n permite OpenDomoOS URL sin protocolo de acceso a OpenDomoOS Tiempo entre actualizaciones de estado Define en segundos el tiempo entre conexi n a los ODControl para actualizar en pantalla el estado de los puertos Idioma Lenguaje en el que aparecer n los textos de la aplicaci n M ster Universitario Software Libre Trabajo Fin de M ster 45 VisualDomo Control visual sobre dispositivos m viles para ODControl 9 2 Anexo Il Licencia TERMS AND CONDITIONS O Definitions This License refers to version 3 of the GNU General Public License
72. par las diferentes fases del desarrollo MVC patr n de dise o que separa de manera clara los datos la capa de negocio que gestiona esos datos y la capa de interfaz gr fica M ster Universitario Software Libre Trabajo Fin de M ster 39 VisualDomo Control visual sobre dispositivos m viles para ODControl 9 Anexos 9 1 Anexo I Manual de usuario Introducci n El objetivo de VisualDomo es la creaci n de lo que denominamos localizaciones y de su posterior visualizaci n interacci n de manera gr fica Una localizaci n es una ubicaci n espacial de una o m s plantas en la que existen uno o varios ODControl conectados que disponen para al menos uno de sus puertos de elementos distribuidos a lo largo de los diferentes espacios Sobre estos puertos se permite interaccionar ya sea para obtener informaci n de ellos o para modificarlos Una vivienda particular una vivienda estacional las oficinas de una empresa o un colegio pueden ser considerados ejemplos de posibles localizaciones Modos de funcionamiento VisualDomo posee dos modos de funcionamiento e Modo edici n Permite la creaci n y edici n de las localizaciones A adir plantas configurar ODControls ubicar puertos en cada planta definir el tipo de informaci n de cada puerto Modo visualizaci n Es el modo de trabajo habitual Permite visualizar el estado de los puertos ubicados en las plantas as como si el puerto es de salida modificar su valor
73. pec ficamente la aplicaci n debe e Localizar o permitir configurar los posibles ODControl existentes e Permitir cargar planos de la localizaci n a controlar e Ubicar en los planos los distintos dispositivos a controlar e Guardar las configuraciones para simplificar futuros accesos e Visualizar el estado de los puertos de entrada ya sean digitales o anal gicos e Modificar el estado de los puertos de salida En otro mbito m s transversal Es de desear que la aplicaci n pueda trabajar en varios idiomas al menos espa ol e ingl s e Dise o responsable Dentro de las limitaciones de dise o indicadas por los fabricantes de los sistemas se pretende que el dise o de la aplicaci n se adapte al entorno hardware en el que est siendo ejecutado m vil tableta o en un futuro navegador en equipo de sobremesa e Se tendr especial cuidado en conseguir alta usabilidad Existen otros objetivos relacionados con la visibilidad del proyecto e El c digo del proyecto ser publicado en alguna comunidad virtual en este caso GitHub e Documentar el c digo de tal manera que simplifique la continuidad del trabajo por parte de otros usuarios Para facilitar la internacionalizaci n de esta labor dicha documentaci n se har en ingl s e Se pretende realizar un seguimiento del proyecto mediante el desarrollo de un blog que muestre tanto el proceso de dise o como el de programaci n Dado el car cter abierto de VisualDomo se
74. propia idiosincracia del proyecto implica la posibilidad de abarcar el mayor numero posible de dispositivos m viles existentes no nicamente por configuraci n f sica tabletas o m viles sino tambi n por la variedad de plataformas existentes Adem s los productos OpenDomo est n en constante evoluci n lo que hace complicado el mantenimiento de varias aplicaciones Por todo ello se utiliza para el desarrollo de VisualDomo el framework PhoneGap Cordova que permite mediante tecnolog as web HTML5 JS CSS3 crear un unico c digo f cilmente compilable en distintas plataformas Por ltimo el proyecto tambi n tiene car cter acad mico y educativo ya que se presenta como Trabajo Final del Master Universitario de Software Libre impartido por la Universitat Oberta de Catalunya UOC Palabras clave OpenDomo Dom tica Software Libre Cordova PhoneGap Android OS ndice 1INTOAUCCI N ia A A a 1 1 1 OpenDOIMO ina AA AA PA AA A DO B A O APDO MU GI AGA EUA OA de A Ai 1 12 CONLEXIO TA AA naka A i te ee eee 1 COMMO AMOI UP Fries cease teers oberon acinar ate ANT do NAAA 1 ODCONTOl aaa aa Ad 2 1 3 EStructura dela MMM ii A A A ai Aida 3 DODJOIVO mia Ona ao 5 2 1 OBJeUVOS aa A ATA a O a O DU AS AA AD O D 5 DPF ATA nat A No cad 6 Bi DISCO A tc AAA A A AA DAA 8 SL REQUISITO S it SIA as 8 A dal E da A cliched yaaa atat dels A E N 8 OPClONAlES doa AA ede ches abe AA e 8 372 Actores dela aplicaci n a a 9 323 CASOS CE USO d
75. rol que permita regular su valor La pulsaci n continuada mostrar m s informaci n M ster Universitario Software Libre Trabajo Fin de M ster 13 VisualDomo Control visual sobre dispositivos m viles para ODControl Configuraci n localizaci n Esta pantalla engloba el funcionamiento del Modo Configuraci n El objetivo principal es la carga de los planos de cada una de las plantas as como la ubicaci n y configuraci n de los dispositivos Entre sus controles tenemos e Zona de visualizaci n del plano e Cargar plano planta e Miniaturas planos cargados e Eliminar planta e Listado de puertos disponibles e Eliminar asignaci n e Guardar cancelar configuraci n Asignar datos generales de configuraci n de la localizaci n nombre e Notificaciones errores estado offline online lt VisualDomo lt lt opc1 puerto01 puerto02 puerto03 oDC2 D i puerto01 puerto02 puerto03 A AAA EO AA AAA AA E Figura 9 Mockup modo configuraci n El usuario arrastrar el puerto a la posici n que desee Una vez ubicado deber introducir el tipo de dispositivo y si fuera necesario las unidades de medici n En caso de que el tipo no est asignado el icono de dispositivo indicar error Configuraci n aplicaci n Esta pantalla permite la configuraci n de los datos de la aplicaci n Su esquema es muy sencillo Entre sus controles tenemos e Listado variables a con
76. royecto resulta vital la elecci n de un buen entorno de trabajo entendido como tal el conjunto de herramientas software que nos van permitir desarrollar nuestro trabajo Esta elecci n es un factor clave a la hora de obtener un resultado satisfactorio en el desarrollo del proyecto ya que posibilitar o no un trabajo r pido con ayudas de f cil acceso con herramientas de depuraci n adecuadas etc Adem s el programador ha de sentirse c modo con l por lo cual parte de la elecci n puede deberse a experiencias anteriores conocimientos previos o simplemente gustos personales OSX Mavericks El primer escal n en el entorno de trabajo es el sistema operativo El equipo en el que se ha centralizado el desarrollo ha sido un port til MacBook con el sistema operativo OSX Mavericks instalado Dentro de todo el entramado de nuestro entorno es la nica pieza que no dispone de licencia abierta Aunque durante las primeras fases de pruebas y desarrollo se trabaj sobre un Linux Mint 15 la elecci n definitiva del sistema Mavericks se debi a la posibilidad de generar la aplicaci n tanto para plataformas Android como OS posibilidad que finalmente no se ha podido implementar por falta de tiempo ya que el paquete de desarrollo de aplicaciones para esta ltima s lo se encuentra disponible en MacOS Brackets La mayor parte del c digo generado en un aplicaci n PhoneGap Cordova es HTML Javascript y CSS por lo que parece indicado la elecci
77. rriendo sobre una navegador embebido en una aplicaci n para m viles Todo ese trasiego de informaci n genera una serie de retardos que se notan sobre todo en e reacci n a la pulsaci n de eventos e arrastre de puertos por el plano El primer punto se ha intentado minimizar mostrando informaci n del estado de la aplicaci n de tal manera que el usuario tenga la menor sensaci n de bloqueo mientras que el segundo se podr a optimizar creando distintos canvas superpuestos uno para la representaci n est tica y otro para la din mica no se ha implementado por falta de tiempo M ster Universitario Software Libre Trabajo Fin de M ster 28 VisualDomo Control visual sobre dispositivos m viles para ODControl Otro factor que entra en juego en este tipo de pruebas es la plataforma en la que corre y m s teniendo en cuenta la variedad de dispositivos existentes no ya dentro de una plataforma en concreto sino de varias En este caso nos ve amos limitados a la disponibilidad de dispositivos 2 aunque como puede leerse en el apartado de pruebas de usabilidad se aprovech las encuestas para disponer de m s datos de dispositivos distintos 6 4 Pruebas est ticas Para mantener un alto grado de calidad tanto de ejecuci n como de formato c digo fuente se ha procesado todo el c digo javascript mediante el analizador est tico JSLint Este sistema proporciona tal vez de manera un tanto estricta una lista de posibles zonas de c
78. seeeees 24 Modelo de datos scada o Seman dense 24 ACCESO ADA dor ol 25 Almacenamiento de la configuraci n de la aplicaci n iiiiiaaso ios cao oio o a cana acce caen neo tea aa a ene icDds 25 A A BA SUSO SO AN POCOS TINO AST A DICO ace hte MOI ba 25 RESPONSIVE DesiON ici dios un ds pa dali iii 25 56 Dr gra dro patatas ect a ea tenia een i eal A tanta AA A allel decent 26 5 7 Localizaci n jquery auderoTextChanQeT ccccccocoooconcccconnnnnnnnnnnnnnnnnnnnnnnnnnnnnnccnnnnnnnnnnnnnnnnnnnns 26 Bs SUP AON A aa A E E E A A as nd caster ees E aces A A do TU AS eet 26 TA ANIL VOM APA cae ER IE ANN A a ld a Aa dd 27 6 Control de calidad y pruebas iiiioooo escasa aia aa aa a REDE DE DD ED DD DR DRA DR a 28 6 1 Pryuebas unitarias dunas aia Palas ia dE LI nace i LA DE DD Ei a a dee Aa E A da A Dei 28 6 2 Pruebas de funcionalidad occcocccncnccncncnnnnnananonanonannn nn n anno nono rnern na nnnn nro nn rra rra rn rana 28 6 3 Pruiebas de eficiencia visir ee ea DR Das 28 6 4 Pruebas estaticas A e A e a A ETA ee 29 6 5 Pr e as de usabilidad E 29 Resultados y CONCISO Sui 31 LAROUSSE A AA ir 31 Evoluci n de los MOCKUPS cios tia 32 A AAA A A CTA 34 3 DECICACION A o de eN ata e 35 TAN aloraci n Personal lana dados 35 Conocimientos aplicadOS crasas ni soii 35 Conocimientos extras alCanzZados occcoccccncnnncnnnnninnnnnnncnonanonanonnnnn nara rner unuta DER nana canaria ranas 37 Valoraci n A is 37 A A N ATE a A A
79. specificaci n de uso de Cordova se mantuviera me centrar a en una reestructuraci n del c digo posiblemente con una estructura mucho m s orientada a objetos y la aplicaci n de alg n framework MVC como Angular js 7 5 Futuro Es evidente que aunque el proyecto es completamente funcional tanto el car cter acad mico como el tiempo de implementaci n y las horas de pruebas a las que ha sido testeado hacen que el estado del proyecto nicamente pueda considerarse como un prototipo Y como todo prototipo en el propio proceso de desarrollo surgen nuevas ideas que podr an ser implementadas en posteriores versiones M ster Universitario Software Libre Trabajo Fin de M ster 37 VisualDomo Control visual sobre dispositivos m viles para ODControl Las posibilidades entre otras son e Aprovechar la tecnolog a para exportarlo a otras plataformas m viles principalmente iOS Crear una extensi n para navegadores de escritorio Acceso remoto a localizaciones externas a la red local mediante conexi n 3G 4G e Posibilidad de hacer copias de seguridad de las localizaciones e Aplicaci n de diferentes estilos e Soporte de formatos gr ficos vectoriales para facilitar en muchos casos la carga desde formatos m s habituales en este tipo de representaci n y para posibilitar un implementaci n mas correcta de herramientas como zoom Dotarlo de accesibilidad para permitir el manejo a personas con deficiencias visuales o de o
80. ta muy importante tener una imagen de cual es nuestro objetivo en lo que respecta a la interfaz De manera muy esquem tica indicamos cu les son los controles indicando el objetivo de cada uno de ellos que deber n existir en cada una de las partes principales de VisualDomo Es muy probable que esta representaci n vaya evolucionando a lo largo de la implementaci n y difiera con el resultado final ver cap tulo Resultados y conclusiones pero hace funciones de guia tanto para el dise ador programador como para el cliente que puede hacerse una idea de las pantallas proponer nuevas ideas y as evitar sorpresas finales Visualizaci n modificaci n de puertos Esta pantalla engloba el funcionamiento del Modo Uso El objetivo principal es la visualizaci n de la planta con la ubicaci n de los dispositivos Entre sus controles tenemos e Zona de visualizaci n de planos e Cambiar de modo uso a modo configuraci n e Cambiar modo visualizaci n una planta dos plantas tres plantas cuatro plantas e Si s lo se visualiza una planta dejarla fija o cambiar de planta cada cierto tiempo e Cambiar planta e Cambiar estado de puerto e Obtener informaci n del puerto e Forzar actualizaci n e Cambiar localizaci n e Acceso a configuraci n app lt VisualDomo POIS G Al pulsar sobre el dispositivo ste cambiar su estado autom ticamente en caso de ser digital En caso de ser anal gico se mostrar el cont
81. tas condiciones puede ser exonerada si obtiene el permiso del titular de los derechos de autor Otros derechos de ninguna manera son afectados por la licencia los siguientes derechos e los previstos como excepciones y limitaciones de los derechos de autor como el uso leg timo e los derechos morales del autor e y los derechos que otras personas puedan tener sobre la misma obra as como sobre la forma en que se utilice tales como los derechos de imagen o de privacidad Nota al reutilizar o distribuir la obra tiene que dejar bien claro los t rminos de la licencia de esta obra La mejor forma para hacerlo es con un enlace a http creativecommons org licenses by sa 3 0 deed es Resumen Abstract El presente proyecto tiene como objetivo el dise o y la implementaci n de VisualDomo una aplicaci n para dispositivos m viles que permite el control de manera visual de dispositivos ODControl ODControl es un controlador con posibilidad de conexi n IP desarrollado por la empresa OpenDomo Services S L Este controlador permite actuar sobre diferentes dispositivos electr nicos gracias a varios puertos tanto de tipo anal gico como digital lo que lo hace muy adecuado para el control de instalaciones dom ticas Con el proyecto se pretende facilitar al usuario el manejo de su instalaci n dom tica permitiendo definir su localizaci n y controlar cada uno de los aparatos conectados a los puertos de manera sencilla Las
82. to en funci n del tipo de puerto anal gico o digital NM No es necesario que el puerto est ubicado para proceder a su configuraci n El cuadro de di logo consta de Unidades En el caso de puerto anal gico permite definir un texto que se situar detr s del valor del puerto a modo de unidades Factor Factor por el que se multiplica el valor del puerto a la hora de representarlo y o modificar su valor ver Visualizaci n Funcionalidad Identifica mediante un icono la posible funcionalidad del puerto En esta versi n se encuentran disponibles iconos para representar Luces Persianas Temperatura y Audio Configuraci n de la localizaci n La configuraci n de la localizaci n permite la definici n del nombre y la descripci n de la misma Se puede acceder a ella desde el men situado en la parte derecha de la cabecera M ster Universitario Software Libre Trabajo Fin de M ster 43 VisualDomo Control visual sobre dispositivos m viles para ODControl El cuadro de di logo de configuraci n consta de Nombre Nombre de la localizaci n Este nombre no puede ser vac o Adem s no permite la inclusi n de espacios Descripci n Descripci n de la localizaci n Grabaci n de la localizaci n La grabaci n de la localizaci n se realiza desde el men situado en la parte derecha de la cabecera N En caso de que el usuario no haya definido un nombre de la localizaci n a la hora de grabar VisualDom
83. tro tipo e Controlar simult neamente varias localizaciones Implementaci n de avisos e Modo multivista en tabletas que permitan visualizar varias plantas de manera simult nea M ster Universitario Software Libre Trabajo Fin de M ster 38 VisualDomo Control visual sobre dispositivos m viles para ODControl 8 Vocabulario Actores personas o entidades externas a la aplicaci n que interact an con ella realizando un intercambio de informaci n CASE Herramienta CASE cada uno de los instrumentos o herramientas software de apoyo al desarrollo IDE aplicaci n destinada a la creaci n de aplicaciones que integra varias herramientas CASE especialmente las destinadas a la fase de codificaci n Mockup prototipo generalmente a escala real utilizado para la demostraci n evaluaci n del dise o etc Usabilidad grado de eficacia eficiencia y satisfacci n con la que usuarios espec ficos pueden lograr objetivos espec ficos en contextos de uso espec ficos Responsive Design RWD filosof a de dise o que hacen que el creador adapte su desarrollo a cada una de los posibles medios en los que puede ser ejecutado visualizado Su principal escenario es el desarrollo de aplicaciones Web SCRUM Estrategia de desarrollo incremental que se centra principalmente en basar la calidad del resultado m s en la calidad que determinan las personas conocedoras del proyecto que en la calidad de los procesos empleados y en sola
84. vered work authorizing them to use propagate modify or convey a specific copy of the covered work then the patent license you grant is automatically extended to all recipients of the covered work and works based on it A patent license is discriminatory if it does not include within the scope of its coverage prohibits the exercise of or is conditioned on the non exercise of one or more of the rights that are specifically granted under this License You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software under which you make payment to the third party based on the extent of your activity of conveying the work and under which the third party grants to any of the parties who would receive the covered work from you a discriminatory patent license a in connection with copies of the covered work conveyed by you or copies made from those copies or b primarily for and in connection with specific products or compilations that contain the covered work unless you entered into that arrangement or that patent license was granted prior to 28 March 2007 Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law 12 No Surrender of Others Freedom If conditions are imposed on you whether by court order agreement or otherwise that
85. vez la configuraci n se haya realizado y haya conexi n a la red se proceder a obtener las credenciales y actualizar el estado de los dispositivos Da ee Obtener SSID red Modo CONFIGURACION lt gt y Carga configuraci n Na localizaci n af No hay mas ODC e Cc a l N ao A PA ot Configurar planos Pa EN Obtener credenciales y N A Cargar planos a gt J No hay m s ODC Mostrar dispositivos y No est conectado a una wifi Ubicar dispositivos A en localizaci n 2 Es AN Obtener valores puertos E E Fr Pe Visualizar estados Sy Figura 5 Diagrama de actividades Inicializaci n M ster Universitario Software Libre Trabajo Fin de M ster 10 VisualDomo Control visual sobre dispositivos m viles para ODControl Visualizar puertos Tac gt Tref gt No hay m s ODC Tac lt Tref Leer puertos ODC Visualizar estados en plano Figura 6 Diagrama de actividades Visualizar puertos Los puertos del ODControl no mandan ning n tipo de se al al estilo de una interrupci n para indicar cuando su estado ha cambiado por lo que debe ser VisualDomo el que los interrogue cada cierto tiempo Tref para evaluar su estado En caso de que Tref sea mayor o igual al tiempo pasado desde la ltima encuesta Tac la informaci n volver a ser solicitada Por otra parte el pr
86. vo problema con la sincronizaci n entre canvas sobre todo pensando en un futuro en el que se incorporasen funcionalidades como zoom s O visualizaci n de varias plantas de manera simult nea 5 7 Localizaci n jquery auderoTextChanger La localizaci n de la aplicaci n nicamente en lo referente al idioma es muy sencilla en lo que respecta al c digo Javascript Unicamente se declara un objeto Translation con varias entradas en funci n del idioma Posteriormente a la hora de mostrar un determinado texto se accede a l por idioma El problema surge en la modificaci n del c digo HTML Para su traducci n se opt por el uso de una librer a desarrollada por Aurelio De Rosa 5 y liberada bajo MIT GPL 3 0 que en funci n del tipo de etiqueta y el ID cambia el texto Lamentablemente la librer a no soporta todas las caracter sticas necesitadas sobre todo con la traducci n de varios tipos de botones por lo que tuvo que ser modificada 5 8 Depuraci n Tal vez uno de los puntos d biles del desarrollo con PhoneGap Cordova es el sistema de depuraci n Por una parte no es una aplicaci n nativa que se comunique directamente con el entorno de trabajo y por otra el c digo que queremos depurar corre en un navegador que no est en la m quina de desarrollo De entre las posibles soluciones existentes 6 las aplicadas en el desarrollo pasan por e Dise ar realizando las pruebas con un navegador Web de escritorio con motor WebKit Chr
87. ware Libre Trabajo Fin de Master 46 VisualDomo Control visual sobre dispositivos m viles para ODControl to run it The Corresponding Source for a work in object code form means all the source code needed to generate install and for an executable work run the object code and to modify the work including scripts to control those activities However it does not include the work s System Libraries or general purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work For example Corresponding Source includes interface definition files associated with source files for the work and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require such as by intimate data communication or control flow between those subprograms and other parts of the work The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source The Corresponding Source for a work in source code form is that same work 2 Basic Permissions All rights granted under this License are granted for the term of copyright on the Program and are irrevocable provided the stated conditions are met This License explicitly affirms your unlimited permission to run the unmodified Program The output from running a covered work is covered by this License only if t
88. y Mobile e Creaci n de documentaci n en formato markdown e Creaci n sencilla de fuentes tipogr ficas e Conocimientos sobre la filosof a Responsive Design Valoraci n A la hora de valorar la experiencia tengo un sabor agridulce Por una parte acad micamente me encuentro muy satisfecho Los conocimientos adquiridos especialmente en el campo de la programaci n web han sido tremendos y ni que decir tiene del uso de un framework como Cordova Pero sin embargo veo que el uso de un aplicaci n HTML5 sobre m viles a n no est del todo afinada Creo que es una tecnolog a que va madurando a pasos agigantados y que ya tiene un nivel de madurez alto para la creaci n de cierto tipo de aplicaciones sencillas pero para aquellas que requieren ciertos componentes pesados a n dependen mucho del hardware de la m quina Adem s me resulta antinatural el desarrollo de aplicaciones plataforma de manera as ncrona posiblemente porque provengo de ese mundo La gesti n as ncrona para una aplicaci n meramente local resulta confusa tanto de entender como de implementar Por ltimo mi mayor enemigo el tiempo Quedan ideas en el tintero ideas que considero interesantes y que el tiempo no me ha dejado implementar y que probablemente me har an replantear ciertas decisiones tomadas Todo esto me lleva a hacerme una pregunta qu har a de otra manera Posiblemente desarrollar a en c digo nativo Java Objective C CH pero si la e

Download Pdf Manuals

image

Related Search

Related Contents

Sanyo PLV-Z800  Intel Pentium E5300  Understanding Temperature Control on the RDS2, RMS800, and…  Manual de Usuario de cga-usb  Samsung SC-152G Instrukcja obsługi  beschikbaar  B BBL™ Crystal™ Panel Viewer Operator`s Instructions  User Guide  Installation et mode d`emploi Gradateur à 4 canaux  Lenovo B575 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file