Aplicação Android para configuração e acesso direto a câmaras ONVIF
Autor: | Nogueira, Rui Filipe Tavares |
---|---|
Přispěvatelé: | Lopes, Sérgio F., Universidade do Minho |
Jazyk: | portugalština |
Rok vydání: | 2014 |
Předmět: | |
Zdroj: | Repositório Científico de Acesso Aberto de Portugal Repositório Científico de Acesso Aberto de Portugal (RCAAP) instacron:RCAAP |
Popis: | Dissertação de mestrado integrado em Engenharia de Comunicações O ONVIF é uma norma para comunicação entre dispositivos multimédia IP, incluindo câmaras de vídeo, que tem amadurecido e são cada vez mais os dispositivos que o suportam [5]. Nos dispositivos móveis, o sistema operativo Android lidera o mercado e por isso são os melhores candidatos para integrarem funcionalidades de configuração e receção de streaming de câmaras de vídeo ONVIF. No entanto, o ONVIF é baseado em serviços web SOAP e por isso computacionalmente pesado. A implementação de serviços SOAP é normalmente feita recorrendo a toolkits para geração de código cliente e servidor, no entanto, os toolkits com maturidade são para as versões Standard e Enterprise de Java. Atualmente, existem apenas 2 aplicações cliente ONVIF no Google Play. Esta dissertação estuda os toolkits SOAP disponíveis para Android, e conclui que nenhum deles é capaz de gerar código correto e completo para serviços ONVIF. A melhor alternativa encontrada consiste em utilizar apenas uma biblioteca que facilita a troca de mensagens SOAP. São comparadas duas alternativas de implementação comunicação com as câmaras, uma utilizando o SDK [6] e outra utilizando o NDK [7] do Android. Foi clara a vantagem em termos de desempenho computacional da implementação NDK, contabilizando já o custo dos cruzamentos da camada JNI [8]. Os resultados dos estudos realizados conduziram a uma solução de arquitetura da aplicação em que a comunicação é implementada em C e a restante parte da aplicação em Java. A comunicação com as câmaras ONVIF envolve várias dezenas de operações, para as quais existia já uma biblioteca C, não sendo por isso necessário gerar e utilizar stubs C. Foi no entanto preciso desenvolver a camada JNI para todas essas funções. Essa tarefa foi realizada utilizando a ferramenta SWIG [9]. O desenvolvimento da parte Java da aplicação consistiu no desenho de uma estrutura adequada às funcionalidades ONVIF, que por um lado fosse intuitiva, alinhando com a estrutura da própria norma, e de utilização fácil. Na implementação foram incorporadas soluções que minimizam o número de pedidos feitos às câmaras, tonando a aplicação mais eficiente. Este trabalho produz assim vários resultados importantes para o estado da arte da implementação de serviços SOAP em dispositivos Android, e uma aplicação eficiente que permite a configuração de câmaras ONVIF e a capacidade de monitorização remota de espaços. ONVIF is a standard for communication with multimedia IP devices, including video cameras, which is becoming more widely supported in the market [5]. Android is the leader OS in mobile devices, which are then the best candidate to integrate functionalities of ONVIF camera configuration and stream play. However, ONVIF is based on SOAP web services, and therefore it is computationally heavy. The development of SOAP applications usually involves the use of a toolkit to generate client and server code, but the ones currently mature target standard and enterprise Java editions. Presently, there are only two ONVIF client applications in Google Play. This work analyses the available SOAP toolkits targeting Android, and concludes that none of them is able to generate correct and complete code for ONVIF services. The best option that was found is the use of a library that helps to exchange SOAP messages. Two alternatives are compared for implementing communication with cameras, one using Android’s SDK and another using the NDK. There is a clear advantage of the NDK implementation in terms of computing performance, including already the cost of calls across the JNI layer. The results, of the research work that was conducted, led to an architectural where the communication with cameras is implemented with the NDK and the rest of the application is developed with the SDK. ONVIF communication involves several dozens of operations for which there is already a C library, and therefore it was not needed to generate C stubs. Still, it was necessary to develop the JNI layer for all those functions, task which was completed using the SWIG tool. The development of the application’s Java part consisted in the design and implementation of a structure suitable for the ONVIF functionalities. On one hand, it should be intuitive, by following the standard’s structure, and on the other hand it should be user friendly. The implementation includes solutions to minimize the number of request that are sent to cameras, thus making the application more efficient. This work produces several results that are important to the state of the art on SOAP web services implementation in Android, and an efficient application that enable the configuration of ONVIF cameras and the remote monitoring of places. |
Databáze: | OpenAIRE |
Externí odkaz: |