scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

En la actualidad la conservación de las carreteras es una tarea indispensable para asegurar la comodidad y seguridad de las personas que circulan por nuestras carreteras. Para facilitar esta tarea la empresa Iternova S.L. desarrolla y distribuye la plataforma SGWC-SCADA, que es el marco donde está ubicado este proyecto. El módulo de control y tratamiento de videocámara se integra dentro del sistema, completando e interactuando con el resto de módulos del mismo. El módulo consta de distintas secciones orientadas al control y telemonitorización de las videocámaras en el sistema, así como de las tareas de administración de estas. Para el desarrollo de las distintas secciones fue necesario implementar sistemas de almacenamiento y tratamiento de imágenes, conversión de imágenes en vídeos, gestión de vídeos, transferencia de imágenes desde las videocámaras, visualización de las videocámaras, geolocalización en mapas en tiempo real, generación y modificación de nuevas videocámaras , tareas de limpieza, recuperación de errores y logs de actividad. El módulo se integra en un entorno de nube de servidores, que opera sobre servicios web. Para el desarrollo de todas estas tareas se ha utilizado como lenguaje de programación PHP, combinado con javaScript / AJAX, así como sistemas de carga asíncrona de contenidos usando jQuery. Uso de la API de GoogleMaps y uso de BASH para los scripts que se ejecutan en las videocámaras. Como herramienta de gestión de tareas se ha usado Webissues y como gestor de versiones se ha utilizado Subversión. Todas las pruebas durante el desarrollo se han realizado sobre una videocámara Axis 207 presente en las instalaciones de la empresa terminando las pruebas sobre videocámaras del sistema en explotación. Asín Bernal, Carlos; Casas Cañada, Jorge

Full text

