• Nenhum resultado encontrado

Desenvolvimento de uma aplicação Context-Aware (LBS) para dispositivos móveis

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de uma aplicação Context-Aware (LBS) para dispositivos móveis"

Copied!
99
0
0

Texto

(1)

Context-Aware (LBS) Para Dispositivos

Móveis

Por

Nuno Tiago Severino

Orientador: Doutor Carlos Manuel José Alves Serôdio

Coorientador: Doutor Pedro Miguel Mestre Alves da Silva

Dissertação submetida à

UNIVERSIDADE DE TRÁS-OS-MONTES E ALTO DOURO para obtenção do grau de

MESTRE

em Comunicação e Multimédia, de acordo com o disposto no

DR – I série – A, Decreto-Lei n.o74/2006 de 24 de Março com as alterações introduzidas pelos Decretos-Leis n.o107/2008, de 25 de Junho, e 230/2009,

de 14 de Setembro, e demais legislação aplicável e no Regulamento de Ciclo de Estudos Conducente ao Grau de

Mestre da Universidade de Trás-os-Montes e Alto Douro DR, 2.a série – n.o149/2011 de 4 de Agosto

(2)
(3)

Orientação Científica:

Doutor Carlos Manuel José Alves Serôdio Professor Associado com Agregação do

Departamento de Engenharias da Escola de Ciências e Tecnologia Universidade de Trás-os-Montes e Alto Douro

Doutor Pedro Miguel Mestre Alves da Silva Professor Auxiliar do

Departamento de Engenharias da Escola de Ciências e Tecnologia Universidade de Trás-os-Montes e Alto Douro

(4)
(5)

Universidade de Trás-os-Montes e Alto Douro

Os membros do Júri recomendam à Universidade de Trás-os-Montes e Alto Douro a aceitação da dissertação intitulada “Desenvolvimento de uma Aplicação Context-Aware (LBS) para Dispositivos Móveis” realizada por Nuno Severino para satisfação parcial dos requisitos do grau de Mestre.

Junho 2014

Presidente:

Doutor Luís Gonzaga Mendes Magalhães Direção de Mestrado em Comunicação e Multimédia

da Escola de Ciências e Tecnologia Universidade de Trás-os-Montes e Alto Douro

Vogais do Júri:

Doutor José de Araújo Mendes

Professor Auxiliar do Departamento de Electrónica Industrial da Universidade do Minho

Doutor Carlos Manuel José Alves Serôdio

Professor Associado com Agregação do

Departamento de Engenharias da Escola de Ciências e Tecnologia Universidade de Trás-os-Montes e Alto Douro

(6)

“The fight isn't over until you win.” Robin Hobb

(7)

Desenvolvimento de uma

Aplicação Context-Aware (LBS)

para Dispositivos Moveis

Nuno Tiago Severino

Submetido na Universidade de Trás-os-Montes e Alto Douro para o preenchimento dos requisitos parciais para obtenção do grau de

Mestre em Comunicação e Multimédia

Resumo - A tecnologia está cada vez mais presente no nosso dia-a-dia, e cada vez em mais larga escala, essa presença começa-se a notar também nas próprias cidades que cada vez mais respondem adequadamente a cada situação específica. Esta tecnologia implementada nas cidades permite melhores respostas por parte das autoridades a ocorrências que se verifiquem nas ruas e acelerar todo o processo de resposta criando-se assim as cidades inteligentes. Estas funcionalidades vão desde controlo de trânsito até gestão de imobiliário, e as vantagens provenientes são muitas. A principal função da ferramenta em estudo é simplificar as tarefas diárias dos seus cidadãos através do conceito de computação ubíqua. O trânsito, por exemplo, é uma área onde a tecnologia pode ser muito útil, e para a informação estar sempre disponível aos utilizadores é necessário usar dispositivos móveis. O objetivo é informar o utilizador, em função da sua localização, que o utilizador reporte situações anómalas na cidade como lixo por recolher, árvores caídas, transito congestionado, entre outras, tudo apenas numa aplicação sintonizada num projeto de Cidade Inteligente. Culminando assim numa aplicação Android onde o utilizador consegue aceder a toda esta informação, usando-a em seu favor para que a vida citadina seja simplificada e otimizada.

Palavras-chave – aplicações moveis; dispositivos móveis; cidade inteligente; Android;

(8)
(9)

Development of

Application Context-Aware (LBS)

for Mobile Devices

Nuno Tiago Severino

Submited to University of Trás-os-Montes e Alto Douro in partial fulfillment of the requirements for the degree of

Master of Communication and Multimídia

Abstract - Technology is more and more present in our life having an increasing role, this presence begins to be noticed also in the cities themselves that increasingly respond adequately to each specific situation. This technology implemented in cities, allows better responses on the part of authorities to incidents which may occur in the streets and speed up the whole process of response thus creating smart cities. These features range from traffic control to real estate management, and the benefits derived are many. The main function of the tool developed in this study is to simplify the daily tasks of its citizens through the use of the ubiquitous computing concept. Traffic, for example, is an area where technology can be very useful. For information to be always available to users, it is necessary to use mobile devices. The aim of the application is to inform the user about the city parameters, like transit flow or breakdowns in street lights etc., depending on its location, allow the user to report abnormal situations in the city such as garbage uncollected, fallen trees, traffic congestion, among others, all in an application tuned to a Smart City project. Culminating in an Android application with witch the user can access all these information using it for his/her needs, so that city life is simplified and optimized.

(10)
(11)

Agradecimentos

Em primeiro lugar quero agradecer aos meus pais pois foram eles que tonaram possível todo o meu percurso académico até chegar aqui e pelo apoio que sempre me deram neste projeto.

Aos meus orientadores, Dr. Carlos Serôdio e Dr. Pedro Mestre que sempre estiveram disponíveis para me receber e ajudar sempre que algum problema surgia no decorrer do planeamento e desenvolvimento da aplicação. Principalmente lhes quero agradecer a oportunidade que me deram de fazer parte deste projeto que me proporcionou um ano de trabalho rodeado de pessoas muito capazes com quem aprendi bastante.

A esses meus colegas de trabalho que sempre estiveram disponíveis para me esclarecer qualquer dúvida, me motivaram e incentivaram, e que fizeram com que um ano tenha parecido um mês.

Aos meus amigos da universidade que sempre me incentivaram a fazer mais e melhor e sempre tiveram presentes durante todo o meu percurso académico fazendo com que eu nunca me desmotivasse e mostrando um apoio incondicional e uma camaradagem sem igual.

A minha namorada Nádia que claro dispensou muito tempo precioso para que este projeto se pudesse realizar, apoiando me sempre e exigir sempre mais e melhor de tudo que eu fazia, sempre acreditando nas minhas capacidades.

E a toda a gente que de algum modo esteve presente no meu mestrado e influenciou o decorrer deste projeto positivamente.

(12)

1 Introdução ... 1 1.1 Motivação ... 4 1.2 Objetivos ... 5 1.3 Organização da dissertação ... 6 2 Enquadramento tecnológico ... 9 2.1 Computação Ubíqua ... 9

2.1.1 Códigos de barras (BarCodes) ... 12

2.2 Computação Móvel ... 13

2.3 Computação Context-Aware ... 16

2.4 Computação Baseada na Localização (LBC) ... 18

2.4.1 Serviços Baseados na Localização (LBS) ... 18

2.4.2 API de Mapas do Google (Gmaps)... 24

2.4.3 Métodos de posicionamento ... 27

2.4.4 Sistemas globais de navegação por satélite (GNSS) ... 33

2.5 Plataforma Android ... 34

2.5.1 Introdução ... 34

2.5.2 Maquina Virtual Dalvik (Dalvik Virtual Machine) ... 35

2.5.3 Arquitetura ... 36

2.5.4 Desenvolvimento de aplicações ... 38

2.6 Comparação com outras plataformas ... 42

2.6.1 IOS ... 42

(13)

2.6.3 Porque Android ... 42

3 Desenvolvimento ... Erro! Marcador não definido. 3.1 Planeamento ... 47

