Publicação

Aplicação Android para configuração e acesso direto a câmaras ONVIF

Ver documento

Detalhes bibliográficos
Resumo: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.
Autores principais:Nogueira, Rui Filipe Tavares
Assunto:Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
Ano:2014
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade do Minho
Idioma:português
Origem:RepositóriUM - Universidade do Minho
Descrição
Resumo: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.