Proyecto de fin de Carrera Ingenier´ıa en Inform´atica Curso 2011/2012 Marzo 2012 Desarrollo de m´odulo de control y tratamiento de videoc´amaras para la gesti´on de la explotaci´on y conservaci´on de carreteras en la plataforma SGWC-SCADA Autor: Carlos As´ın Bernal Director: Jorge Casas Ca˜nada Ponente: Ignacio Martinez Ruiz Dep. de Ingenier´ıa Electr´onica y Comunicaciones. Escuela de Ingenier´ıa y Arquitectura Mar´ıa de Luna 1, 50018 Zaragoza ITERNOVA S.L. Plaza Goya 4 Bajos, 44001 Teruel Sor Juana de la Cruz 25, 50018 Zaragoza Desarrollo de m´odulo de control y tratamiento de videoc´amaras para la gesti´on de la explotaci´on y conservaci´on de carreteras en la plataforma SGWC-SCADA RESUMEN En la actualidad la conservaci´on de las carreteras es una tarea indispensable para asegurar la comodidad y seguridad de las personas que circulan por nuestras carreteras. Para facilitar esta tarea la empresa Iternova S.L. desarrolla y distribuye la plataforma SGWC-SCADA, que es el marco donde est´a ubicado este proyecto. El m´odulo de control y tratamiento de videoc´amara se integra dentro del sistema, completando e interactuando con el resto de m´odulos del mismo. El m´odulo consta de distintas secciones orientadas al control y telemonitorizaci´on de las videoc´amaras en el sistema, as´ı como de las tareas de administraci´on de estas. Para el desarrollo de las distintas secciones fue necesario implementar sistemas de almacenamiento y tratamiento de im´agenes, conversi´on de im´agenes en v´ıdeos, gesti´on de v´ıdeos, transferencia de im´agenes desde las videoc´amaras, visualizaci´on de las videoc´amaras, geolocalizaci´on en mapas en tiempo real, generaci´on y modificaci´on de nuevas videoc´amaras , tareas de limpieza, recuperaci´on de errores y logs de actividad. El m´odulo se integra en un entorno de nube de servidores, que opera sobre servicios web. Para el desarrollo de todas estas tareas se ha utilizado como lenguaje de programaci´on PHP, combinado con javaScript / AJAX, as´ı como sistemas de carga as´ıncrona de contenidos usando jQuery. Uso de la API de GoogleMaps y uso de BASH para los scripts que se ejecutan en las videoc´amaras. Como herramienta de gesti´on de tareas se ha usado Webissues y como gestor de versiones se ha utilizado Subversi´on. Todas las pruebas durante el desarrollo se han realizado sobre una videoc´amara Axis 207 presente en las instalaciones de la empresa terminando las pruebas sobre videoc´amaras del sistema en explotaci´on. Agradecimientos A Mam´a, Pap´a, J´ose, Eva, Yaya, Nono y Laura ´ Indice general 1. Introducci´on 1 1.1. Antecedentes del proyecto . . . . . . . . . . . . . . . . . . . . 1 1.2. Entorno de trabajo . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Objetivos y alcance . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . 4 1.5. Marco temporal del proyecto . . . . . . . . . . . . . . . . . . . 5 2. An´alisis de requisitos 7 3. Descripci´on del trabajo realizado 11 3.1. Modelo videoc´amaras . . . . . . . . . . . . . . . . . . . . . . . 11 3.2. Controlador videoc´amaras . . . . . . . . . . . . . . . . . . . . 13 3.2.1. Sistema de almacenamiento y tratamiento de im´agenes 14 3.2.2. Tareas peri´odicas de control del sistema . . . . . . . . . 17 3.2.3. Operaciones internas de los paneles de administraci´on yvisualizaci´on....................... 18 3.3. Vista videoc´amaras . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4. Webservices videoc´amaras . . . . . . . . . . . . . . . . . . . . 29 3.4.1. Transferencia de im´agenes . . . . . . . . . . . . . . . . 30 4. Conclusiones 33 4.1. Conclusiones generales . . . . . . . . . . . . . . . . . . . . . . 33 4.2. Lineasfuturas........................... 34 4.3. Conclusiones profesionales y personales . . . . . . . . . . . . . 35 A. Planificaci´on y control de esfuerzos 43 A.1.Planificaci´on............................ 43 A.2. Control de esfuerzos . . . . . . . . . . . . . . . . . . . . . . . 44 B. An´alisis y dise˜nos en detalle 47 B.1. Cat´alogo de Requisitos . . . . . . . . . . . . . . . . . . . . . . 47 B.1.1. Requisitos Funcionales . . . . . . . . . . . . . . . . . . 47 B.1.2. Requisitos No Funcionales . . . . . . . . . . . . . . . . 50 B.2. Dise˜no de la base de datos . . . . . . . . . . . . . . . . . . . . 50 B.3. Diagramas de flujos de datos . . . . . . . . . . . . . . . . . . . 52 B.4. Diagrama de navegaci´on . . . . . . . . . . . . . . . . . . . . . 57 B.5. Prototipado de ventanas . . . . . . . . . . . . . . . . . . . . . 57 C. Manual de usuario 64 C.1. Configuraci´on del m´odulo . . . . . . . . . . . . . . . . . . . . 64 C.2.Usodefiltros ........................... 65 C.3.VistasP´ublicas .......................... 66 C.3.1. Visualizar videoc´amara . . . . . . . . . . . . . . . . . . 66 C.3.2. Mapa de localizaciones . . . . . . . . . . . . . . . . . . 67 C.3.3. Visualizaci´on m´ultiple . . . . . . . . . . . . . . . . . . 68 C.3.4. Visualizaci´on rotatoria . . . . . . . . . . . . . . . . . . 69 C.3.5. Estado de las videoc´amaras . . . . . . . . . . . . . . . 70 C.3.6. Selecci´on rango fecha/hora . . . . . . . . . . . . . . . . 71 C.4.Vistasprivadas .......................... 73 C.4.1.Creaci´on.......................... 73 C.4.2.Edici´on .......................... 75 C.4.3.Borrado .......................... 77 C.4.4.Reseteado ......................... 77 C.4.5. Asociar imagenes, videos, ficheros, ... . . . . . . . . . . 78 Cap´ıtulo 1 Introducci´on El presente documento representa la memoria de trabajo del proyecto de final de carrera “Desarrollo de m´odulo de control y tratamiento de videoc´amaras para la gesti´on de la explotaci´on y conservaci´on de carreteras en la plataforma SGWC-SCADA”, realizado por el alumno Carlos As´ın Bernal y dirigido por Jorge Casas Ca˜nada. Se ha desarrollado dentro de la empresa Iternova, S.L., empresa colaboradora con el Centro Polit´ecnico Superior de la Universidad de Zaragoza. En este proyecto se ha desarrollado el m´odulo de gesti´on de videoc´amaras, as´ı como el sistema de transferencia de im´agenes desde la videoc´amara a los servidores, su visualizaci´on, gesti´on y almacenamiento. 1.1. Antecedentes del proyecto El proyecto desarrollado es una parte del sistema SGWC el cual se trata del primer Sistema Web SCADA (Supervisory Control And Data Acquisition) desarrollado para la gesti´on de la Conservaci´on y Explotaci´on de Carreteras, e implantado a nivel nacional. El sistema plantea un importante salto cualitativo en la gesti´on de la explotaci´on de carreteras, permitiendo acceder a toda la informaci´on de las mismas de una forma integrada: Se trata de un Sistema Web (permite el acceso a la informaci´on en cualquier momento y lugar), multidispositivo (facilita la integraci´on de hardware de cualquier fabricante), en c´odigo libre (no requiere de 1 licencias ni mantenimientos), modular (se adapta a las necesidades de cualquier demarcaci´on) y multiusuario (con diferentes roles de acceso a la informaci´on) Sistema basado en SaaS (Software as a Service), pudiendo ser adaptado a las necesidades de cada cliente. El sistema desarrollado, formado por varios m´odulos, integra de una forma optimizada la gesti´on de todos los elementos de inter´es de las carreteras: M´odulo de informaci´on y gesti´on general de carreteras, con sus elementos m´as significativos inventariados y geolocalizados. M´odulo de gesti´on de la vialidad en tiempo real: Sistema de gesti´on de flotas (GPS), de c´amaras de explotaci´on, estaciones meteorol´ogicas, aforos, paneles de informaci´on, etc. M´odulos de comunicaci´on, m´odulos de documentaci´on (integra un completo gestor de expedientes), y funcionalidades avanzadas de gesti´on Web. M´odulo de agenda avanzada (para la gesti´on de las actuaciones programables y no programables de vialidad), y sistema de control y seguimiento de trabajos. El sistema SGWC se ha convertido en el sistema m´as avanzado de gesti´on de la Explotaci´on y Conservaci´on de carreteras, cuyo ´exito est´a siendo avalado por su implantaci´on paulatina en las principales provincias y comunidades aut´onomas espa˜nolas 1.2. Entorno de trabajo Este proyecto ha sido desarrollado en Iternova S.L. Iternova S.L. es un proveedor de soluciones tecnol´ogicas innovadoras para empresas, ciudadanos y administraciones, con sedes en Zaragoza y Teruel. Ofrecen soluciones personalizadas de sistemas web, as´ı como sistema de gesti´on de pymes, fichaje mediante DNIE y mobile marketing. 2 Actualmente uno de sus campos de trabajo es el desarrollo del sistema SGWC el cu´al se trata del primer Sistema Web SCADA (Supervisory Control And Data Acquisition) desarrollado para la gesti´on de la Conservaci´on y Explotaci´on de Carreteras. En este campo se enmarca el presente proyecto de final de carrera. A continuaci´on se presenta un desglose de las tecnolog´ıas utilizadas en el desarrollo del PFC: El m´odulo desarrollado se integra en el sistema SGWC, el cu´al es un sistema integral de gesti´on de carreteras, este funciona sobre servicios web, en un entorno multiservidor. Para el desarrollo del m´odulo se ha utilizado el lenguaje de programaci´on PHP, en combinaci´on con javaScript / AJAX. El control de versiones durante el desarrollo se ha realizado utilizando Subversi´on y se ha usado Webissues como gestor de tareas. La documentaci´on del sistema se ha redactado en el WIKI de desarrollo de la empresa y la presente memoria usando LATEX. El sistema se ha desarrollado ´ıntegramente en los servidores de pruebas, en combinaci´on con una videoc´amara Axis 207 presente en las instalaciones de la empresa. Una vez desarrollado, la segunda fase de depurado de errores se llevo a cabo en los servidor de pruebas presente en el sistema de explotaci´on. Tras el periodo de pruebas el sistema se ha implantado en cuatro demarcaciones de carreteras de Espa˜na. 1.3. Objetivos y alcance El objetivo principal de este Proyecto Fin de Carrera (PFC), dentro del Sistema de Gesti´on Web de Carreteras - Supervisory Control And Data Acquisition (SGWC-SCADA) de la empresa ITERNOVA S.L., es desarrollar un nuevo m´odulo para la gesti´on de videoc´amaras de explotaci´on, soportado por un sistema de telecomunicaciones capaz de transferir las im´agenes desde las videoc´amaras al servidor de forma segura. 3 El m´odulo constar´a de distintas secciones orientadas al control y telemonitorizaci´on de las videoc´amaras en el sistema, as´ı como de las tareas de administraci´on de estas. Las secciones destinadas al control deber´an ser capaces, entre otras funciones, de mostrar en tiempo real el estado operativo de las videoc´amaras, el estado actual de las grabaciones de varias videoc´amaras simult´aneamente, obtener fotogramas espec´ıficos y consultar el hist´orico de grabaciones anteriores. Dado que las grabaciones se generar´an a partir de las im´agenes obtenidas de las videoc´amaras, ser´a necesario optimizar el sistema de almacenamiento y archivado, as´ı como el sistema de generaci´on de v´ıdeos para permitir consultar y descargar todas las grabaciones de una videoc´amara en un intervalo de tiempo determinado. Adem´as, se pretende mostrar en un mapa la ubicaci´on exacta de las videoc´amaras (geolocalizaci´on), el estado operativo de las mismas y, en el caso de las videoc´amaras m´oviles, monitorizar en tiempo real su posici´on. En las secciones de administraci´on deber´a ser posible a˜nadir nuevas videoc´amaras, as´ı como modificar todos sus par´ametros de configuraci´on. Para la transmisi´on de im´agenes desde las videoc´amaras ser´a necesario dise˜nar e implementar un sistema de telecomunicaciones flexible basado en un modelo cliente – servidor. Para ello, se desarrollar´an scripts que se ejecutar´an peri´odicamente en las videoc´amaras y que ser´an compatibles con los distintos modelos de videoc´amaras que operan en el sistema (cliente), para transmitir las im´agenes al servidor. Tambi´en se contemplan servicios capaces de gestionar las im´agenes recibidas en el servidor remoto y comprobar las credenciales de capa videoc´amara en cada env´ıo (servidor). Como resultado del PFC, se desarrollar´a el m´odulo completo, se integrar´a con la plataforma SGWC-SCADA de la empresa ITERNOVA S.L. y se evaluar´a su funcionamiento t´ecnico y viabilidad tecnol´ogica en un entorno de nube de servidores, que operar´a sobre servicios web. Todo ello constituir´a un sistema capaz de gestionar todas las videoc´amaras del sistema SGWC-SCADA de forma ´optima y flexible, adaptado a las necesidades espec´ıficas del modelo de negocio del cliente final. 1.4. Estructura de la memoria La divisi´on de la memoria contempla los siguientes apartados: 4 Cap´ıtulo 1, descripci´on de los objetivos y alcance del proyecto. Cap´ıtulo 2, an´alisis de requisitos. Cap´ıtulo 3, descripci´on del trabajo realizado. Cap´ıtulo 4, presenta las conclusiones del proyecto y las posibles lineas de trabajo a partir del presente PFC. Bibliograf´ıa Anexo A, presenta la planificaci´on, el control de esfuerzos y m´etricas. Anexo B, an´alisis y dise˜nos en detalle del sistema. Anexo C, manual de usuario 1.5. Marco temporal del proyecto En el diagrama de la Figura 1.1 se resume el desarrollo temporal del proyecto. Tambi´en se incluye en la tabla 1.1 un resumen de las horas que han sido necesarias para completar cada una de las distintas fases del desarrollo del proyecto y en la tabla 1.2 la distribuci´on de horas organizadas por meses. El control y organizaci´on del desarrollo del proyecto esta explicado m´as en profundidad en el anexo A. Figura 1.1: Diagrama de la distribuci´on temporal de las fases del proyecto 5 Tabla 1.1: Horas empleadas en cada tarea Tabla 1.2: Horas empleadas por mes 6 Cap´ıtulo 2 An´alisis de requisitos En este capitulo se van a listar los principales requisitos de funcionamiento del proyecto, pudiendo consultar el listado completo en el anexo B. 1. Control del sistema Se podr´a configurar la antig¨uedad m´axima de las im´agenes y los v´ıdeos de las videoc´amaras. Configurar una cuota de espacio m´axima para el almacenamiento de im´agenes y v´ıdeos de cada videoc´amara. Existir´an tareas capaces de borrar imagenes antiguas de las videoc´amaras. Tareas capaces de borrar v´ıdeos antiguos de las videoc´amaras. Tareas capaces de borrar imagenes y v´ıdeos para cumplir la cuota configurada para cada videoc´amara. Se comprobar´a peri´odicamente el cumplimiento de cuotas y antig¨uedad de los las im´agenes y videos de las videoc´amaras. Se generar´an logs en toda acci´on de borrado. 2. Gesti´on de v´ıdeos Se podr´a configurar la duraci´on de los v´ıdeos a generar. Los v´ıdeos se generar´an en H264, se convertir´an las im´agenes de una hora concreta, estas se borraran y su duraci´on depender´a de la configuraci´on del m´odulo. 7 Se podr´an crear v´ıdeos temporales de la ´ultima hora sin que esta haya terminado. Al generar un v´ıdeo se guardar´a su ´ultima imagen como ”lastimage”. Los v´ıdeos se generan distribuidamente, cada 15 minutos se generar´an los v´ıdeos de un cuarto del total de videoc´amaras. Se ejecutaran las tareas de generaci´on de v´ıdeos cada 15 minutos peri´odicamente. Cuando se generen los v´ıdeos se comprobar´an posibles errores de conversi´on anteriores para corregirlos. Se actualizar´an los logs en cada generaci´on de v´ıdeo. Se podr´a generar encapsulados de v´ıdeos para su posterior descarga. 3. Administraci´on de videoc´amaras Para poder realizar cualquier operaci´on de administraci´on se tendr´a que tener permisos de acceso, lectura y modificaci´on. Se podr´a crear nuevas videoc´amaras. Modificar los atributos de las videoc´amaras ya creadas salvo el nombre y el ID. Borrar videoc´amaras, borrando esto toda informaci´on relativa a la misma. Resetear videoc´amaras, lo cual consiste en borrar las im´agenes y v´ıdeos de la misma. Asociar un gps a una videoc´amara. Asociar una estaci´on meteorol´ogica a una videoc´amara. Asociar ficheros externos a las videoc´amaras, as´ı como localizaciones y enlaces. 4. Visor de Im´agenes Se podr´a detener y reanudar la ejecuci´on. Obtener fotogramas espec´ıficos. Ampliar a pantalla completa y reducir. 5. Vistas 8 Se podr´a filtrar las videoc´amaras por sus campos m´as relevantes para facilitar proceso de b´usqueda. Mostrar en tiempo real el estado operativo de las videoc´amaras. Mostrar el estado actual de las grabaciones de varias videoc´amaras simult´aneamente. Mostrar en mapa la ubicaci´on de una o m´as videoc´amaras, as´ı como su estado operativo. Consultar y descargar v´ıdeos de las videoc´amaras en un intervalo de tiempo determinado (historial). Mostrar en tiempo real varias videoc´amaras de forma rotatoria. Si es una videoc´amara m´ovil se monitorizar´a en tiempo real su posici´on y se informaci´on sobre el tipo de veh´ıculo en que est´a montada. Si una videoc´amara tiene una estaci´on meteorol´ogica asociada se mostrar´a informaci´on de la misma. 6. Transferencia de im´agenes desde las videoc´amaras Los scripts se ejecutar´an periodicamente en las videoc´amaras. Se enviar´an las credenciales de la videoc´amara en cada env´ıo. Se env´ıa la fecha de captura de la imagen. Se enviar´a la informaci´on cifrada en MD5. Al recibir una imagen se comprobar´an las credenciales de cada env´ıo antes de gestionarla. Se actualizar´a la direcci´on ip en caso de cambiar respecto a la recepci´on anterior. Se guardar´a la imagen en la carpeta correspondiente a la videoc´amara emisora. Se actualizar´an los logs en el proceso, guardando la IP, ID de la videoc´amara y acci´on realizada. 9 sistema y se compara el sistema anterior respecto al sistema desarrollado. Figura 3.6: Comparaci´on almacenamiento entre sistemas A la vista de los resultados podemos afirmar que el sistema desarrollado ha conseguido que el espacio de almacenamiento utilizado sea una d´ecima parte respecto al sistema anterior y reduce notablemente el n´umero de elementos por directorio, agiliz´andose as´ı las tareas de listado y visualizaci´on como se deseaba. Para hacer funcionar este sistema fue necesario desarrollar las siguientes subtareas: 1. Generaci´on de v´ıdeos: son el conjunto de tareas encargadas de generar el v´ıdeo de la hora indicada a partir de las im´agenes existentes, a parte de generar el v´ıdeo, se genera un nuevo indicador de la ´ultima imagen convertida para que en caso de error, se pueda consultar la hora de parada de servicio de la videoc´amara. Se borraran las im´agenes ya convertidas y se actualizar´an los logs de control del m´odulo. A parte de lo ya indicado si el usuario lo solicita ser´a posible la creaci´on de un v´ıdeo temporal para la consulta de la grabaci´on de la hora actual, 16 lo cu´al no implicar´a el borrado de las im´agenes. 2. Comprobaci´on de errores en conversi´on: estas tareas son las encargadas de comprobar si se han generado correctamente los v´ıdeos hasta la hora actual, as´ı en caso de que por cualquier motivo haya v´ıdeos pendientes, estos se generar´an, actualizando as´ı los logs y borrando las im´agenes pertinentes. 3. Proceso de generaci´on de v´ıdeos: Todas las tareas de generaci´on y control de v´ıdeos se controlan con el sistema de distribuci´on de estos, este sistema es el encargado de balancear la carga de generaci´on de v´ıdeos, de tal forma que se ejecuta desde el gestor de tareas (demonio cron, a trav´es del m´odulo crondaemon) cada 15 minutos. En cada ejecuci´on organiza la generaci´on de v´ıdeos y cada 15 minutos se convierten los v´ıdeos de un cuarto de las videoc´amara, as´ı distribuimos la carga en el servidor para sea m´as constante y no interfiera con el resto de tareas del mismo. 4. Empaquetado y descarga: A parte de las ya explicadas se desarrollaron tareas para el empaquetado de los v´ıdeos de una videoc´amara en un intervalo de tiempo determinado mediante el uso de librer´ıas TAR. Para que el usuario pueda obtener dicho fichero, se implementaron sistemas de generaci´on de descargas din´amicas por protocolo HTTP capaces de comprobar las credenciales del usuario, para posteriormente gestionar las transferencias de los ficheros solicitados. 3.2.2. Tareas peri´odicas de control del sistema Para controlar la antig¨uedad m´axima de las im´agenes y v´ıdeos almacenados en el servidor, as´ı como la cuotas m´aximas de espacio y la integridad del sistema se desarrollaron este conjunto de tareas que se ejecutan peri´odicamente una vez al d´ıa. Las tareas que lo componen son: 1. Eliminaci´on de im´agenes y v´ıdeos: son las tareas encargadas de borras las im´agenes y los v´ıdeos indicados, as´ı como del limpiado de ficheros temporales, para mantener la integridad del sistema de directorios de las videoc´amaras. 17 2. Control de antig¨uedad y cuotas: Son las tareas encargadas de comprobar que no existen im´agenes ni v´ıdeos de m´as de los d´ıas deseados (configurables), para asegurarse el cumplimiento de la Ley Org´anica de Protecci´on de Datos. Adem´as en las videoc´amaras que se haya especificado una cuota de espacio m´aximo, est´a tarea ser´a la encargada de comprobar el cumplimiento de la misma y en caso de que no se cumpla ejecutar las tareas de borrado. 3.2.3. Operaciones internas de los paneles de administraci´on y visualizaci´on Desde el controlador se efect´uan todas las operaciones de carga de informaci´on a visualizar y comprobaci´on de permisos. As´ı habr´ıa que diferenciar entre tareas de: Administraci´on Generaci´on y control de visualizadores Geolocalizaci´on y mostrado en mapas B´usqueda y carga de informaci´on Las tareas de administraci´on son las encargadas de gestionar los paneles de creaci´on, edici´on, eliminaci´on y reseteado de videoc´amaras. Toda tarea de administraci´on precisar´a el acceso desde la zona privada del sistema, as´ı como el estricto cumplimiento de los permisos de acceso, consulta y modificaci´on. Para facilitar las tareas modificaci´on, se dise˜naron tareas de b´usqueda y filtrado de videoc´amaras. Los resultados de estas b´usquedas pueden paginarse y el n´umero de elementos por p´agina se puede modificar en el fichero de configuraci´on del m´odulo. Adem´as se puede asociar a una videoc´amara enlaces web, im´agenes, v´ıdeos, anotaciones, localizaciones y ficheros que complementen la informaci´on relacionada con la videoc´amara. 18 Estos elementos asociados a las videoc´amaras se podr´an visualizar en la ficha de la videoc´amara como se explicar´a m´as adelante. Las tareas de generaci´on y control de visualizadores surgieron por la necesidad de mostrar tanto las im´agenes como los v´ıdeos de forma sencilla, ocultando as´ı la complejidad interna del sistema al usuario. Para mostrar las im´agenes se desarrollo un conjunto de tareas que combinando el uso de PHP junto con funciones javaScript / AJAX pudieran generar un visor capaz de mostrar las im´agenes en tiempo real, de forma secuencial como si fuera un v´ıdeo, sin que se aprecien saltos en los cambios de imagen, actualizando el mismo as´ıncronamente para evitar la recarga de la p´agina en que se muestre. El visor desarrollado es capaz de: Detener y reanudar la ejecuci´on. Descargar la imagen que se est´a mostrado en el visor. Visualizar en pantalla completa. El visor se desarrollo pensado en la posibilidad de mantener varias ejecuciones del mismo en paralelo para poder mostrar varios visores simult´aneamente y as´ı facilitar las tareas de control del usuario, posteriormente veremos como se han explotado estas funcionalidades en los paneles creados. Para la visualizaci´on de v´ıdeos se decidi´o hacer uso de un visor ya existe llamado JWplayer, debido a su calidad, rendimiento y a la posibilidad de generar listas de reproducci´on din´amica usando javaScript. Para la generaci´on de las listas a partir de los intervalos de tiempo indicados por el usuario, se comprueba la existencia de v´ıdeos en el intervalo solicitado, de no encontrarse se notifica al usuario. Si se encuentran los v´ıdeos se genera la lista, en el caso de que se soliciten v´ıdeos aun no creados, si existen las im´agenes pertenecientes a ese intervalo se ejecutaran las tareas de generaci´on de v´ıdeos explicadas previamente. Para las tareas Geolocalizaci´on y mostrado en mapas, a partir de los atributos latitud y longitud de cada videoc´amara generaremos los mapas que contengan a las mismas usando la API de Google Maps v3 (que permite su correcta visualizaci´on incluso en smartphones, tablets y dispositivos m´oviles), estas se podr´an filtrar por cualquiera de sus atributos para reducir el n´umero 19 Figura 3.7: Visor de im´agenes con controles Figura 3.8: Visor de videos con controles 20 elementos mostrados en el mapa y as´ı facilitar su localizaci´on, dependiendo de la videoc´amara que tengamos seleccionada en cada momento si existen imagen de Google Streetview para la localizaci´on de la misma, estas se mostrar´an junto al mapa para facilitar al usuario el reconocimiento de la zona donde est´a ubicada la videoc´amara. Como cada carretera tiene asociado un sector concreto es posible consultar todas las videoc´amaras de un sector o de una carretera, para realizar tareas de control de las mismas. En el caso de que las videoc´amaras sean m´oviles (asociadas a un veh´ıculo con GPS), la posici´on se actualiza peri´odicamente (siendo el intervalo de actualizaci´on configurable, p.e. cada 10 segundos para poder conocer en todo momento su posici´on. Figura 3.9: Informaci´on sobre videoc´amara con gps y estaci´on meteorol´ogica asociada A parte de esto, seleccionando en la videoc´amara podremos consultar la informaci´on de la misma, el tipo de veh´ıculo, posici´on, descripci´on en el caso de que sea una videoc´amara m´ovil. Si tiene asociada una estaci´on meteorol´ogica, se mostrar´a el tipo de esta, as´ı como los datos que este recopilado. 21 En las tareas de b´usqueda y carga de informaci´on, se abarcan todas las acciones relacionadas con generaci´on de filtros de informaci´on, autocompletado y sugerencias de formularios, listados de videoc´amaras, generaci´on de fichas de videoc´amaras y control de carga as´ıncrona de secciones del m´odulo necesarias para el funcionamiento de las vistas existentes en el m´odulo. Se ha dedicado especial atenci´on al dise˜no de los filtros de b´usqueda, ya que las distintas demarcaciones disponen de un n´umero elevado de videoc´amaras y sin herramientas como esta les ser´ıa mucho m´as complicado gestionarlas. Los filtros se han implementado considerando los principales par´ametros de b´usqueda que se pueden aplicar a las distintas videoc´amaras. Para facilitar el uso de los filtros estos van sugiriendo posibles resultados a su b´usqueda seg´un el usuario va introduciendo caracteres. As´ı evitamos a los usuarios la memorizaci´on de los c´odigos asociados a las videoc´amaras. El motivo del desarrollo de estos formularios inteligentes fue evitar desplegables de selecci´on, porque al ser un n´umero tan elevado de elementos resultaban extremadamente complicados de utilizar por los usuarios. Las sugerencias de posibles resultados facilitadas por los formularios, corresponden exclusivamente con los elementos que el usuario tiene permiso para visualizar. En la figura 3.10 se muestra un ejemplo de autocompletado para la selecci´on de una carretera, as´ı del conjunto de filtros que se pueden aplicar en la b´usqueda de las videoc´amaras. Figura 3.10: Formulario de b´usqueda de videoc´amaras, cargando el filtrado por carretera 22 Estos filtros se utilizan en las principales vistas de consulta de videoc´amaras. 3.3. Vista videoc´amaras En la vista se generan los distintos paneles que se muestran al acceder tanto a las zonas de administraci´on como a las publicas. En el anexo B se muestra el prototipado de ventanas utilizado en todas las vistas. Aqu´ı explicaremos las vistas m´as interesante por su implementaci´on y utilidad. Para una mayor comprensi´on del funcionamiento de estas vistas y de las que componen el panel de administraci´on se recomienda consultar el manual de usuario presente en el anexo C. 1. Ficha de videoc´amara: Esta vista se mostrar´a por defecto al seleccionar una videoc´amara, aqu´ı podremos consultar toda la informaci´on relativa a esta de forma detallada, el visor en el que se podr´a consultar las im´agenes que esta tomando, ver su geolocalizaci´on en tiempo real y consultar las im´agenes StreetView de la zona donde esta ubicada. Por defecto el visor mostrado es el explicado previamente, pero si una videoc´amara no esta conectada con ip din´amica y esta conectada al servidor en una red de datos de alta velocidad, se desarrollo la opci´on de visualizar la videoc´amara en tiempo real v´ıa streamming, sustituyendo este al visor antes mencionado. Esta opci´on no se est´a utilizando actualmente en explotaci´on debido a las limitaciones de la red. En el caso de que la videoc´amara tenga un veh´ıculo GPS asociado, se podr´a consultar la ficha del mismo desde esta vista, de igual forma tambi´en se mostrar´ıa informaci´on si esta tuviera asociada una estaci´on meteorol´ogica. A parte de esto aqu´ı se mostrar´an todos los elementos externos que est´en asociados a la videoc´amara tales como im´agenes, videos, anotaciones, .... 23 Figura 3.11: Ficha de la videoc´amara N-420 - PK 776,900 – #78 2. Mapa de localizaci´on: Permite visualizar la posici´on de las videoc´amaras en el mapa, estas se pueden filtrar para limitar los resultados mostrados. El mapa se centrar´a autom´aticamente en la posici´on donde est´en las videoc´amaras seleccionadas y se podr´a consultar el estado de las mismas (´ultima imagen, gps, estaci´on meteorol´ogica), as´ı como visualizar su posici´on en Streetview en el caso de existir im´agenes en su posici´on Adem´as de esto se doto al mapa de la capacidad de ampliarse a pantalla completa para facilitar la navegaci´on por el mismo. Esta vista resulta extremadamente ´util para hacer comprobaciones rutinarias de un sector o de una carretera, as´ı como para estudiar las posibles nuevas ubicaciones de videoc´amaras en el territorio asignado. 3. Visualizaci´on m´ultiple: En esta vista ser´a posible consultar hasta cuatro videoc´amaras simult´aneamente, para facilitar las tareas de control de los operarios. Se puede ampliar la videoc´amara que se quiera visualizar, sin perder la reproducci´on de las dem´as ya que cada uno de los reproductores trabaja de forma independiente. 4. Visualizaci´on rotatoria: En esta vista se podr´an consultar hasta ocho 24 Figura 3.12: Mapa localizaci´on cargado con las videoc´amaras de la carretera N-420 25 32 Cap´ıtulo 4 Conclusiones En este cap´ıtulo se reflexiona sobre las conclusiones generales del desarrollo del proyecto, se apuntan algunas posibilidades de mejoras y trabajo futuro, y se termina con una peque˜na conclusi´on a nivel personal. 4.1. Conclusiones generales La conclusi´on m´as importante del desarrollo de este proyecto es que se ha conseguido, en el tiempo esperado, desarrollar el m´odulo de gesti´on de videoc´amaras y el sistema de transferencia de im´agenes: Este sistema esta operando a pleno rendimiento actualmente en distintas demarcaciones de conservaci´on de carreteras de Espa˜na, con resultados muy satisfactorios. A modo de resumen podr´ıamos destacar como las tareas principales realizadas en el desarrollo del modulo: Desarrollo de tareas de control: •Mostrado del estado operativo de la c´amaras en tiempo real. •Mostrado las grabaciones actuales de varias c´amaras simult´aneamente. •Obtenci´on de fotogramas espec´ıficos. 33 •Geolocalizaci´on de las c´amaras, as´ı como mostrado en el mismo de su estado operativo y la grabaci´on actual. •Monitorizaci´on de posici´on en tiempo real de las c´amaras m´oviles •Gesti´on del hist´orico de grabaciones. •Almacenamiento de im´agenes y videos generados, as´ı como optimizaci´on del mismo. •Sistema configurable de generaci´on de v´ıdeos. •Tareas de control y recuperaci´on de errores. Desarrollo de tares de administraci´on: •Posibilidad de A˜nadir, modificar y eliminar videoc´amaras •Configuraci´on de permisos de usuarios •Asignaci´on de sectores y carreteras Desarrollo de sistema de transmisi´on flexible de im´agenes desde las videoc´amaras Desarrollo de paneles para la utilizaci´on de los controles Implatanci´on del modulo en sistemas en explotacion 4.2. Lineas futuras A continuaci´on se exponen algunas de las posibles mejoras que se podr´ıan realizar continuando con la l´ınea del proyecto: Utilizaci´on de sistemas WDSL-SOAP para las transmisiones entre las videoc´amaras y el servidor. Posibilidad de modificar el enfoque y el zoom de las videoc´amaras (PTZ). Posibilidad de modificar los par´ametros internos de funcionamiento de las videoc´amaras desde el interfaz del sistema sin tener que acceder a ellas. Toma de im´agenes de mayor tama˜no bajo petici´on parando temporalmente el env´ıo de im´agenes de control en caso de existir limitaciones de ancho de banda. 34 Activaci´on del visionado en tiempo real de la videoc´amara en caso de que esta este en la misma red que el servidor. Posibilidad de env´ıo de grabaciones v´ıa streaming para visualizar en tiempo real, la grabaci´on se volcar´ıa en el servidor, este las dividir´ıa en horas y las retransmitir´ıa. 4.3. Conclusiones profesionales y personales El desarrollo de este proyecto me ha aportado conocimientos que ser´an ´utiles en mi vida profesional. Conocimientos t´ecnicos en cuanto al problema tratado, y otros conocimientos como son el desarrollo de software y el trabajo colaborativo con otros programadores. En cuanto a los conocimientos t´ecnicos me gustar´ıa destacar que gracias a la formaci´on recibida durante la realizaci´on del proyecto he llegado a comprender mucho mejor como trabajar en proyectos de software de gran tama˜no como es el sistema SGWC. He aprendido a trabajar con javaScript / AJAX, uso de JSON, uso de la API de googleMaps y he ampliado mis conocimientos sobre PHP, el cu´al lo hab´ıa utilizado previamente, pero no hab´ıa necesitado hacer un uso tan exhaustivo de la documentaci´on como en este caso. La necesidad de utilizar clases y m´etodos que no conoc´ıa me ha hecho aprender a consultar correctamente la documentaci´on disponible y he aprendido bastante acerca de un lenguaje que creo que ser´a fundamental en mi vida profesional. Como dec´ıa, este proyecto tambi´en me ha aportado una serie conocimientos como podr´ıa ser el trabajo en equipo con un grupo amplio de programadores bajo la direcci´on de un director t´ecnico, la necesidad de conocer el trabajo de otros para poder combinarlo con lo que se esta programando y as´ı avanzar en conjunto, la necesidad de formarse en el framework de la empresa para poder desarrollar correctamente haciendo uso de las librer´ıas existentes, as´ı como el trabajo de depurado de errores y el proceso de implantaci´on del sistema en explotaci´on. He empezado a dar importancia a aspectos que hasta ahora no hab´ıa tenido tan en cuenta debido a la inferior magnitud de los proyectos a los que me hab´ıa enfrentado a lo largo de la carrera, como la organizaci´on (imprescindible) tanto de proyectos como del software, la necesidad de una 35 metodolog´ıa de trabajo, la realizaci´on de pruebas o la importancia del dise˜no frente a la implementaci´on. A nivel personal estoy muy satisfecho con el trabajo realizado, el ambiente de trabajo ha sido excelente. Resulta muy gratificante ver como el sistema funciona perfectamente y la empresa esta recibiendo muy buenas cr´ıticas de los clientes. 36 Bibliograf´ıa Aqu´ı se exponen los documentos consultados durante el proceso de desarrollo del PFC: PHP: •http://www.php.net/manual/es/ SQL: •http://dev.mysql.com/doc/refman/5.0/es/index.html JavaScript / AJAX / JSON: •http://searchwindevelopment.techtarget.com/tutorial/Ajax-Learning- Guide •http://docs.jquery.com/Main Page •http://docs.jquery.com/Tutorials •http://docs.1060.org/docs/3.1.0/book/discovered/doc mod json guide.html •http://brenelz.com/blog/ajax-json-guide/ •http://www.ibm.com/developerworks/library/wa-aj-5best/ BASH: •http://tldp.org/LDP/abs/html/ Videoc´amaras Axis: •http://www.networkwebcams.co.uk/blog/2007/02/27/howto-set-up- scheduled-ftp-events-in-your-axis-207w-network-camera/ •http://www.peterlelie.de/praxistips/axis wetter.html 37 •http://www.plevenon-meteo.info/webcam description.html •http://www.electronika.fr/blog/?p=155 •http://www.axis.com/techsup/cam servers/dev/cam http api index.php File system / CRON: •http://www.mtbase.com/contenido/documento.jsp?id=10009 •http://www.thegeekstuff.com/2010/09/linux-file-system-structure/ Generaci´on v´ıdeos: •http://www.ffmpeg.org/documentation.html •http://flowplayer.org/forum/7/12671 Reproductor v´ıdeos: •http://www.longtailvideo.com/support/jw-player/jw-player-for-flash- v5 •http://www.longtailvideo.com/support/jw-player/jw-player-for-flash- v5/23/creating-a-javascript-playlist •http://kcivey.github.com/jquery.jwplayer/demo.html •http://plugins.jquery.com/project/jwplayer •http://developer.longtailvideo.com/contributors/nyboe/JW API xmpl 6- 2-0-0.html Documentaci´on interna de la empresa: •https://wiki.iternova.net/doku.php?id=smartportal:modules:core:crondaemon •https://wiki.iternova.net/doku.php?id=smartportal:howto: how- to custom:configuration files •https://wiki.iternova.net/doku.php?id=smartportal:howto: how- to ajax •https://wiki.iternova.net/doku.php?id=smartportal:modules: core: controller utils •https://wiki.iternova.net/doku.php?id=smartportal:modules: core: controller smartportalmodules •https://wiki.iternova.net/doku.php?id=smartportal:modules: core: controller controller 38 •https://wiki.iternova.net/doku.php?id=smartportal:howto: how- to update to ajax loading •https://wiki.iternova.net/doku.php?id=projects:sgwc:roadmap: development servers iternova •https://wiki.iternova.net/doku.php?id=projects:sgwc:roadmap: videocamaras •https://wiki.iternova.net/doku.php?id=smartportal:modules: modules: videocamaras •https://wiki.iternova.net/doku.php?id=smartportal:howto: how- to update to ajax loading •https://wiki.iternova.net/doku.php?id=smartportal:howto: how- to phpdocs •https://wiki.iternova.net/doku.php?id=smartportal:modules: core: googlemaps 39 40 Anexos 41 Se podr´a configurar la antig¨uedad m´axima de las im´agenes y los v´ıdeos de las videoc´amaras. Configurar una cuota de espacio m´axima para el almacenamiento de im´agenes y v´ıdeos de cada videoc´amara. Existir´an tareas capaces de borrar imagenes antiguas de las videoc´amaras. Tareas capaces de borrar v´ıdeos antiguos de las videoc´amaras. Tareas capaces de borrar imagenes y v´ıdeos para cumplir la cuota configurada para cada videoc´amara. Se comprobar´a peri´odicamente el cumplimiento de cuotas y antig¨uedad de los las im´agenes y videos de las videoc´amaras. Se generar´an logs en toda acci´on de borrado. 2. Gesti´on de v´ıdeos Se podr´a configurar la duraci´on de los v´ıdeos a generar. Los v´ıdeos se generar´an en H264, se convertir´an las im´agenes de una hora concreta, estas se borraran y su duraci´on depender´a de la configuraci´on del m´odulo. Se podr´an crear v´ıdeos temporales de la ´ultima hora sin que esta haya terminado. Al generar un v´ıdeo se guardar´a su ´ultima imagen como ”lastimage”. Los v´ıdeos se generan distribuidamente, cada 15 minutos se generar´an los v´ıdeos de un cuarto del total de videoc´amaras. Se ejecutaran las tareas de generaci´on de v´ıdeos cada 15 minutos peri´odicamente. Cuando se generen los v´ıdeos se comprobar´a posibles errores de conversi´on anteriores para corregirlos. Se actualizar´an los logs en cada generaci´on de v´ıdeo. Se podr´a generar encapsulados de v´ıdeos para su posterior descarga. 3. Administraci´on de videoc´amaras Para poder realizar cualquier operaci´on de administraci´on se tendr´a que tener permisos de acceso, lectura y modificaci´on. 48 Se podr´a crear nuevas videoc´amaras. Modificar los atributos de las videoc´amaras ya creadas salvo el nombre y el ID. Borrar videoc´amaras, borrando esto toda informaci´on relativa a la misma. Resetear videoc´amaras, lo cual consiste en borrar las im´agenes y v´ıdeos de la misma. Asociar un gps a una videoc´amara. Asociar una estaci´on meteorol´ogica a una videoc´amara. Asociar ficheros externos a las videoc´amaras, as´ı como localizaciones y enlaces. 4. Visor de Im´agenes Se podr´a detener y reanudar la ejecuci´on. Obtener fotogramas espec´ıficos. Ampliar a pantalla completa y reducir. 5. Vistas Se podr´a filtrar las videoc´amaras por sus campos m´as relevantes para facilitar proceso de b´usqueda. Mostrar en tiempo real el estado operativo de las videoc´amaras. Mostrar el estado actual de las grabaciones de varias videoc´amaras simult´aneamente. Mostrar en mapa la ubicaci´on de una o m´as videoc´amaras, as´ı como su estado operativo. Consultar y descargar v´ıdeos de las videoc´amaras en un intervalo de tiempo determinado (historial). Mostrar en tiempo real varias videoc´amaras de forma rotatoria. Si es una videoc´amara m´ovil se monitorizar´a en tiempo real su posici´on y se informaci´on sobre el tipo de veh´ıculo en que est´a montada. Si una videoc´amara tiene una estaci´on meteorol´ogica asociada mostrar informaci´on de la misma. 6. Transferencia de im´agenes desde las videoc´amaras 49 Los scripts se ejecutar´an periodicamente en las videoc´amaras. Se enviar´an las credenciales de la videoc´amara en cada env´ıo. Se env´ıa la fecha de captura de la imagen. Se enviar´a la informaci´on cifrada en MD5. Al recibir una imagen se comprobar´an las credenciales de cada env´ıo antes de gestionarla. Se actualizar´a la direcci´on ip en caso de cambiar respecto a la recepci´on anterior. Se guardar´a la imagen en la carpeta correspondiente a la videoc´amara emisora. Se actualizar´an los logs en el proceso, guardando la IP, ID de la videoc´amara y acci´on realizada. B.1.2. Requisitos No Funcionales El m´odulo debe funcionar en uno o varios servidores Linux. El procesador dispondr´a de m´ınimo dos n´ucleos. La capacidad del disco duro ser´a de al menos 500GB. La memoria RAM instalada del sistema ser´a de m´ınimo de 2Gb. La velocidad del enlace LAN ser´a como m´ınimo de 10MBs. Podr´a ser ejecutada por cualquier cliente Web con soporte JavaScript. El sistema debe poder recuperarse frente a una ca´ıda del sistema. Los scripts de transferencia ser´an compatibles con todos los modelos de videoc´amaras que operan en el sistema. B.2. Dise˜no de la base de datos En este apartado se detallan los aspectos m´as importantes de la implementaci´on de la base de datos utilizada por el m´odulo. El m´odulo videoc´amaras se relaciona con otros m´odulos del sistema, esto se ve claramente representado en la representaci´on de relaciones de la tabla 50 videoc´amaras con otras tablas del sistema SGWC, como se muestra en la figura B.1. Figura B.1: Diagrama de relaciones de la tabla videoc´amaras Como se muestra en la imagen, la tabla videoc´amaras est´a relacionada con permission y smartportalcategorias, que son los m´odulos del core del sistema encargado de gestionar las categor´ıas as´ı como el control de acceso y permisos de los usuarios. A parte de esto tambi´en se relaciona con carreteras, sectores, puntospk, gps y estaciones meteorol´ogicas, dado que toda videoc´amara esta ubicada en una carretera, un sector y un punto kilom´etrico. La relaci´on con gps y estaciones representa la posible asociaci´on de un gps m´ovil o de una estaci´on meteorol´ogica a una videoc´amara. Para definir los atributos de la tabla videoc´amaras se muestran los mismos en la figura B.2. Estando sus relaciones organizadas as´ı: v´ıdeocamaras = ( codeID : int; titulo: cadena, NO NULO; path: cadena, NO NULO; description: cadena, NO NULO; filenameformat: cadena, NO NULO; latitud: float, NO NULO; longitud: float, NO NULO; publicated: bool, NO NULO; ip: cadena; cameratype: int, NO NULO; scrensize: cadena, NO NULO; 51 Figura B.2: Diagrama de atributos videoc´amaras port: int, NO NULO; viewlive: bool, NO NULO; hdlimit: int; lastIP: int; categoryID: int, NO NULO, clave ajena de smartportalcategorias; clienteID: int, NO NULO, clave ajena de remoteservers keys; permisionID: int, NO NULO, clave ajena de permision; sectorID: int, NO NULO, clave ajena de puntospk sectores; carreteraID: int, NO NULO, clave ajena de puntospk carreteras; gpsID: int, clave ajena de gps; pkID: int, clave ajena de puntospk; estacionID: int, clave ajena de estacionesmeteo; ) B.3. Diagramas de flujos de datos En este apartado se muestran los diagramas de flujos de datos del m´odulo desarrollado. En el nivel 0 se muestra los elementos con los que hemos trabajo en el desarrollo del presente PFC que interactuan con el sistema SGWC. Este trabaja con otros elementos externos pero se ha considerado innecesario el representar dichos elementos. 52 Figura B.3: Diagrama de sistema de nivel 0 El m´odulo desarrollado opera haciendo uso de cuatro tipos de tareas, encargadas cada una de estas de trabajar con distintos elementos del sistema. Las tareas ser´ıan: gesti´on de webservices, que son todas aquellas encargadas de gestionar la transferencia de im´agenes desde las videoc´amaras, la gesti´on de v´ıdeos encargadas de generar y gestionar los v´ıdeos del sistema, las de control del sistema encargadas de realizar tareas de mantenimiento del mismo y las tareas de gesti´on de vistas, encargadas de interactuar con el usuario y mostrar toda la informaci´on gestionada por el resto del m´odulo. En las siguientes figuras se muestra el flujo de datos detallado de cada una de las tareas mencionadas previamente. 53 Figura B.4: Diagrama del m´odulo de nivel 1 Figura B.5: Diagrama de nivel 2 de la gesti´on de webservices 54 Figura B.6: Diagrama de nivel 2 de la gesti´on de videos Figura B.7: Diagrama de nivel 2 de la gesti´on del control del sistema 55 Figura B.8: Diagrama de nivel 2 de la gesti´on de vistas 56 B.4. Diagrama de navegaci´on Antes de proceder a dise˜nar el prototipado se decidieron las vistas que se crear´ıan para interactuar con el m´odulo desarrollado. En la figura B.9 se muestra el diagrama de navegaci´on en el que se subdivide el m´odulo en dos zonas, la zona de administraci´on dise˜nada para permitir al usuario realizar operaciones sobre las videoc´amaras del sistema y la zona publica o de consulta dise˜nada para visualizar las videoc´amaras, as´ı como sus grabaciones, ubicaci´on y todo lo relacionado con las mismas. Figura B.9: Diagrama de navegaci´on de las vistas del m´odulo B.5. Prototipado de ventanas Para el prototipado de las vistas del sistema, primero se evaluo la zona en la que habr´ıa que cargar dichas vistas, dado que la gesti´on de usuario y de categor´ıas es realizada por el core del sistema SGWC no se contempla en el prototipado. 57 64 Anexo C Manual de usuario En este apartado se describe como funciona el fichero de configuraci´on, el uso de filtros de informaci´on, as´ı como cada una de las vistas del m´odulo y se detallan los pasos a seguir para la utilizaci´on de las mismas. C.1. Configuraci´on del m´odulo El usuario puede configurar diversos par´ametros sobre el comportamiento y visionado del m´odulo, estos son: 1. DELETE DATE TIME: Tiempo en d´ıas que se mantienen im´agenes en el servidor (por defecto, 7). 2. REFRESH MAP: Tiempo de refresco de informaci´on en mapa Google Maps (en segundos). 3. PAGINATION LIMIT: N´umero de registros que se muestran en cada p´agina. 4. WIEWROTATORIO ENABLED: Habilitar secci´on vista rotatoria para varias videoc´amaras. 5. VIDEO SPEED: Velocidad de codificaci´on del los v´ıdeos (opciones : 1 r´apida 0.15m, 2 normal 0.49m, 3 lenta 1.50m). 65 La edici´on de estos par´ametros acostumbra a realizarse en el momento de la instalaci´on del sistema modificando el fichero XML de configuraci´on del m´odulo, pero pueden modificarse en cualquier momento sin alterar el funcionamiento del sistema mientras esta operativo. C.2. Uso de filtros Los filtros se usan en la totalidad de las vistas del sistema, en la figura C.1 se muestran los filtros que se pueden utilizar, as´ı como un ejemplo de filtrado por carretera. Figura C.1: Formulario de b´usqueda de videoc´amaras, cargando el filtrado por carretera Para utilizarlo el usuario debe seleccionar el campo por el que desee filtrar e introducir el dato, el propio filtro ir´a sugiriendo posibles datos seg´un estos se vayan introduciendo. El filtrado se puede realizar por uno o m´as campos, indicando al usuario siempre en n´umero de resultados obtenidos en la parte inferior de la vista, as´ı como el paginado de los mismos. Figura C.2: N´umero y paginado de resultados 66 C.3. Vistas P´ublicas Son las vistas que los usuarios del sistema podr´an consultar sin tener permisos de modificaci´on, pero solo se les mostrar´an las videoc´amaras pertenecientes a los sectores que tienen asignados. C.3.1. Visualizar videoc´amara Esta vista se muestra por defecto y en ella se puede consultar la siguiente informaci´on: Informaci´on y localizaci´on. Grabaci´on actual. Gps asociado Estaci´on meteorol´ogica asociada Para seleccionar la videoc´amara que deseemos consultar introduciremos su nombre como se muestra en la figura C.3. Figura C.3: Selecci´on videoc´amara a consultar Una vez seleccionada la videoc´amara se nos mostrara el visor, la ubicaci´on de la misma, as´ı como una previsualizaci´on de la zona. En la parte superior se mostrar´a el nombre de la videoc´amara, as´ı como su descripci´on. El icono de la videoc´amara dependiendo del color nos indicar´a su estado operativo, si esta verde la videoc´amara funciona correctamente en caso contrario el icono ser´a rojo. Para controlar la visualizaci´on en tiempo real basta con colocarse encima del visor para que aparezcan los controles del mismo, con estos podremos 67 parar la ejecuci´on, reanudarla, descarga la imagen que se esta visionando en el visor o expandir el visor para mostrarlo a pantalla completa. A la derecha del visor se muestra la localizaci´on de la videoc´amara, esta se ira actualizando en el caso de que sea una videoc´amara m´ovil. Si la videoc´amara se encuentra en un veh´ıculo m´ovil esta tendr´a asociada un gps el cu´al se podr´a consultar desde el bot´on gps, igualmente se podr´a consultar la estaci´on meteorol´ogica asociada. Figura C.4: Vista visualizar videoc´amara C.3.2. Mapa de localizaciones En esta secci´on podremos consultar la ubicaci´on de todas las videoc´amaras que controlamos en el mapa, as´ı como consultar informaci´on sobre las mismas. Para consultar una lista de videoc´amaras seleccionaremos el rango deseado en el filtro superior, una vez seleccionadas se nos mostrar´a el listado de resultados en el que se nos mostrara nombre, posici´on, punto kilom´etrico, sector, carretera, provincia y estado operativo de cada una de ellas. Si seleccionamos el nombre de la videoc´amara en el listado, este nos llevar´a a la ficha detallada de la videoc´amara, si por el contrario seleccionamos en el marcador de estado localizado al final de la linea, se centrar´a el mapa en la posici´on de la videoc´amara indicada , se nos abrira la burbuja que muestra los datos de la videoc´amara y se mostrar´a el streetview de la ubicaci´on en el caso de existir imagenes de esa zona. 68 Dicha burbuja cargar´a el nombre, sector, carretera y provincia de la videoc´amara, as´ı como su ´ultima imagen grabada. Desde aqu´ı tambi´en podremos consultar informaci´on relativa al gps asociado o estaci´on meteorol´ogica asociada. En la figura C.5 se muestra los resultados de una b´usqueda sobre las videoc´amaras de prueba, as´ı como la burbuja de informaci´on de una de ellas. Figura C.5: Mapa localizaci´on, tras seleccionar el estado de la videoc´amara de pruebas II C.3.3. Visualizaci´on m´ultiple En esta vista el usuario podr´a visualizar varios visores simult´aneamente, de esta forma podr´a monitorizar en tiempo real hasta cuatro videoc´amaras. Para visualizar las videoc´amaras el usuario deber´a seleccionar el nombre de la que desee reproducir en uno de los formularios (estos corresponden con los existentes en la imagen C.3), con lo que aparecer´a debajo del mismo el visor reproduciendo las im´agenes la videoc´amara solicitada. Para visualizar m´as de una c´amara el usuario tendr´a que ir escogiendo cada una de ellos en los distintos formularios de la secci´on. Los visualizadores funcionan como los explicados previamente, el usuario 69 puede parar, reanudar, descargar fotograma y ampliar, sin interferir con el resto de los mismos. En la figura C.6 se muestra la apariencia de esta vista con cuatro videoc´amaras ya cargadas. Figura C.6: Vista visualizaci´on m´ultiple, cargada con cuatro videoc´amaras. C.3.4. Visualizaci´on rotatoria El funcionamiento de esta pagina es bastante similar al de la secci´on visualizar c´amara, para facilitar la usabilidad de la misma, en esta secci´on podremos seleccionar varias videoc´amaras en un formulario de selecci´on m´ultiple como el que se muestra en la figura C.7. Una vez seleccionadas podremos visualizar las mismas en el visor de forma que la reproducci´on ira alternando cada 10 segundos la ultima imagen de cada c´amara, rotando secuencialmente desde la primera seleccionada hasta la ultima. A parte del visionado de las grabaciones, en esta vista se mostrar´a en 70 Figura C.7: Formulario selecci´on m´ultiple, cargada con cuatro videoc´amaras. todo momento la ubicaci´on de la videoc´amara para poder controlar los movimientos de los veh´ıculos. Figura C.8: Vista visualizaci´on rotatoria, cargada con tres videoc´amaras Si el usuario desea utilizar esta vista durante periodos de tiempo largos se aconseja la utilizaci´on de la misma en modo pantalla completa. C.3.5. Estado de las videoc´amaras Esta vista esta presente en el sistema para facilitar las tareas de mantenimiento del usuario, as´ı con un simple vistazo pueden detectar el estado operativo de las videoc´amaras. Para cargar el estado de las videoc´amaras el usuario deber´a seleccionar el rango deseado en los filtros, cargando esto el listado de videoc´amaras paginado. El color que rodea la imagen de cada videoc´amara indica el estado 71 Figura C.9: Vista visualizaci´on rotatoria en modo pantalla completa operativo de las mismas, siendo verde operativo y rojo no operativo. La imagen que se muestra es la ´ultima imagen capturada por la videoc´amara en el momento del filtrado, siendo las no operativas la ´ultima imagen antes de detenerse su funcionamiento. Si el usuario selecciona la imagen de alguna de las videoc´amaras esta le llevar´a a la ficha ampliada de la misma. Figura C.10: Vista estado videoc´amaras C.3.6. Selecci´on rango fecha/hora En esta vista se podr´a consultar el historial de grabaciones de las videoc´amaras, para ello el usuario deber´a seleccionar en el formulario el rango 72 de fechas que desea consultar as´ı como el nombre de la videoc´amara como se muestra en la figura C.11. Figura C.11: Formulario selecci´on intervalo de tiempo Una vez seleccionado si no existen grabaciones en el intervalo solicitado se mostrar´a un mensaje como el de la figura C.12, en el que se le indica al usuario el intervalo de tiempo en el que existen grabaciones disponibles. Figura C.12: Error selecci´on rango fecha Si el intervalo es correcto se mostrar´a el visor con los v´ıdeos pertenecientes al intervalo cargados en su lista de reproducci´on, as´ı como la localizaci´on de la videoc´amara para ayudar al usuario a situarse respecto a la ubicaci´on de la videoc´amara. Los v´ıdeos se reproducir´an uno tras esto, pudiendo el usuario moverse entre estos a trav´es del listado que aparece a la derecha del visor, as´ı como pararlo, reanudarlo y ponerlo a pantalla completa. Para descargar los v´ıdeos del intervalo seleccionado el usuario tendr´a que pulsar el bot´on de descarga de v´ıdeos ubicado debajo del visor, de forma que el navegador gestionar´a la descarga de estos. En la figura C.13 se muestra el visor cargado, con diversos v´ıdeos, as´ı como el bot´on de descarga de los mismos. 73 Figura C.22: Formulario asociaci´on im´agen Una vez asociados los ficheros estos se podr´an consultar desde la ficha de la videoc´amara como se muestra en la figura C.23. Figura C.23: Ficheros asociados a la videoc´amara de pruebas I 80