3.1.1 Análise de Requisitos ... 48

3.1.2 Diagrama de contexto ... 49

3.1.3 Diagrama de casos de uso ... 50

3.1.4 Diagrama de fluxo de dados (DFD) ... 50

3.2 Aplicação “A Minha Rua” ... 54

3.3 Placas de identificação do local ... 63

4 Testes e Conclusões ... 69

4.1 Testes ... 69

4.2 Conclusões ... 73

5 Analise e trabalho futuro ... 75

4.1 Análise do trabalho ... 75

4.2 Trabalho futuro ... 75

(14)
(15)

Índice de Tabelas

Tabela 1 - Precisão em função do género. Fonte: (Bellocci, Genovese et al. 2002) ... 21 Tabela 2 - Categorias e exemplos de aplicações Android LBS. Fonte (Bellocci, Genovese et al. 2002) ... 22 Tabela 3 - Metodos de posicionamento. Fonte:(Sousa 2007) ... 32

(16)

Figura 1 - Três ondas da computação. Fonte (Weiser 1991) ... 10

Figura 2 - RFID. Fonte:http://tcnwo.blogspot.pt/p/rfid-chips.html ... 11

Figura 3 - QRCode. Fonte: www.goqr.me ... 11

Figura 4 - Categorias de aplicações descarregadas. Fonte: http://blog.nielsen.com ... 15

Figura 5 - Partilha de mercado de SO para smartphones. ... 16

Figura 6 - As três gerações de LBS Fonte (Sousa 2007) ... 20

Figura 7 - Google Maps for Android ... 25

Figura 8 - StreetView Gmaps. Fonte: https://maps.google.pt/ ... 26

Figura 9 - QoS dos LBS. Fonte (Sousa 2007) ... 27

Figura 10 - Triangulação de Satélites. ... 29

Figura 11 - Latitude e Longitude. Fonte:(Abreu 2011) ... 33

Figura 12 - Camadas Android. Fonte: http://android.devloper.com... 37

Figura 13 - Android Services. Fonte:javla.com/Web/android-basics/ ... 40

Figura 14 - Broadcast receiver. Fonte:httpdev.icybear.net ... 41

Figura 15 - Esquema Minha Rua ... 47

Figura 16 - Diagrama de Contexto ... 49

Figura 17 - Casos de Uso ... 50

Figura 18 - Diagrama de Fluxo de Dados 0... 51

Figura 19 - Diagrama de Fluxo de Dados 1... 51

(17)

Figura 21 - Diagrama de Fluxo de Dados 2.3... 53

Figura 22 - Estrutura de classes ... 54

Figura 23 - Ecrã principal da aplicação ... 55

Figura 24 - Selecionar modo de obtenção de coordenadas ... 56

Figura 25 - Localização obtida ... 57

Figura 26 - Galeria de fotos ... 58

Figura 27 - Botões Inativos ... 58

Figura 28 - Previsualização da galeria ... 60

Figura 29 - Causas ... 61

Figura 30 - Eventos por enviar ... 62

Figura 31 - Dados de um evento ... 63

Figura 32 - Layout de Uma Placa ... 64

Figura 33 - Placa afixada na rua ... 70

Figura 34 - Captura do QRCode ... 71

Figura 35 - Alerta informativo de uma das coordenadas... 71

Figura 36 - Coordenadas obtidas por GPS ... 72

Figura 37 - Ocorrência na cidade ... 72

(18)

Glossário de termos

Bytecode – é um estágio intermédio entre o código-fonte (escrito numa linguagem de

programação específica) e a aplicação final, sendo a sua vantagem principal a dualidade entre a portabilidade

Layout – tem como seus componentes a área de design ou formato de página e as

margens definindo todo o especto a apresentar.

Open-Source – em português, código livre, refere-se a todo o software livre.

Thread – é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente

Lista de acrónimos

Acrónimo Expansão A-GPS DVM GPS LBC LBS RFID

Assisted - Global Positioning System

Dalvik Virtual Machine

Global Positioning System

Location Based Computing

Location Based Services

Radio Frequency IDentification

(19)

Lista de abreviaturas

Abreviatura Significado e.g et al. etc. i.e. por exemplo e outros (Autores) etecetera, outros isto é, por conseguinte

(20)
(21)

Capítulo 1

Introdução

Vivemos num mundo onde a inteligência das “coisas” é cada vez maior e cada vez mais se encontra em maior quantidade de “objetos”, as organizações que gerem as cidades inteligentes tiram partido da implementação desta tecnologia de modo a se tornarem mais eficazes e mais úteis á sociedade.

Para uma cidade poder ser considerada inteligente é necessário, aos sistemas de gestão, saber vários dados sobre ela para que então se poder dar respostas e opções no preciso momento em que são solicitadas, seja pelos habitantes, ou por qualquer um dos mesmos sistemas. O objetivo deste produto desenvolvido é servir a população de uma cidade, tendo em conta as necessidades da mesma e utilizando a integração de serviços municipais para, por exemplo, a autenticação dos utilizadores ou até para serem o próprio centro de controlo de operações de todo o sistema.

Este projeto consiste em permitir aos habitantes, de uma determinada cidade, informarem as entidades competentes acerca de eventos/ocorrências que se geram dentro da própria cidade, a chave de interesse está no que é possível relatar. E o que é possível relatar são vários eventos que pendem de rápida solução para que a cidade possa ser considerada inteligente.

(22)

Os pontos fulcrais que são opções de se relatar através da aplicação são os seguintes: RSU – Recolha de Sólidos Urbanos, permite ao utilizador reportar lixos por recolher ou a falta de um caixote do lixo num determinado local, etc.; Causas Naturais – Neste tópico incluem-se por exemplo queda de árvores, buracos na estrada, postes caídos na rua, etc.; Trânsito – Esta é a causa referente a problemas com o trânsito, ruas congestionadas, acidentes, sinalização, etc.; Vandalismo – Aqui podem ser relatados eventos de vandalismo seja vidros partidos, seja placas marginalizadas, paragens de autocarro, etc.; Avarias – As avarias que podem ser reportadas são por exemplo canos estragados, problemas com saneamento, iluminação pública, etc.

A cada uma destas causas é imprescindível ser acompanhada por uma foto, que é útil ao gestor do sistema em vários sentidos: serve como prova do que é relatado evitando assim informação falsa; permite uma melhor perceção da situação de modo a que a resposta seja a mais adequada possível.

A cada uma destas causas pode estar associada uma base de dados individual, permitindo assim uma melhor gestão das ocorrências pois podem ser tratadas de acordo com o tipo como podem também ser de acordo com a zona por exemplo. Estes dados são recolhidos pela aplicação móvel que se desenvolveu e por sua vez entregues ao Centro de Controlo de operações onde são tratados e distribuídos para as entidades competentes para que as mesmas tenham conhecimento dos eventos que ocorreram na cidade.

As SmartCitys (cidades inteligentes) são cidades que são capazes de avaliar determinadas situações e reagir em função das mesmas, de modo a otimizar e facilitar a vida aos seus habitantes, uma rua que esteja congestionada deve ser evitada e ao condutor deve ser apresentada uma rota alternativa, este é um exemplo onde a esperteza de um sistema pode ser um fator importante. Dados como estes são o ponto de partida para o desenvolvimento desta aplicação móvel.

Outra grande possibilidade fornecida por este sistema é o facto de tratar todos os dados estatisticamente e a leitura dos mesmos pode melhorar o desempenho de algumas situações. Sendo possível baseado nesses dados alterar componentes da própria cidade para outros mais eficientes de acordo com a situação. Exemplo disso temos um vidro

(23)

que por exemplo é constantemente partido aconselhável a colocação de um anti quebra que embora seja mais caro torna-se menos dispendioso com o passar do tempo, este é apenas um exemplo pois muitas outras situações podem ser consideravelmente melhoradas recorrendo ao uso desta aplicação.

