IMPLEMENTANDO COMPUTAÇÃO PERVASIVA EM
ANDROID PARA AMBIENTES SILENCIOSOS
Andrey Farias de Araújo
Discente do Curso de Análise de Sistemas Centro Universitário - CESMAC
Apresentador
Bruno Ronaldo Alves de Oliveira Discente do Curso de Análise de Sistemas Centro Universitário - CESMAC
Álvaro Álvares de Carvalho Cesar Sobrinho Discente do Curso de Análise de Sistemas Centro Universitário - CESMAC
Leonardo de Melo Medeiros Centro Universitário – CESMAC Orientador
andreyfarias@me.com; {bruno.ronaldo.21, alvaro.alvares86, leonardomelomedeiros}@gmail.com
RESUMO
Este artigo apresenta os conceitos da computação pervasiva, sugere a implementação de um ambiente pervasivo, utilizando da linguagem de programação Java e a API do Google Android para dispositivos móveis. O objetivo pretendido é regular automaticamente o nível de ruído produzido por um celular em ambientes que necessitam deste controle. Palavras-chave: Computação Pervasiva, Android, Ambientes Silenciosos
1. INTRODUÇÃO
Nos últimos anos, tem-se observado um grande avanço das tecnologias para comunicação sem fio. A cada dia, é mais fácil encontrar objetos utilizando as tecnologias Bluetooth e Wi-Fi, que permitem que outros dispositivos possam trocar informações e comandos. Estas tecnologias têm permitido criar os primeiros cenários da computação pervasiva.
Diante deste cenário, o paradigma da computação pervasiva, concebido por Weiser [1], está cada vez mais próximo de se tornar realidade. Aplicações ou serviços podem interagir com outros dispositivos
dispersos no ambiente, realizando operações de acordo com as percepções do contexto em que estão inseridos. Essas operações ocorrem de maneira quase que imperceptível.
O ambiente escolhido para este trabalho implica em um local onde a emissão mínima de ruídos é necessária. Com isso, adequou-se ao seu propósito, uma sala de reuniões. Onde estão contidos diversos dispositivos celulares que necessitam de uma configuração silenciosa para não prejudicar o andamento de suas atividades.
Este projeto de pesquisa tem como meta desenvolver um ambiente pervasivo,
utilizando tecnologias para dispositivos móveis, por ser uma área que está em constante crescimento. De acordo Ibge [9] com a Pesquisa Nacional por Amostra de Domicílios (PNAD) 2008, foi averiguado que a aquisição de aparelhos celulares teve um aumento significativo em relação ao total de aparelhos telefônicos adquiridos pela população.
2. M
ATERIAL E MÉTODOS
2.1
.
Computação Pervasiva
A computação pervasiva é caracterizada por ambientes onde existam dispositivos eletrônicos que interajam entre si, que partindo de sua leitura, realizam ações específicas sem a intervenção de um operador Weiser [1]. Esses dispositivos podem ser tanto computadores de alto desempenho, quanto aparelhos telefônicos e até eletrodomésticos. O maior desafio ao utilizá-la é integrar diferentes dispositivos de hardware e software, de forma transparente Satyanarayanan [2].
Ao iniciar a implementação de um ambiente pervasivo, quatro diferentes tipos de tecnologias são necessárias: dispositivos, rede, middleware1 e aplicativos Weiser [1]. Os dispositivos devem ser capazes de colher informações e transmiti-las para outros; a rede deve conter uma infraestrutura que suporte o crescimento da quantidade e diversidade de aparelhos conectados simultaneamente; o middleware como um mediador da interação entre os dispositivos e à rede; os aplicativos, que não apenas comuniquem-se sem fio, mas saibam como interpretar as informações recebidas e tomar as decisões necessarias.
Para abranger e aprofundar nosso conhecimento sobre computação pervasiva, foram utilizados os sistemas de código aberto
1 Programa criado para designar camadas de software que não constituem diretamente aplicações, mas que facilitam o uso de ambientes ricos em tecnologia da informação. A camada de middleware concentra serviços como identificação, autenticação, autorização, diretórios, certificados digitais e outras ferramentas para segurança.
BRisa e Gaia, analisando suas características e desempenho.
2.1.1. BRisa
BRisa é um framework multi-plataforma UPnP2 desenvolvido em Python, utilizado para a manipulação de dispositivos e pontos de controle3 Brisa [4]. Tem como principal característica, a criação de um ponto de controle, onde se permite gerenciar vários dispositivos que se encontram reunidos em um ambiente. A partir desse controle é possível, por exemplo, ligar e desligar cafeteiras, condicionadores de ar, luzes do ambiente, aparelhos de som, entre outros aparelhos eletrônicos. Entretanto, ele ainda exige que o usuário interaja diretamente no controle para acessar os dispositivos.
2.1.2. Gaia
Gaia é um sistema capaz de realizar diversas operações simultaneamente, construído a partir de uma infraestrutura de middleware, tem como objetivo coordenar e controlar os dados exportados entre dispositivos, para se obter acesso aos seus recursos, e administrar redes heterogêneas Román et al. [3]. Foi concebida para apoiar o desenvolvimento e a execução de aplicações portáteis para active-spaces4, ambientes de computação pervasiva no quais os usuários interagem com diversos dispositivos e serviços simultaneamente.
2.2. Android
Android é um sistema operacional para dispositivos móveis, surgido de uma parceria entre a Google e a Open Handset Alliance Abelson et al. [7]. Baseado no Sistema Operacional (SO) Linux, utiliza o mesmo modelo de segurança, gerenciamento de processos, gerenciamento de memória, conectividade e drivers. Suas aplicações podem ser escritas na linguagem Java, e
2
Universal Plug and Play 3
Controles remotos 4
Espaços onde se encontram dispositivos ativos que permitam a computação pervasiva
executadas por uma máquina virtual otimizada para dispositivos com processadores menos robustos e com pouca memória, denominada Dalvik.
Por ser open source5, a plataforma sempre está em evolução, proporcionando a capacidade de adaptação e modificação de seu código, podendo incorporar novas tecnologias. Já que a comunidade de desenvolvedores trabalha em conjunto na criação de aplicações móveis inovadoras Pereira & Silva [8].
Apesar de a plataforma dar total liberdade para o desenvolvedor utilizar qualquer uma das funcionalidades de núcleo do telefone, como efetuar chamadas ou até enviar mensagens de texto. O Android também garante a segurança contra possíveis softwares com códigos maliciosos. Pois todos os aplicativos ficam isolados um dos outros, e é necessário que o usuário final permita que o aplicativo tenha acesso a essas funções.
2.2.1. Arquitetura do Android
A arquitetura do Android é apresentada na Figura 1, são ilustradas as 5 camadas que constituem a plataforma. Primeiramente no mais baixo nível se encontra o Kernel Linux, onde é constituído todo núcleo de funcionamento do SO. Logo acima, é demonstrada a camada de bibliotecas, que representam funcionalidades providas pela plataforma, e funcionamento em tempo de execução, contendo a maquina virtual Dalvik. A um nível superior, é contido o framework da aplicação, responsável por prover mecanismos para o desenvolvimento de aplicações. Por fim, na camada mais elevada, está localizada as aplicações, que representam a interação do usuário com o SO.5 Software de código aberto
Figura 1. Arquitetura do Android
2.3. Ambientes silenciosos
Ambientes silenciosos são normalmente caracterizados por locais em que o silêncio se faz necessário ou obrigatório. A ausência de ruídos contribui para o bem-estar e para um melhor desempenho das atividades. Os ruídos podem ser estressantes e desmotivadores, e pode ocasionar alto grau de distração, perda de concentração e atingir níveis que causem danos a saúde.
Quando se trata de ruído, trabalha-se com o nível de pressão sonora (Lp), definido por Lp = 10 log(P/Pref)², em que P é o valor eficaz de pressão medido e Pref uma pressão de referência (20uPa), ambas medidas em Pascal. O resultado é obtido em decibéis (dB) Abnt [5].
Na Tabela 1, são apresentados os ambientes e suas respectivas faixas em dB. O menor valor representa uma situação onde a emissão sonora encontra-se em um nível suficiente para o conforto, enquanto o maior valor indica o limite aceitável para o determinado ambiente.
Tabela 1. Valores de dB em relação a locais onde a emissão minima de ruído é essencial. Locais dB Hospitais Apartamentos, Enfermarias, Berçários 35-45 Centros cirúrgicos, Laboratórios,
Áreas para uso do público
40-50
Escolas
Bibliotecas, Salas de música, Salas de desenho
35-45 Salas de aula, Laboratórios 40-50
Circulação 45-55 Auditórios
Salas de concertos, Teatros 30-40 Salas de conferências, Cinemas,
Salas de uso múltiplo
35-45
Restaurantes 40-50
Escritórios
Salas de reunião 30-40 Salas de gerência, Salas de projetos e de administração
35-45 Salas de computadores 45-65
Existem diversas formas de se reproduzir ruídos que ultrapassem o limite de decibéis aceitáveis, porém um dos mais frequentes causadores destes são aparelhos celulares, podendo emitir até 109,2 dB Regazzi et al. [6], o que excede os níveis aceitáveis para ruídos nos ambientes citados acima.
3. RESULTADOS E DISCUSSÃO
3.1. Aplicação Mediadora
A aplicação foi desenvolvida em Java, funciona como um mediador entre o ambiente e os dispositivos que se encontram conectados. Possibilita que o usuário determine qual perfil de toque deverá ser aplicado
O diagrama de atividade do servidor é apresentado na Figura 2. Uma vez inicializado, o usuário deverá selecionar o perfil de toque desejado para o ambiente. Logo após, o servidor entra em estado de espera, aguardando a conexão de dispositivos. Realizada a conexão, o servidor então envia um comando para o dispositivo, informando qual perfil de toque deve ser aplicado no dispositivo móvel.
Figura 2. Diagrama de atividade do servidor.
3.1. Aplicação Cliente Android
O cliente foi desenvolvido para dispositivos que utilizem a plataforma Android, desenvolvido em Java, utilizando o SDK do Android. Foi criado para ser executado como serviço, ou seja, sua execução é feita em segundo-plano, seguindo o paradigma da computação pervasiva.
A aplicação é responsável pelo controle de perfis do dispositivo móvel, se adaptando ao ambiente que esteja localizado através da aplicação mediadora desenvolvida. Essa operação é realizada com o acionamento de métodos da classe AudioMananger, que são responsáveis pela manipulação de sons do aparelho.
Na Figura 3 é ilustrado um trecho de codificação responsável pela alteração de modos sonoros no dispositivo móvel. Na linha 2 é instanciado o objeto AudioManager, recebendo o serviço de áudio. A linha 3 ativa o método de alteração de modo, passando como parâmetro a constante da opção desejada.
Figura 3. Codificação de alteração de estado sonoro da aplicação cliente Android.
A Figura 4 demonstra o diagrama de
sequência do cliente, iniciando uma
conexão com o servidor. Logo após a
conexão ser estabelecida, o cliente envia
uma mensagem para o servidor,
requisitando o perfil de toque que deverá
ser aplicado. Após receber a mensagem do
servidor com o novo perfil de toque, o
perfil é aplicado e encerra-se a conexão
Figura 4. Diagrama de sequência aplicação cliente Android
4. CONCLUSÃO
Este artigo abordou conceitos da computação pervasiva, destacando algumas de suas características e ferramentas. Propôs sua utilização em um local fechado, onde os dispositivos móveis contidos no ambiente se ajustassem sonoramente ao contexto em que estejam localizados.
O desenvolvimento da infraestrutura que prove a comunicação entre o ambiente e os dispositivos obteve os resultados inicialmente esperados, estando em fase de testes. A interação foi realizada com uma aplicação rodando como serviço em dispositivos móveis que possuam o SO Android.
Ao fim deste trabalho, pode-se analisar que os objetivos pretendidos foram alcançados. Sendo possível gerar o comportamento desejado aos dispositivos conectados a infraestrutura montada para o ambiente.
5. REFERÊNCIAS
[1] Weiser, M. (1991) “The computer for the twenty-first century”. Scientific American, v. 265, n. 3, p. 94-104.
[2] Satyanarayanan, M. (2001) “Pervasive Computing: Vision and Challenges” IEEE Personal Communications, p. 10-17.
[3] Román, M., Hess C., Cerqueira, R., Ranganathan, A., Campbell, R., Nahrstedt, K. (2002) “A Middleware Infrastructure for Active Spaces”. University of Illinois at Urbana – Champaign.
[4] Brisa Project. 2010 [Online]. Homepage: http://brisa.garage.maemo.org/
[5] Associação Brasileira de Normas Técnicas (2000) “NBR10152 - Níveis de ruído para o conforto acústico”.
[6] Regazzi, R., Servilieri, K., Sartorelli, E., Lima, L., Freitas, E., Bastos, D., Rego, R. (2004) “O risco de danos auditivos induzido por ruído ambiental, substancias ototóxicas e o nexo causal”
[7] Abelson, W. F., Collins, C., Sen, R. (2009) Unlocking Android.
[8] Pereira, L.C.O., Silva, M.L., (2009) Android para Desenvolvedores. Brasport, Rio de Janeiro – RJ.
[9] IBGE: Instituto Brasileiro de Geografia e Estatística. [Online] 2009. Homepage http://www.ibge.gov.br/