Um dado que se torna imperativo saber é a geolocalização dos habitantes, não permanentemente, mas aquando da captura de um evento, pois só assim é possível saber com a precisão necessária a localização de determinada ocorrência. Permitindo assim que as respostas às mesmas possam ser adequadas e eficientes, aqui provem a necessidade inevitável do uso dos dispositivos moveis como smartphones, pois são os que mais são usados no nosso dia-a-dia e principalmente porque se encontram geralmente capacitados com um recetor de sinal de GPS. Este fator é muito importante pois é o principal método de localização das ocorrências usado pela aplicação, mas embora seja o principal não é o único pois é usada também uma técnica através dos códigos de barras QRCode que se encontrarão a identificar as ruas e é possível á aplicação lê-los e obter as coordenadas de um local através deles.

Para tornar tudo isto possível desenvolveu-se todo um sistema baseado numa aplicação móvel, para a plataforma Android, que permitirá aceder a todas estas funcionalidades e ainda a outras que serão posteriormente referidas. Esta aplicação funciona em conjunto com um servidor Web (Centro de Controlo de Operações) onde todos os dados são tratados antes de disponibilizados para a aplicação e onde de igual modo são entregues as informações cedidas pela aplicação como por exemplo a localização do utilizador. O Android por ser uma plataforma completa de desenvolvimento para dispositivos moveis, open-source e com grande numero de utilizadores, foi usado para servir de tecnologia de suporte a todo este sistema do ponto de vista móvel, em complemento foi necessário recorrer às tecnologias da web para então se poder receber e tratar as informações visto um servidor ter muito maior capacidade de processamento que os dispositivos.

(24)

1.1 Motivação

A mobilidade é uma questão que se manifesta desde à muito tempo atrás, na tecnologia é um fator de inovação e de facilidades bastando para o confirmar olhar um pouco para a revolução dos computadores portáteis. Os computadores com essa revolução deixaram de se encontrar fixos às mesmas passando a acompanhar as pessoas onde quer que elas vão, mas esta noção de mobilidade verifica-se muito mais no âmbito dos telemóveis, onde a mesma se aplica ainda mais que aos computadores, pois aqui temos uma tecnologia que acompanha ainda em maior percentagem de tempo o seu utilizador que o carrega praticamente o dia todo todos os dias.

Estes fatores tornam muito aliciantes o desenvolvimento de aplicações para os telemóveis, telemóveis esses que hoje em dia são inteligentes e estão preparados para receber dezenas de aplicações de auxílio ou simplesmente de entretenimento ao seus donos.

A inteligência que os mesmos possuem esta associada ao facto de eles virem munidos de tecnologias que os permitem efetuar variadas funções (como por exemplo tirar fotografias, aceder a Internet, saber a sua localização, auxiliar na condução automóvel entre muitas outras) que se tornam imprescindíveis nos tempos que correm.

Estas características dos smartphones são uma mais-valia para quem desenvolve

software para dispositivos moveis, isto pois existe um vasto leque de recursos para

serem utilizados pelas aplicações desenvolvidas e uma área que está em grande evolução e crescimento são os LBS serviços baseados na localização, que sendo conhecedores da sua localização efetuam ações em relação á mesma de modo a que isso traga mais-valias ao seu utilizador ou provedor de serviço, preferencialmente aos dois. Os sistemas baseados na localização (LBS) são a tecnologia em destaque neste trabalho, pois é partindo dos princípios dos mesmos que esta aplicação foi desenvolvida e foi com a implementação dos mesmos que se conseguiu um interesse acrescentado na realização da mesma. Estes são os fatores que fundamentam a motivação para a elaboração desta aplicação para dispositivos móveis.

(25)

1.2 Objetivos

Esta evolução referida denota-se nos não apenas no hardware dos dispositivos, que agora incluem recetor de GPS, câmara fotográfica, comunicações sem fios, entre muitas outras inovações, mas também a nível de software que tem sido constantemente atualizado para se poder usufruir de todos os recursos de hardware que foram mencionados, para tal surgiu entre outros a plataforma Android, um sistema operativo para dispositivos moveis, com a oferta de um grande conjunto de recursos para desenvolvimento de aplicações moveis da Google.

A plataforma móvel Android mostra que a mesma é open source o que pode ser encarado como mais um fator de motivação para este trabalho, esta plataforma difere muito das plataformas de proprietários principalmente no âmbito dos custos, que para os produtores de software é um ponto muito importante.

O objetivo deste trabalho é desenvolver uma aplicação para a plataforma Android que sirva os interesses de uma população, do ponto de vista da responsabilidade social de cada habitante em reportar anomalias ou eventos ocorridos nas ruas da mesma e os reportem através desta aplicação, para as entidades competentes poderem agir em conformidade o mais rapidamente possível.

Como será abordado no capitulo de planeamento da aplicação o utilizador deverá permitir ao dispositivo obter a sua localização, ou por GPS ou por QRCode (estes

QRCodes encontram-se espalhados pelas ruas da cidade e possuem as coordenadas do

lugar onde se encontram) e em seguida deverá tirar uma foto da ocorrência que está a reportar exemplo uma arvore caída, deve indicar á aplicação qual a causa da ocorrência (estas causa encontram se definidas na aplicação e o utilizador apenas tem que escolher a correta) e enviar para o centro de controlo de operações para então a mesma ser tratada.

(26)

1.3 Organização da dissertação

A presente dissertação encontra-se dividida em cinco capítulos.

De início apresentam-se as motivações do projeto, os objetivos que se pretendem atingir com o decorrer do trabalho e também a metodologia seguida. Tratando-se assim do primeiro capítulo.

De seguida temos o capítulo de enquadramento tecnológico, onde é feita uma revisão bibliográfica sobre a computação ubíqua e as suas variadas áreas desde context aware a métodos de posicionamento e computação móvel entre muitas outras. Ainda neste capítulo é dado destaque ao Android pois esta é a plataforma que foi usada para o desenvolvimento da aplicação para dispositivos móveis e para o finalizar é feita uma breve abordagem às outras plataformas para dispositivos móveis.

No terceiro capítulo apresenta-se a aplicação desenvolvida que serve como caso de estudo, desde os aspetos gerais e planeamento até aos resultados e conclusões, passando por um plano detalhado de cada função implementada. São apresentadas imagens da própria aplicação e é também feito um esclarecimento de cada uma das classes mais importantes ao funcionamento da aplicação em si. Nos resultados pode-se ver a aplicação a tratar um caso real de reportar um evento para o centro de controlo de operações.

No seguimento temos o quarto capítulo onde são apresentados outros projetos desenvolvidos em simultâneo.

Por sua vez o quinto capítulo é referente aos testes e conclusões que se podem obter da realização desta dissertação, uma revisão geral sobre tudo que foi feito e são também definidos algumas atualizações ou implementações para trabalho futuro.

O quinto capítulo incide sobre a análise e o trabalho futuro a desenvolver para este projeto.

O por fim pode se consultar todas as referências usadas ao longo do desenvolvimento deste trabalho principalmente no capítulo do enquadramento tecnológico.

(27)
(28)
(29)

Capítulo 2

Enquadramento tecnológico

Este capítulo inicial inclina-se acerca de uma revisão bibliográfica da teoria necessária á compreensão do trabalho a ser desenvolvido. Dá uma definição de computação ubíqua e aborda alguns das principais tecnologias que a suportam, especifica ainda o contexto da tecnologia Android entre outras noções importantes.

2.1 Computação Ubíqua

A computação ubíqua é uma visão de computação “invisível” embebida no mundo que nos rodeia e acedida através de interfaces inteligentes: O seu maior ideal é tornar um computador tão embebido, tão ajustado, tão natural que nos faça usá-lo sem pensarmos nele (Weiser 1991). A principal diferença está em mudar a computação para o próprio ser humano, em vez do computador por ele usado, onde a tecnologia deixa de ser uma

(30)

barreira e em vez disso passa a trabalhar para nós e adaptar-se às nossas necessidades e preferências, mantendo-se oculta, até nós a solicitarmos para aparecer.

Isto implica uma profunda mudança na nossa relação com a tecnologia para um modo muito mais natural de interação e um uso do poder interligado de sistemas de computação que estarão ligados não só à Internet, ou outros computadores como também a lugares e a pessoas, objetos dos dia-a-dia e outras coisas do mundo à nossa volta a Figura número 1 mostra as três ondas da computação.

Figura 1 - Três ondas da computação. Fonte (Weiser 1991)

Os conceitos chave que os dispositivos num ambiente de computação ubíqua precisam são: Identificação; Localização; Sensores e Conectividade (Mark 2007).

Identificação: No sentido dos objetos e os dispositivos se tornarem parte útil de uma inteligência superior numa rede de sistema de partilha, é crucial que cada um tenha uma identificação. Isto não só torna possível que mais “objetos” possam estar interligados

(31)

como também significa que os objetos a nossa volta podem se tornar em valiosos recursos e interfaces para outros recursos.

Duas grandes tecnologias usadas para permitirem a identificação dos “obejetos” são os RFID e os códigos de barras.

Figura 2 - RFID. Fonte:http://tcnwo.blogspot.pt/p/rfid-chips.html

Figura 3 - QRCode. Fonte: www.goqr.me

Localização: A capacidade dos objetos e dispositivos terem informação acerca da sua própria localização cria um outro importante nível de inteligência, permitindo a descoberta de pessoas, objetos e recursos e cria condições para o uso de ferramentas e serviços baseados na localização.

Sensores: Adicionando outros sensores e.g. temperatura, presença, etc. às tags RFID ou a qualquer outro nó sem fios permite-se obter muito mais informação para ser analisada bem como um muito maior sentido de “awareness” às redes ubíquas. Esta capacidade de conhecer o contexto permite aos sistemas aperceberem-se de alterações ao ambiente e prontamente responder às mesmas sem necessidade de meios humanos no processo,

(32)

exemplo: uma sala que possua sensores de temperatura, lê os valores e assim que estes estejam fora da margem definida liga o ar condicionado para ajustar a temperatura. Como a temperatura existem sensores capazes de medir pressão, velocidade, qualidade do ar ou agua, stress, humidade e aceleração.

Conectividade: A conectividade sem fios é tecnologia uma chave na computação ubíqua, pois permite a interligação de todos os componentes referidos até então, é essencial que essa interligação seja sem fios, quando se fala de tornar os computadores invisíveis e embutidos em objetos ou roupas, pois com fios tal seria impossível.

2.1.1 Códigos de barras (BarCodes)

Um modo simples de dar uma identidade a um objeto e permitir ao utilizador interagir com ele é através de um código visual ou 2D “código de barras” por exemplo.

Códigos de barras são imagens impressas que possuem dados no seu conteúdo, esses dados podem ser capturados por uma camara fotográfica de um telemóvel e com recurso a uma aplicação é possível descodifica-los e transforma-los em texto ou em web links inteligentes, que nos levam pra uma determinada pagina web.

O software necessário para a criação destes códigos pode facilmente ser descarregado da internet, ou até podem ser gerados online gratuitamente que é o caso do site

www.goqr.me.

Novas versões desta tecnologia como as da Fujitsu (Fine Picture Code) permitem que o código de barras esteja invisivelmente embebido na fotografia ou imagem. A NTT

DoCoMo também desenvolveu um sistema que permite embeber URLs em sons ou em

músicas e são posteriormente interpretadas por alguns telemóveis a quando da reprodução das mesmas.

Como exemplo dum destes códigos de barras temos um muito usado, o QRCode, representado na figura 3. Este tipo de código de barras é no Japão, por exemplo usado

(33)

para poupar aos cidadãos o trabalho de inserirem dados como o endereço nas aplicações de dispositivos móveis na compra de bens, facilitando assim o processo (Mark 2007).

2.2 Computação Móvel

A computação móvel encontra-se intrínseca no nosso dia-a-dia pois dispositivos móveis, tabletes e telemóveis por exemplo, são um grande auxílio no desempenhar de tarefas quer sejam profissionais quer pessoais.

Acrescentando a estas características o fato de ser possível atualmente desenvolver aplicações para estes dispositivos de uma forma simples e dispondo de acesso a todos os recursos do aparelho, torna ainda mais aliciante o uso destes dispositivos, permitindo uma melhor adaptabilidade às necessidades dos utilizadores.

Nos primeiros dias da computação móvel, em meados dos anos 90, um pequeno leque de empresas tentaram construir e vender personal data assistants (PDAs). Apesar de os

PDAs não serem considerados computadores móveis, eles são em todo o caso os

antecessores dos smartphones de hoje em dia.

Os modelos iniciais Palm 1000 e Palm 5000 eram muito limitados funcionalmente, tipicamente possuíam menos de um megabyte de memória, um ecrã monocromático, e aplicações muito simples como uma base de dados de contactos, calendário, bloco de notas, etc. Todos eles tinham a capacidade de se ligarem a um computador através da porta série. Com esta sincronização tanto os contactos como o calendário eram atualizados e/ou transferidos.

Foi em meados dos anos noventa que os fabricantes começaram a introduzir características como melhores CPUs, memória, e ecrãs LCDs aos telemóveis, mudando-os assim de purmudando-os telemóveis para dispmudando-ositivmudando-os de computação móvel.

A primeira característica adicionada do ponto de vista do sistema operativo, foi permitir aos utilizadores guardar e diretamente aceder aos seus contactos e não está limitado a apenas poder sincroniza-los com um computador, para isso os fabricantes forneceram

(34)

um método de escrever aplicações para dispositivos pequenos e um sistema operativo capaz de as executar.

Como a aplicação de gestão de contactos foram criadas várias, mas uma delas destacou-se e tornou-destacou-se uma aplicação chave, que criou uma enorme revolução, mensagens de texto.

Hoje, a maioria dos telemóveis são capazes não só de fazer chamadas, mas sim também de tirar fotografias, reproduzir musica, surfar na internet, jogar vídeo jogos e até de disponibilizarem direções ao conduzir, através de um recetor de GPS (Hall and Anderson 2009).

De acordo com o que foi reportado por (Nielsen 2012) uma empresa de estudos de mercado “…em media nos Estado Unidos os utilizadores de featured-phones (telemóveis simples, antes do aparecimento dos smartphones) têm cerca de 10 aplicações a bordo, enquanto os utilizadores de smartphones têm cerca de 22”. As aplicações móveis mais populares descarregadas são jogos, música, redes sociais, notícias/tempo, mapas/navegação/procura, vídeo/filmes, entretenimento/alimentação, desporto, comunicação, bancos/finanças, compras/retalho, produtividade e viagens/estilo de vida.

(35)

Figura 4 - Categorias de aplicações descarregadas. Fonte: http://blog.nielsen.com

De acordo com o “Worldwide Quarterly Mobile Phone Tracker" reportado pelo IDC, “

…iOS da Apple pode ser o sistema operativo dominante no mercado de tabletes; mas entre os smartphones, Android é a empresa que reina. O mercado global do Android aumentou de 46.9 porcento no segundo trimestre de 2011 para 68.1 porcento no segundo trimestre de 2012” (Uskov 2013).

(36)

Figura 5 - Partilha de mercado de SO para smartphones. Fonte: http://www.vdcresearch.com/index.aspx

2.3 Computação Context-Aware

Num mundo de rápido crescimento precisamos de informação para o sítio onde nos encontramos. Para termos disponíveis esses tipos de serviço precisamos de recorrer ao uso de computação ubíqua. Em outros tempos quando precisávamos de alguma informação significava que teríamos que ir a um computador para ter essa determinada informação, hoje em dia temos um computador portátil connosco e temos a informação onde que que estejamos (Madhusudanan, Selvakumar et al. 2010).

Um desafio para computação móvel distribuída é explorar as mudanças no ambiente com uma nova classe de aplicações que tenham consciência do contexto onde elas estão inseridas. Este software de context-aware adapta-se de acordo com a localização de uso, o conjunto de pessoas próximas, anfitriões, e dispositivos acessíveis, tal como mudanças a estas coisas no decorrer do tempo. Um sistema com estas capacidades pode examinar o ambiente computacional e reagir a mudanças no ambiente.

(37)

Os três aspetos importantes do contexto são: onde estás, com quem estás e que recursos temos nas proximidades. No entanto o contexto engloba mais do que apenas a localização do utilizador porque outras coisas de interesse são também moveis e encontram se em constante mudança sendo importante ter também conhecimento das mesmas.

Contexto inclui também luminosidade, nível de barulho, ligações a internet, custos de comunicação, largura de banda e até o ponto de vista social e.g., se nos encontramos com o nosso gestor ou um colega de trabalho, todos estes fatores são úteis e o sistema deve ser capaz de reagir a cada um ou a um conjunto deles (Schilit, Adams et al. 1994). O termo context-aware segundo (Schilit and Theimer 1994) “refere-se ao contexto como localização, identidades de objetos e pessoas próximas, e mudanças a esses objetos.” Numa definição semelhante (Brown, Bovey et al. 1997) definem o contexto como localização, pessoas e objetos á volta do utilizador, o tempo do dia, época, temperatura. etc.

Contexto é a informação que pode ser usada para caracterizar uma situação ou entidade. Uma entidade é uma pessoa, sitio ou objeto que é considerado relevante na interação entre um utilizador e uma aplicação incluindo propriamente o utilizador e a aplicação (Madhusudanan, Selvakumar et al. 2010).

Esta definição torna mais fácil a um produtor de aplicações enumerar o contexto para um determinado cenário aplicacional. Se uma parte da informação pode ser usada para caracterizar uma situação de um participante na interação, então essa informação é considerada contexto.

Uma categorização de tipos de contexto ajuda os produtores de aplicações a descobrir as partes mais interessantes de um contexto que serão uteis nas suas aplicações.

Os autores (Ryan, Pascoe et al. 1997) sugerem que os tipos de contexto são localização, ambiente, identidade e tempo. Por sua vez (Schilit, Adams et al. 1994) acrescentam aspetos importantes do contexto como por exemplo onde estas, com quem estas e que recursos estão disponíveis nas proximidades. Aplicações context-aware olham para:

(38)

quem, onde, quando e o que (que é o que o utilizador está a fazer) das entidades e usa essa informação para determinar o porque de a situação estar a ocorrer.

2.4 Computação Baseada na Localização (LBC)

A computação baseada na localização é o tema desenvolvido neste subcapítulo, vão ser abordados os principais temas e tecnologias que a compõem e sobre cada um deles é dada uma descrição e apresentado o modo como se relacionam entre si.

2.4.1 Serviços Baseados na Localização (LBS)

Os serviços baseados na localização (ou em inglês Location-Based Services) podem ser definidos como “serviços que integram a localização, ou a posição de um dispositivo móvel com outra informação de modo a trazer valor acrescentado ao utilizador” (Schiler and Voisard 2004) ou então como “serviços de dados e informação orientados geograficamente para utilizadores de redes de telecomunicações móveis” como explica por sua vez o autor (Karimi 2004).

LBS podem também ser vistos como um subconjunto de outro tipo de serviços que já aqui referimos, os chamados context-aware services.

O que importa reter no sentido de definir LBS é uma grande divisão que existem entre eles que os organiza como reativos e pró-ativos. De acordo com (Kupper 2005) um LBS reativo é sempre ativado de forma explícita pelo utilizador, sendo a sua função de acordo com o modelo pedido-resposta apresentando consequentemente um comportamento síncrono entre o utilizador e o serviço solicitado pelo mesmo.

Por sua vez as aplicações pró-ativas são aquelas que não são ativadas pelo usuário, funcionando assim, de maneira assíncrona. Sendo estas ultimas ativadas por alterações ao ambiente onde se encontrar inseridas para as quais se encontram preparadas para responder. Como exemplo deste tipo de aplicações temos uma aplicação que quando os utilizadores se encontram próximos de uma loja de comércio a aplicação é ativada e por sua vez divulga informação publicitaria sobre os produtos dessa loja (Machado 2010).

(39)

A primeira geração de LBS

A primeira geração de LBS – ficou conhecida como os location blind services (serviços de localização “cegos”), é aquela que permite aos utilizadores pedirem informações sobre a sua vizinhança física.

Esta geração requer que os utilizadores carreguem a sua localização manualmente (ex. código postal, endereço, etc.). Visto que quem usa a aplicação é que é responsável por se localizar a si mesmo, a primeira geração de LBS está separada da tecnologia que a suporta, quer isto dizer que a os LBS não se baseiam na rede para fornecerem a localização aos utilizadores móveis. Por consequência destes fatores o principal ponto de acesso a esta primeira geração de LBS era geralmente o computador fixo em casa. Como principais exemplos de LBS de primeira geração temos o MapQuest e também o

CitySearch que foram muito populares nos Estado Unidos durante os anos noventa.

Segunda geração de LBS

A segunda geração de LBS foi também conhecida como location-aware (conhecedora da sua localização), é a geração de serviços com capacidade de extração de alguma informação de localização a partir da rede de suporte sem interferência do utilizador. Como exemplo temos o código postal ou alguma informação acerca da localização da célula que está disponível para quem se encontre a desenvolver para sistemas operativos móveis. Esta tecnologia não se verifica para uso em computadores fixos pois os mesmos não possuem capacidade de localização automática disponível.

Um fator associado a esta geração é o de os serviços serem inicializados pelos utilizadores de LBS, operando assim em pull-mode, ou seja, o utilizador terá que solicitar a informação ao sistema e posteriormente ser-lhe-á entre essa mesma informação.

Terceira geração de LBS

A terceira geração de LBS, também chamada de serviços de localização precisa, tem a capacidade de fornecer automaticamente, ou de iniciar de um modo proactivo serviços

(40)

relativos á localização precisa do dispositivo móvel sem ser necessário o utilizador efetuar qualquer pedido ou qualquer entrada no sistema.

Este serviço que se inicia a ele próprio ópera em modo de alerta, isto é, encontra se atento a alterações do meio a que está preparado para responder. O espoletar de um alerta é uma condição que está relacionada com a localização geográfica de um dispositivo móvel, ou seja, se o utilizador se encontra numa avenida nas proximidades de um restaurante receberá automaticamente um aviso a informar acerca desse mesmo “evento”.

Estes serviços estão permanentemente atentos a todas as condições que surjam relacionadas com a localização geográfica do dispositivo móvel, ativando-se ao verificar-se o cumprimento das mesmas.

A interligação de perfis de utilizador permite que haja uma disponibilização altamente personalizada de informação de serviços, aumentando substancialmente a relevância dos dados a apresentar.

Figura 6 - As três gerações de LBS Fonte (Sousa 2007)

(41)

O nível de precisão das aplicações móveis baseadas em serviços de localização dependem muito da finalidade a aplicação em questão, a seguinte tabela (Tabela 2) mostra alguns exemplos:

Tabela 1 - Precisão em função do género. Fonte: (Bellocci, Genovese et al. 2002)

Taxonomia de Aplicações LBS

A maior distinção entre os serviços baseia-se na deferenciaçao dos destinatários para os quais são orientados, se é para as pessoas (person-oriented) ou se é para os dispositivos (device-oriented).

 LBS orientado a pessoas inclui todas as aplicações em que o serviço é baseado no utilizador. O foco de aplicação deste tipo de uso é posicionar uma pessoa ou usar o posicionamento de uma pessoa para melhorar um serviço. Normalmente a pessoa localizada pode controlar o serviço como acaba por acontecer por exemplo com a aplicação Friend Finder.

 LBS orientado a dispositivos são aplicações externas ao utilizador. Não só, pois elas podem se concentrar na posição de uma pessoa mas não precisam de o fazer. Em vez de só uma pessoa pode ser um objeto (um carro por exemplo), um grupo de pessoas (como por exemplo uma frota) também pode ser localizado. Nas aplicações orientadas ao dispositivo as pessoas ou os objetos localizados normalmente não controlam o serviço (como por exemplo rastreamento de um carro roubado).

(42)

Tabela 2 - Categorias e exemplos de aplicações Android LBS. Fonte (Bellocci, Genovese et al. 2002)

Estas aplicações acompanham-nos diariamente nos dispositivos e encontram-se em constante contacto com o servidor, o que levanta alguns problemas no que diz respeito á privacidade do utilizador. O fato de a aplicação poder informar o provedor de serviço acerca da nossa localização constantemente é algo altamente indesejado para os utilizadores que sem saberem estão constantemente a ser acompanhados.

No entanto, muitos estudos mostram que os consumidores se preocupam com a sua privacidade e têm muito cuidado com algumas intrusões. Como resultado disso operadores e vendedores mas também as pessoas, entre elas próprias, devem ser cuidadosas e sensitivas acerca do modo como usam a localização de outros. Em complemento o spam tornou-se outra ameaça a esta indústria (Bellocci, Genovese et al. 2002).

Mensagens não solicitadas empurradas para os telemóveis podem ser percebidas como mais perigosas pelos recetores que o próprio spam no email.

(43)

Como resultado desta potencial ameaça a Comissão Europeia reconheceu o assunto na sua Diretiva na Privacidade e Comunicações Eletrónicas (Diretiva 2002/58/EC)1.

Os principais pontos cobertos por esse concilio foram:

 Chamadas automáticas são apenas permitidas a subscritores que tenham dado o seu pré consentimento.

 Mensagens eletrónicas que concedam a identidade do destinatário ou que estejam sem um endereço válido de resposta são proibidas

 Se o operador quiser fazer marketing direto, então tem que ser dada ao utilizador a oportunidade de contestar, livre de custos e de maneira simples.

Também o uso de dados de localização em geral é regulamentado, como é exigido no artigo 9 da mesma diretiva:

 Dados de localização podem ser processados quando é feito anonimamente ou com o consentimento do utilizador para a duração necessária que é prevista pelo serviço.

 O serviço de localização tem que informar o utilizador anteriormente para obter o seu consentimento, do tipo de dados de localização que vai processar, do propósito e da duração do processamento, e se existem dados que vão ser transmitidos a terceiros.

 Deve ser dado aos utilizadores a possibilidade de negarem o seu consentimento ao processamento de dados sobre a localização sempre que o mesmo o deseje efetuar.

 O utilizador deve ter maneiras simples, livres de custos para poder temporariamente recusar o processamento de dados de localização, para cada conexão á internet.

1

Para ver os detalhes completos desta legislação que estão incluídos no “Directive 2002/58/EC” do Parlamento Europeu no consílio de julho de 2002. Em: http://europa.eu.int.

(44)

O exemplo da Vodafone:

A Vodafone definiu rigorosos requisitos em relação aos recursos de gestão de privacidade da sua tecnologia de middleware.

A Vodafone permite agora aos seus utilizadores tornar anónimos os seus pedidos de localização. Permite também que os seus utilizadores definam as suas preferências de privacidade, incluindo a frequência com que alguém pode ser contactado, o tempo, o nível de precisão e o modo de notificação.

2.4.2 API de Mapas do Google (Gmaps)

“Eu (…) estou certo de que os mapas digitais estão crescendo, e eles estão gerando toneladas de novas palavras e frases, como resultado. Mas representações digitais bidimensionais do mundo, também conhecido como mapas Web, são apenas o começo.” - (McFedries 2007)

A ferramenta do Google Maps, permite um elevado grau de interatividade entre o utilizador e a aplicação em si, dispõe de várias funcionalidades e é uma ajuda imprescindível hoje em dia. Esta passagem dos mapas em suporte físico para os mapas digitais é uma das grandes características da web 2.0 e encontra se de tal maneira espalhada e integrada pelo mundo inteiro que se tornou um auxílio a muitos serviços que já conhecíamos através do cruzamento de plataformas (mashups).

Para além do Google Maps temos outros fornecedores de mapas digitais como o

(45)

Figura 7 - Google Maps for Android

As funcionalidades e aplicações dos mapas digitais são imensas, assim seja a nossa imaginação, temos um exemplo, talvez o mais presente no nosso dia-a-dia que é o uso dos mapas em conjunto com o GPS e conseguimos assim um grande auxílio à navegação/condução pois sobre os mapas é possível traçar rotas, indicar distâncias e até ver imagens de locais de interesse, recentemente é possível visualizar as ruas na quase totalidade de Portugal no Google Maps com a funcionalidade StreetView.

Todos estes serviços estão disponíveis constantemente e é possível aceder-lhes através da web, ou até replica-los em aplicações para smartphones, isto alarga ainda mais o leque de áreas de implementação e permite o desenvolvimento de aplicações mais completas e mais uteis baseadas na localização, pois a grande maioria dos dispositivos

(46)

móveis dispõem de GPS e uma ligação a internet, tudo que é necessário para este serviço funcionar.

Figura 8 - StreetView Gmaps. Fonte: https://maps.google.pt/

É possível comprar camaras fotográficas que possuem um recetor de GPS e a cada fotografia que tire guarda a localização exata do local e posteriormente é possível ser interpretada por servidores de mapas.

Os mapas podem ser pesquisados através de dados geográficos, como códigos postais e coordenadas de latitude e longitude, os utilizadores podem personalizar as suas pesquisas para locais específicos através de um processo chamado geosniffing2. Todas estas características permitem até que seja possível desenvolver jogos sobre estes mapas, que é o caso do geocaching que consiste numa caça ao tesouro baseado nos dados geográficos com o auxílio de um GPS.

(47)

2.4.3 Métodos de posicionamento

O que na grande maioria das vezes seleciona o método de posicionamento a usar é a precisão que cada serviço requer, o ambiente em que está inserida e o dispositivo que temos para lhe acedermos. Enquanto para alguns serviços uma estimativa da posição é o suficiente para ele poder funcionar, para outros é exigido um nível de precisão muito grande e com atualização constante.

As tecnologias de posicionamento podem ser divididas em diferentes níveis de precisão e de tempos de resposta.

A Figura número 9 apresenta a relação direta entre o serviço de localização e as suas exigências na precisão e no tempo de resposta necessários. Como se pode verificar os serviços de emergência são sem dúvida os que requerem maior precisão e menor tempo de resposta, em oposição temos as previsões de tempo (Freitas, Queluz et al. 2004).

Figura 9 - QoS dos LBS. Fonte (Sousa 2007)

Os métodos de posicionamento para os sistemas móveis podem ser divididos nos seguintes tipos (Sousa 2007):

(48)

Esta tecnologia baseia-se na identificação da célula a que o dispositivo se encontra associado e assume-a como a sua localização. Esta informação encontra-se sempre presente em qualquer sistema móvel uma vez que a rede possui a informação da célula em que o dispositivo está alocado para assim poder fazer o encaminhamento das chamadas.

Este método pode conseguir melhores resultados com tecnologias auxiliares, como é o caso da tecnologia Timing Advance (TA), com base na medição do tempo de latência entre o aparelho em si e a estação base a que o aparelho se encontra a utilizar.

 Baseados em ligações radio terrestres

A localização do terminal é determinada a partir do método de triangulação, quer seja com base no tempo de propagação do sinal pela rede móvel quer através do angulo com que chega às antenas que o rodeiam, podemos ver alguns exemplos de tecnologias que se podem aplicar a este método:

TOA (Time of Arrival):

Esta tecnologia é baseada no cálculo do tempo de propagação do sinal pela rede móvel do dispositivo até às estações base.

E-ODT (Enhanced Observed Time Difference):

Também se baseia no cálculo do tempo de propagação do sinal de radio. Mas este método tem a particularidade de o terminal móvel calcular o tempo de propagação transmitido por pelo menos 3 estações base localizadas em células vizinhas até ao próprio terminal, requerendo para esse efeito a existência de uma funcionalidade extra nos próprios terminais.

AOA (Angle of Arrival):

Este método usa as antenas em estações base para determinar o angulo de chegada de um sinal.

(49)

Apesar destes métodos também se basearem de igual modo no cálculo do tempo de propagação de um sinal de radio transmitido, eles são agrupados noutro conjunto devido a envolverem um sistema de satélites.

GPS

O Sistema de Posicionamento Global, vulgarmente conhecido como GPS (Global

Positioning System) é um sistema de posicionamento por satélite utilizado para a

determinação da posição de um recetor na superfície da terra ou em orbita e é constituído por uma constelação de satélites.

Figura 10 - Triangulação de Satélites. Fonte: http://grauca4x4.blogspot.pt/2013/06/gps.html

Inicialmente este sistema foi criado pelo Departamento de Defesa dos Estado Unidos da América (DoD) para fins militares e é controlado pelo mesmo até á presente data, mas o governo dos estados unidos decidiu na década de oitenta tornar o sistema de dados de posicionamento livremente disponível para todas as indústrias a nível mundial, embora possa também ser usado gratuitamente por qualquer pessoa, necessitando apenas de um recetor que seja capaz de captar o sinal emitido pelos satélites (Sousa 2007).

Desde então muitas empresas aproveitaram a oportunidade de obter dados de posicionamento através do uso de GPS e usam-no para melhorar os seus produtos e serviços. Por exemplo a indústria automóvel rapidamente integrou os sistemas de navegação nos seus carros recorrendo ao uso destes recursos.

(50)

No sistema tradicional de posicionamento, a informação sobre a localização era sempre entregue por um dispositivo que recorria á ajuda de um sistema de satélites (como por exemplo o recetor de GPS). No entanto, o interesse em serviços baseados na localização tornou-se mundial, e esta tecnologia sofreu uma enorme revolução no fim dos anos 90 quando um novo tipo de mercado de interesses surgiu devido ao aparecimento de pacotes de dados que deflagraram com o fornecimento de internet por parte dos operadores de telemóveis.

Embora, em 1997, na Europa, Asia e Estados Unidos da América a principal fonte de lucro das operadoras móveis tenha sido proveniente da realização de chamadas, a internet móvel já possuía uma relevante percentagem dos mesmos lucros. Visto que o preço das chamadas caía gradualmente e esta área não permitia às operadoras continuar a crescer, pois o crescimento da telefonia móvel é limitado, as empresas começaram a olhar de modo diferente para a internet móvel de operador, associada aos serviços de localização (Spiekermann 2004).

Existem vários métodos que permitem a um sistema obter a sua localização, entre os quais temos: GPS; 802.11; protocolos; torre de rede e até manual. Como é percetível nem todos eles têm capacidade de determinar a localização de igual modo, principalmente com igual exatidão e a principal opção dos fabricantes recaiu sobre o GPS para ser inserido nos dispositivos móveis.

Isto porque o sistema GPS permite alcançar uma precisão de cerca de 10 metros em condições ótimas, sendo o mais comum considerar-se uma precisão media entre os valores 17 e 20 metros.

A infraestrutura tecnológica acossada ao sistema GPS é constituída por três subsistemas:

1 – Subsistema de satélites (segmento espacial) 2 – Subsistema de controlo (segmento terrestre) 3 – Subsistema do utilizador

(51)

O subsistema de satélites é constituído por 24 satélites (algumas vezes mais) que completam a orbita da Terra a cada 12, a uma altitude de 500km. As rotas dos satélites foram escolhidas de modo a que de qualquer ponto da Terra se detetem pelo menos cinco satélites. No entanto, para se calcular com precisão a localização de um recetor de GPS basta que receba o sinal em boas condições de quatro satélites pois só assim é possível obter as coordenadas exatas.

O subsistema de controlo é constituído por várias estações terrestres. Nestas estações são observadas as trajetórias dos satélites de GPS e o tempo é atualizado com grande precisão e por sua vez esta informação é transmitida aos satélites.

O sistema informático recalcula e corrige, com base nos dados das estações, em cada um dos satélites a sua posição absoluta, mas também corrige ainda a informação que é enviada para a terra. A estação terrestre que serve de principal estação de controlo da constelação GPS está localizada nos Estados Unidos, mais propriamente no estado do Colorado.

O subsistema utilizador é constituído por um recetor de rádio com uma unidade de processamento capaz de descodificar em tempo real a informação enviada por cada satélite e calcular a sua posição. Cada satélite envia sinais de características diferentes de 30 em 30 segundos e de 6 em 6 segundos.

Na informação que provem dos satélites encontramos envolvidas várias técnicas matemáticas que permitem recuperar a informação perdida na transferência devido às más condições atmosféricas, embora nos períodos de grande radiação solar a maior parte da informação enviada pelos satélites perde-se.

O GPS pode ainda funcionar de modo diferencial, DGPS. A principal diferença é que o sinal de GPS é armazenado em computador e é então posteriormente processado com dados cruzados solicitados às estações de controlo fixas (segmento terrestre). Através do uso deste processo, eliminam-se erros sistemáticos e a precisão do GPS pode chegar a ser da ordem de um metro. Esta tecnologia é particularmente útil em trabalhos como a cartografia em que as coordenadas espaciais não sofrem nenhum tipo de alteração ao longo do tempo.

(52)

Assisted-GPS ou simplesmente A-GPS é uma tecnologia que utiliza um servidor de

“assistência” de modo a conseguir reduzir o tempo necessário para a obtenção de uma localização usando o GPS. É então muito útil em áreas urbanas ou em interiores.

Recorrendo ao uso desta técnica consegue-se melhorar os resultados e reduzir drasticamente o tempo de pesquisa (de minutos para segundos) e permite o funcionamento com sinais consideravelmente mais fracos que o GPS não assistido.

(53)

Figura 11 - Latitude e Longitude. Fonte:(Abreu 2011)

2.4.4 Sistemas globais de navegação por satélite (GNSS)

A navegação por satélite é uma tecnologia que permite aos utilizadores de todo o mundo obter a sua localização com precisão em qualquer momento.

Isto gera um vasto leque de aplicações possíveis, abrangendo um largo conjunto de domínios, desde o transporte tradicional até às comunicações, levantamentos topográficos, agricultura, pesca, proteção do ambiente, investigação científica, turismo entre muitos outros.

A navegação por satélite pode melhorar a condução rodoviária as condições do trafego, guiar pessoas incapacitadas ou até localizar mercadorias, animais bem como contentores. Para além disso pode facilitar as operações de proteção civil em ambientes difíceis, acelerar as operações de salvamento de pessoas em perigo no mar e proporcionar ferramentas para a guarda costeira e para controlos por parte das autoridades nas fronteiras (Sousa 2007).

Os sistemas globais de navegação por satélite estão a tornar-se rapidamente infraestruturas de importância crítica para a sociedade moderna, que confiará nestas para a realização de tarefas vitais como as que já foram acima referidas.

Atualmente o sistema de posicionamento global dos Estados Unidos NAVSTAR (GPS) é o único GNSS inteiramente operacional.

 Localização física:

As coordenadas podem ser de dois tipos, posição física ou localização simbólica. Estas coordenadas podem ser representadas em dois formatos: decimal e DMS (Degree

Minute Second). Enquanto no formato decimal as coordenadas são representadas através

de números reais (exemplo: 12.777777), no DMS o posicionamento é dado por uma combinação de graus, horas e minutos (exemplo: 21º 12’ 4’’) (Hightower and Borriello 2001). Imaginemos a cidade de Vila

Real. A sua localização no formato decimal é (41.294704,-7.746348), enquanto no formato DMS, o mesmo

(54)

ponto teria as coordenadas (41° 17' 40.9344",-7° 44' 46.6794"), sendo que os valores do lado esquerdo da vírgula representam a latitude e á direita a longitude.

 Localização simbólica.

Em contraste a localização simbólica engloba ideias abstratas de onde qualquer coisa se encontra: na cozinha, perto de uma caixa do correio, numa paragem de comboio, em Vila Real etc.

2.5 Plataforma Android

Uma apresentação das principais caraterísticas da plataforma Android é a incidência deste subcapítulo. Isto de modo a dar a conhecer alguns aspetos primordiais permitindo assim uma melhor compreensão do porque da utilização desta plataforma para o desenvolvimento da aplicação que deste projeto é fruto.

2.5.1 Introdução

Até à algum tempo atrás a maioria dos dispositivos móveis, principalmente os telemóveis, possuíam uma enorme tendência a utilizarem softwares proprietários não só a nível de sistema operativo como também as próprias aplicações. Como pretexto para justificar essa tendência eram usados fatores tais como aspetos tecnológicos (performance e desempenho), visto os recursos para o desenvolvimento de aplicações serem muito vagos (Machado 2010).

Para ultrapassar esta enorme barreira surgiu a plataforma Android baseada na mentalidade “open source” permitindo assim aos programadores, desenvolver aplicações, sem a necessidade de estarem associados a empresas que sejam fabricantes de software.

Segundo o autor do mesmo documento: “Android é não só uma linguagem de programação baseada em java como também um sistema operativo para dispositivos móveis e embebidos. No entanto ainda assim é necessária a utilização de APIs proprietárias, principalmente para acesso ao hardware, mantendo assim em parte a

(55)

barreira que existe para a criação de softwares de autoria não vinculada com a empresa fabricante ”

Sendo o Android uma plataforma orientada e concebida dentro da filosofia de software livre, apresenta-se como a maior alternativa a todos os sistemas que são propriedade de empresas fabricantes de software para dispositivos moveis. Como já foi referido a plataforma foi concebida na linguajem java o que concede um enorme poder de compatibilidade e portabilidade, entre diferentes hardwares, às suas aplicações, e existe atualmente um kit de desenvolvimento de software (SDK) gratuito e aberto.

Como linguagem de programação, tem a grande característica de ser “orientada a eventos” e as suas “views” gráficas são dinamicamente inflacionadas a partir de um ficheiro XML que contem o layout. Qualquer compilador Java consegue compilar aplicações Android, mas o Java bytecode que resulta deve ser traduzido pela muito otimizada Dalvik (posteriormente apresentada) para poder correr num dispositivo móvel (Payet and Spoto 2012).

O Android é também considerado, pelos mesmos autores, um ator principal no mercado de sistemas operativos para dispositivos móveis e embebidos como telemóveis, tabletes e televisões.

O grupo de desenvolvimento do Android foi o Open Handset Alliance (OHA) inicialmente formado por empresas das mais variadas áreas da tecnologia como a HTC, Samsung, Sprint Nextel, T-Mobile. O seu objetivo era desenvolver standards livres para dispositivos móveis. O primeiro telemóvel comercial disponível com este sistema operativo foi o HTC Dream lançado a 22 de outubro de 2008 (Bryan 2012).

2.5.2 Maquina Virtual Dalvik (Dalvik Virtual Machine)

Visto a performance e o desempenho serem uma grande preocupação e em simultâneo uma enorme barreira ao desenvolvimento de aplicações para dispositivos móveis, derivado do facto que ainda hoje em dia os recursos que os mesmos dispõem serem muito reduzidos (como memoria, processador e principalmente a bateria) quando comparados com os computadores quer fixos quer portáteis. No entanto o SDK é

(56)

composto por uma enorme quantidade de APIs (como mais a frente é demonstrado) e bibliotecas para o desenvolvimento de aplicações em java sem que estas sejam otimizadas para as capacidades das plataformas a que se destinam.

Estas questões que envolvem a performance de dispositivos moveis, são um fator de principal importância para o bom funcionamento da plataforma neste nicho de aparelhos, o Google ao desenvolver o sistema operativo com o intuito de o tornar mais eficaz, dados os recursos que dispõe nos mesmos, implementou uma versão amplamente otimizada da maquina virtual do java de modo a economizar ao máximo a necessidade de utilização dos recursos anteriormente referidos. Esta versão resultante foi batizada com o nome de Dalvik Virtual Machine e usa um bytecode próprio, com principal destaque ao facto que a sua arquitetura é baseada em registos em vez de ser baseado na pilha, diminuindo assim o número de instruções em nível de montagem (Machado 2010).

2.5.3 Arquitetura

A arquitetura do Android é composta por cinco camadas:

 Aplicações;

Framework de aplicação;

 Bibliotecas nativas;

Android runtime;

Linux kernel.

O kernel Linux é a camada de abstração entre o hardware e a plataforma Android. Acima desta camada, a camada de abstração gere e proporciona uma interface abstrata entre os drivers do hardware e a plataforma Android, como por exemplo a interface 3G, Wi-Fi ou o gestor de energia.

O Android runtime é o núcleo da plataforma Android, gerindo não só o ciclo de vida de um processo a ser executado, exemplos disto são aplicações e serviços, mas também os correspondentes recursos como por exemplo, capacidades de memória e de processamento. O runtime consiste em dois componentes: as bibliotecas do núcleo que

(57)

são as APIs do Java para gerir as estruturas de dados ou ligações a internet; e a Dalvik

Virtual Machine.

A framework de aplicação consiste em diversos serviços que permitem a gestão dos recursos de sistema, tais como uma janela ou manipulação de notificações. Alguns serviços são internos ao sistema enquanto outros fornecem uma API para as aplicações usarem os seus recursos como o GPS ou Wi-Fi.

Finalmente as aplicações que são visíveis ao utilizador correm na DVM e usam a

framework de aplicação para aceder ao serviços e recursos do sistema. Cada aplicação

corre sobre uma única instância da máquina virtual, logo cada processo é individual (Silva, Carvalho et al. 2011).

Figura 12 - Camadas Android. Fonte: http://android.devloper.com

É comum apresentar a arquitetura do Android estruturada como uma pilha de softwares em que os serviços são oferecidos pelas camadas mais baixas para as camadas superiores.

Em suma pode ser afirmar que a arquitetura da plataforma se apresenta com um completo ambiente de computação, desvinculado da magnitude da estrutura onde será implantado (Machado 2010).

A Dalvik Virtual Machine (DVM) fornece ao Android caraterísticas únicas que permite às suas aplicações ter um sistema de resposta a eventos, diretamente através do sistema

Imagem

Figura 1 - Três ondas da computação. Fonte (Weiser 1991)
Figura 2 - RFID. Fonte:http://tcnwo.blogspot.pt/p/rfid-chips.html
Figura 4 - Categorias de aplicações descarregadas. Fonte: http://blog.nielsen.com
Figura 5 - Partilha de mercado de SO para smartphones.
+7

Referências

Documentos relacionados

As linhas de base ou baselines são documentos que representam a base de medição de desempenho para escopo, cronograma, custo e qualidade. São as primeiras versões de escopo,

A evolução dos componentes dos dispositivos móveis levou a um aumento no número de jogos disponíveis para estes dispositivos, pois torna-se mais fácil desenvolver uma

Aplicação de padrões de projetos existentes ou específicos para a plataforma Java ME em aplicações móveis.. Desenvolvimento de sistemas e aplicativos nas plataformas J2ME e

Este trabalho foi desenvolvido para atender a necessidade eminente do georeferenciamento das áreas de projetos que são desenvolvidos pelo Museu Paraense Emílio Goeldi,

Levando em consideração alguns princípios gerais de historiografia literária, como bases de representação, periodologia, cânone e perspectiva, as crenças e os

A COMISSÃO ELEITORAL do Conselho Municipal de Assistência Social, no uso das atribuições que lhe confere a Resolução 101/07, de 1º de outubro de 2007, que aprova o Regimento

composto por JOÃO BOSCO VAZ, 141978, da Secretaria Municipal de Esportes, Recreação e Lazer; RICARDO BARBEDO MESQUITA, 6921.6, da Secretaria Municipal de Obras e Viação; JOÃO

A Figura 25 mostra a relação NO3- e Cl-; considerando que os poços do ano de 2015 apresentaram valores mais altos de concentração de cloretos e menor concentração de nitrato e