• Nenhum resultado encontrado

Navegação indoor baseada na rede WIFI como suporte a serviços baseados na localização: estudo de caso no campus da UL

N/A
N/A
Protected

Academic year: 2021

Share "Navegação indoor baseada na rede WIFI como suporte a serviços baseados na localização: estudo de caso no campus da UL"

Copied!
75
0
0

Texto

(1)

Universidade de Lisboa

Faculdade de Ciências

Departamento de Engenharia Geográfica Geofísica e Energia

Navegação indoor baseada na rede WiFi como suporte a

serviços baseados na localização: Estudo de caso no

campus da UL

D

IOGO

M

OURÃO

S

IMÕES

Dissertação orientada por Prof. Doutor João Catalão Fernandes

Mestrado em Sistemas de Informação Geográfica

(2)
(3)

Resumo

Os serviços baseados na localização dos utilizadores têm tido uma grande evolução ao longo destes últimos anos. O novo desafio prende-se com a possibilidade desses serviços serem transportados de um ambiente outdoor para indoor. Variados algoritmos e técnicas de posicionamento foram desenvolvidos, através de diversas tecnologias para o cálculo de posição dos dispositivos. Alguns destes sistemas já se encontram instalados em cen-tros de grande afluência, como os cencen-tros comerciais. Neste documento vamos apresentar uma solução de um serviço baseado na localização em ambientes fechados, baseado na rede WiFi, para o caso do campus da Universidade de Lisboa. O trabalho desenvolvido pretende demonstrar o potencial de várias tecnologias combinadas, tendo como resultado uma aplicação móvel, desenvolvida para a plataforma Android, desempenhando um ser-viço baseado na localização do utilizador num espaço indoor.

Palavras-chave: serviços baseados na localização, tecnologia WiFi, Android, aplicações móveis, técnicas de posicionamento indoor

(4)
(5)

Abstract

The location-based services users have had a great evolution over the last few years. The new challenge is related to the the possibility of such services being transported from one outdoor environment for indoor. Various algorithms and positioning techniques were developed, through various technologies for position calculation of devices. Some of these systems are already installed on centers of great affluence, such as shopping cen-ters. In this document a solution of a location based service will be presented in indoors, based on the WiFi network in case the campus University of Lisbon. The work aims to demonstrate the potential of combined technologies, resulting in a mobile application developed for the Android platform, playing a service based on the user’s location in an indoor space.

Keywords: Location-based services, WiFi technology, Android, mobile apps, indoor positioning techniques

(6)
(7)

Agradecimentos

Em primeiro lugar, e não faria sentido de outra forma, queria agradecer pela co-ragem, pelo companheirismo, pela amizade, pelo amor, pela paciência e pelo exemplo como pessoa, a uma das pessoas mais importantes da minha vida, a minha namorada Ana, a quem dedico todo este trabalho. "We gonna live forever..."

Em segundo lugar à minha família, aos meus pais (Pai, mãe! Acabei! ufa..) e ao meu irmão, não só por todo o apoio e puxão de orelhas, quando foi preciso, mas também e essencialmente por todo o amor demonstrado ao longo destes anos todos. São muitos e quero que sejam muitos mais. Vocês são a minha base.

Não quero deixar de agradecer, a um dos professores com que mais prazer deu traba-lhar. Ao professsor João Catalão o meu sincero obrigado, pela paciência, pela espera, mas sobretudo pela orientação e "à vontade"com que sempre me deixou e foram pautadas as nossas conversas. Queria deixar um agradecimento especial à prof. Cristina Catita pela orientação no início do Mestrado.

Pelos momentos eternos passados durante toda a minha vida académica quero agrade-cer ao meu pessoal, Rafael, Cabaço, Eduardo, Alentejano, Diana, Saraiva, Tiago Antunes, Telmo, Piu, JP, Smack, Monteiro, Santinho, Juliana, e muitos mais. Ao pessoal com quem partilhei casa, umas vezes legitimas outras nem por isso, o meu obrigado especial ao Ti-ago, Tomaz, Chico. Ao pessoal de Ferreira, o Careca, o André, a Inês, o Fernando, o Mário o meu sentido e profundo obrigado.

Não queria deixar passar esta ocasião para agradecer ao meu amigo Ricardo Mendes por todas as conversas, conselhos e palhaçadas. Pelo companheirismo, carinho, frontali-dade e acima de tudo pela tua sincera amizade. Sem ti teria sido muito mais difícil.

Quero deixar um agradecimento especial ao Rui Milagaia pela revisão deste docu-mento, pelas conversas, pelos conselhos e pela sensatez de me "empurrar"para acabar a minha tese de Mestrado.

A todo o meu pessoal da minha terra natal com quem partilhei, e partilho, bons mo-mentos de diversão e boa disposição. A eles o meu muito obrigado.

Numa última nota, quero agradecer a toda a família Brazão que me acolheu como se fosse um dos seus. O meu muito, muito obrigado! Não teria sida nada fácil sem vocês. Obrigado.

(8)
(9)
(10)
(11)

Conteúdo

Lista de Figuras xiii

Lista de Tabelas xv 1 Introdução 1 1.1 Motivação . . . 3 1.2 Objetivos . . . 3 1.3 Publicações . . . 4 1.4 Planeamento . . . 4 1.5 Estrutura do documento . . . 5 2 Trabalho relacionado 7 2.1 Tecnologias Wireless . . . 7 2.1.1 Wifi . . . 8 2.1.2 Bluetooth . . . 9 2.1.3 Ultra-WideBand . . . 9 2.1.4 Considerações Finais . . . 10

2.2 Técnicas de Posicionamento Indoor . . . 10

2.2.1 Triangulação . . . 11

2.2.2 Location Fingerprinting . . . 15

2.2.3 Proximidade . . . 15

2.2.4 Considerações Finais . . . 16

2.3 Sistemas de Posicionamento Indoor . . . 16

2.4 Formatos de Dados Geográficos . . . 17

2.4.1 Web Map Service . . . 18

2.4.2 Tiled Map Service . . . 19

2.4.3 Web Feature Service . . . 19

2.4.4 Considerações Finais . . . 20

2.5 Considerações Finais . . . 20 xi

(12)

3.2 Android . . . 22

3.2.1 Arquitetura . . . 23

3.2.2 Desenvolvimento em Android . . . 24

3.3 Considerações Finais . . . 27

4 Concretização do Sistema Navegação Indoor 29 4.1 Considerações Gerais . . . 29

4.2 Base de Dados . . . 30

4.3 Servidor . . . 32

4.3.1 Diagrama de Classes . . . 37

4.4 Cliente/Aplicação Móvel . . . 39

4.4.1 Criação da Aplicação Móvel . . . 39

4.4.2 Criação da Base de Dados Local . . . 40

4.4.3 Algoritmo de Posicionamento . . . 43

4.4.4 Orientação do dispositivo móvel . . . 47

4.4.5 Interface . . . 48 4.4.6 Diagrama de Classes . . . 51 5 Conclusão 55 5.1 Trabalho Futuro . . . 55 Bibliografia 59 xii

(13)

Lista de Figuras

1.1 Gráfico ilustrativo da diferença entre pessoas em espaços indoor e outdoor 2

2.1 Esquema da técnica de posicionamento TOA e RTOF . . . 12

2.2 Esquema da técnica de posicionamento TDOA . . . 13

2.3 Esquema da técnica de posicionamento Triangulação Direta . . . 14

2.4 Esquema da técnica de posicionamento AOA . . . 15

3.1 Arquitetura geral do sistema . . . 21

3.2 Arquitetura do Sistema Operativo Android . . . 23

3.3 Período do ciclo de vida de uma Activity . . . 25

4.1 Diagrama de Classes da componente do Servidor . . . 38

4.2 Planta do edifício C8 com a localização dos AP e ainda a propagação do sinal por estes emitido . . . 41

4.3 Ilustração do cálculo da posição do dispositivo com base na posição do AP 46 4.4 Ilustração da diferença entre a distância equivalente a 1 grau decimal em diferentes Latitudes . . . 46

4.5 Eixos tridimensionais invertidos . . . 48

4.6 Interface com os dois mapas sobrepostos . . . 50

4.7 Interface com os pontos de interesse e a localização do utilizador assina-lados no mapa . . . 52

4.8 Diagrama de Classes da componente do Cliente . . . 53

(14)
(15)

Lista de Tabelas

2.1 Sistemas implementados com algumas das suas características . . . 17 4.1 Número de linhas de código nas várias classes para a componente do

Servidor . . . 37 4.2 Número de linhas de código nas várias classes para a componente do Cliente 52

(16)
(17)

Capítulo 1

Introdução

O desenvolvimento da cidade como elemento focal da informação para o negócio, go-vernança e da organização social tem promovido a concentração de pessoas e bens na sua área de influência maximizando as relações entre espaço e informação. O crescimento das cidades, quer em número e tamanho, em todo o mundo é o testemunho da sua maturidade como processo dominante da organização social e económica. Em oposição ao deter-minismo tecnológico que previa uma dispersão da cidade no espaço, com o evoluir das tecnologias de comunicação potenciando o teletrabalho, a coevolução do espaço geográ-fico e eletrónico preconiza o desenvolvimento da cidade em simbiose com o crescimento das redes de telecomunicação e da aceleração das taxas de transmissão.

As cidades vão redefinindo a sua forma devido às relações complexas entre capital, tecnologia e espaço [1]. Estas que beneficiaram de investimentos nos acessos físicos são agora beneficiadas com excelentes infraestruturas de TIC (Tecnologias da Informação e Comunicação) e são centros de conteúdos de Internet porque é na cidade que se foi acumulando o conhecimento. Neste contexto, as cidades evoluíram no sentido da con-centração de serviços e pessoas com o crescimento da construção em altura como forma de suprir a dispersão no espaço favorecendo a concentração de espaços multi-valências: comerciais, lazer e trabalho.

Aliado a este paradigma, o aumento da utilização de dispositivos móveis, capazes de uma interação inteligente com os utilizadores, facilitaram o aparecimento de servi-ços de informação que utilizam a localização geográfica como seu input. Estes serviservi-ços denominam-se de Location Based Services (LBS) [2], ou ainda de LoCation Services (LCS) [3].

Estes dois conceitos têm na localização geográfica do utilizador a sua base. Porém no dos LCS, a componente da localização dos utilizadores é vista como único objetivo do sistema, enquanto para os LBS, a componente localização geográfica dos mesmos é como um ponto de partida para disponibilizar informação ao utilizador. Esta informação pode relacionar-se com o caminho desde o ponto de origem do utilizador até a um ponto de destino, escolhido pelo mesmo, ou ainda a informação referente ao ambiente desse

(18)

mesmo ponto de destino. Um exemplo de um sistema de LBS desenvolvido como uma Web aplicação é o Open Route Service [4], que tem funcionalidades de navegação, pro-cura de ruas e serviços bem como de criação de rotas. Neste projeto que descrevo neste documento, o tipo de sistema apresentado é o LBS.

Todos os sistemas de LBS são compostos por dispositivos móveis, uma rede de comu-nicação, a componente da localização, um ou mais provedores de serviço e de dados. No entanto, a componente chave neste tipo de sistemas é a localização geográfica dos dispo-sitivos móveis, como referido acima. Isto acontece pois toda a informação compilada e disponibilizada aos utentes deste serviço, está inevitavelmente conectada à sua localiza-ção. Neste contexto, esta pode ser obtida através da rede de comunicação móvel ou até pelo conhecido Sistema de Posicionamento Global, vulgo GPS [5].

A localização geográfica obtida através do sistema GPS, é utilizada hoje para as mais variadíssimas áreas, mais críticas como a aviação ou no auxílio de resgates, em áreas com um teor mais turístico, com um caracter mais desportivo ou mesmo até com um cariz social, como o exemplo das redes sociais. Contudo o GPS tem as suas limitações no que toca a ambientes fechados (indoor) em que o sinal, que permitirá calcular a localização de um dispositivo, não chega nas melhores condições.

Segundo um estudo da Strategy Analytics, as pessoas passam 80-90% do seu tempo em ambientes indoor. O estudo ainda indica que cerca de 70% das chamadas efetuadas e 80% das transmissões de dados são efetuados a partir de ambientes indoor.

Figura 1.1: Gráfico ilustrativo da diferença entre pessoas em espaços indoor e outdoor Para chegar ao nicho das pessoas abordadas no estudo e combater a limitação do sinal de GPS foram desenvolvidos diversos algoritmos baseados nas mais variadas tecnologias wireless, como o Infravermelho, RFID, Wifi, Bluetooth ou mesmo UWB [6].

Nos dias de hoje, a tecnologia Wifi é a mais usada por não requerer investimento em novas infraestruturas, mas sobretudo por estar disponível em dispositivos das últimas gerações da comunicação móvel. Estes dispositivos estão cada vez mais presentes no quotidiano das pessoas, sendo considerado em muitos casos imprescindível, devido às suas mais variadas utilizações.

(19)

Capítulo 1. Introdução 3

1.1

Motivação

Como referido na secção acima, existe um crescendo interesse em que a localização das pessoas seja conhecida e a tecnologia tende a acompanhar este movimento. Este novo paradigma tem vindo a criar soluções de serviços que nos permite encarar os espaços físi-cos, onde nos envolvemos, de uma perspetiva diferente e menos complexa. Um exemplo desses espaços são os campus universitários.

Com cerca de 80 000 m2, entre 8 edifícios, com diversos pisos cada um, o campus da

Faculdade de Ciências da Universidade de Lisboa é um espaço, onde a movimentação e navegação, para quem é novo, pode ser bastante complexo. Novos alunos, professores ou investigadores visitantes não são apenas os interessados num sistema em que os possam navegar e orientar neste espaço tão amplo. Todas as pessoas que conhecem o campus podem beneficiar de um sistema que armazene informação sobre o que acontece de novo no campus ou até de alterações ao espaço físico do mesmo.

Com vista a solucionar este problema, foi pensado a criação de um sistema de na-vegação para o campus da Faculdade. Este sistema será utilizado em espaços indoor e outdoor. No entanto todo o trabalho que apresento neste documento é referenciado aos espaços indoor. As aplicações de LBS para ambientes outdoor, consomem a tecnologia de posicionamento GPS, obtendo resultados de uma precisão muito aceitável, para utiliza-dores pedonais. No entanto o ambiente indoor ainda é uma área que, com um crescimento visto, ainda é desconhecida, para a maioria dos utilizadores comuns.

1.2

Objetivos

A construção de um sistema de LBS, como em muitos sistemas em que há uma inte-ração entre um utilizador e uma máquina, necessita de todo um background de apoio que alimenta todo o sistema. Com o desenvolvimento de um conjunto de ferramentas, esta dissertação tinha como objetivo principal a criação de um sistema LBS indoor e out-door, para o campus da Faculdade de Ciências da Universidade de Lisboa. Este sistema tem o intuito de auxiliar um aluno que desconhece o mesmo ou até um professor visitante, que possa necessitar do fornecimento de alguns pontos de interesse dentro do campus.

No contexto da realização de um sistema deste tipo foi necessário dividir o sistema em duas partes. A primeira delas prende-se com a concretização de um backoffice capaz de suportar todos os pedidos de informação e armazenar todos os dados referentes ao ambiente em que o utilizador está envolvido. Este seria constituído conceptualmente por um servidor e uma base de dados, conectadas entre si. A segunda parte do sistema consiste na elaboração de uma interface de uma aplicação móvel preparada para interagir com o utilizador. Esta interface terá de suportar todas as tarefas físicas relacionadas com o dispositivo móvel, como o cálculo matemático da localização geográfica do dispositivo, através da receção do sinal Wifi proveniente dos Pontos de Acesso, disponibilizados ao

(20)

longo dos edifícios, bem como o correto manuseamento dos sensores disponíveis nos dispositivos móveis.

Assim, resumidamente, foram definidos objetivos concretos para a elaboração deste projeto. Para a primeira parte estes foram:

• Desenhar o modelo de arquitetura de todo o sistema.

• Estudar e implementar a melhor tecnologia de armazenamento da informação con-soante o seu contexto e utilização.

• Escolher e implementar o melhor método de conexão entre o servidor e o cliente/in-terface.

• Implementação de um programa servidor capaz de suportar o acesso de múltiplos clientes.

Para a segunda parte do projeto, os objetivos definidos foram: • Elaboração de uma interface no dispositivo móvel.

• Estudar e analisar a componente física do dispositivo móvel.

• Estudar e implementar um algoritmo de cálculo da localização geográfica de um dispositivo móvel, num ambiente indoor.

1.3

Publicações

Todo o trabalho descrito ao longo deste documento contribui para a publicação de um artigo na conferência I Jornadas Lusófonas - Ciências e Tecnologias de Informação Geográfica 2014, com o nome "Navegação indoor baseada na rede WiFi como suporte a serviços baseados na localização: estudo de caso no Campus da UL".

1.4

Planeamento

Para a realização de todo projeto foi definido um plano de tarefas com a duração de um ano. Este plano foi dividido em diversas tarefas, tais como:

• Tarefa 1: Revisão bibliográfica e estudo de todas as tecnologias envolvidas no pro-jeto.

• Tarefa 2: Modelação e criação da base de dados, para armazenamento da informa-ção geográfica envolvente do campus da Universidade de Lisboa.

(21)

Capítulo 1. Introdução 5

• Tarefa 3: Modelação e implementação de um programa servidor capaz de suportar várias ligações de vários clientes e ainda a ligação à base de dados criada anterior-mente.

• Tarefa 4: Criação de uma aplicação móvel/cliente.

• Tarefa 5: Modelação e criação de uma base de dados móvel, para armazenamento dos Pontos de Acesso, à rede Wifi, existentes nos edifícios do campus.

• Tarefa 6: Modelação conceptual e implementação de algoritmo de localização do dispositivo móvel, com recurso aos Pontos de Acesso presente nos edifícios. • Tarefa 7: Escrita de um artigo científico para uma conferência nacional, com a

descrição de todo o trabalho efetuado.

• Tarefa 8: Redação do presente documento, como dissertação de final de curso. Na estrutura de planeamento descrita acima, não foram colocadas datas de inicio e fim para cada tarefa, uma vez que algumas delas foram realizadas de uma forma paralela ou porque sofreram atrasos na sua realização.

1.5

Estrutura do documento

Este documento está organizado da seguinte forma:

• Capítulo 2 – Neste capítulo será abordado algum do trabalho relacionado com o sistema que pretendo desenvolver. Este capítulo será dividido por temas, tais como sistemas de navegação indoor, tecnologias e técnicas de posicionamento que os incorporam e ainda uma abordagem sobre os formatos de dados geográficos. • Capítulo 3 – Neste capítulo será abordado o modelo e arquitetura de todo o sistema. • Capítulo 4 - Com a análise efetuada no capítulo anterior, neste será dividido todo o sistema nas várias componentes que o constituem e será abordada toda a imple-mentação.

• Capítulo 5 - Este capítulo será reservado para incluir todas as conclusões retiradas ao longo de todo o processo, bem como algumas considerações para desenvolvi-mento de trabalho futuro.

(22)
(23)

Capítulo 2

Trabalho relacionado

Neste capítulo serão apresentados todos os tópicos relevantes para a realização do tra-balho efetuado. Numa primeira secção 2.1 serão abordados as possíveis tecnologias wi-reless que existem na propagação de sinal, entre um emissor e um recetor. No caso deste trabalho o recetor é um dispositivo móvel e o emissor serão os Access Points (AP) disper-sos ao longo do interior dos edifícios do campus. Na secção seguinte 2.2 será efetuada uma abordagem a técnicas utilizadas para definir o posicionamento indoor dos mesmos dispositivos móveis referidos em cima. Como conclusão das subsecções das técnicas de posicionamento e das tecnologias wireless, a secção 2.3 refere alguns sistemas de posici-onamento que estão, atualmente, implementados.

A apresentação do mapa na interface, da aplicação desenvolvida, é efetuado com re-curso a um formato de disponibilização de dados geográficos, que é abordado na sec-ção 2.4. Nesta secsec-ção serão apresentados outros formatos possíveis para realizar o traba-lho.

2.1

Tecnologias Wireless

Para que a informação seja disponibilizada num dispositivo móvel é necessário que exista uma ligação entre o mesmo e um ponto de ligação a uma rede. Esta rede pode ser de grande porte, como a rede de telecomunicações, onde os pontos de ligação são as Base Stationsou então pode ser apenas uma rede doméstica onde o ponto de ligação é um simples router. No entanto, em ambos os casos existe uma ponte entre os pontos de ligação e os dispositivos móveis, uma ligação wireless, que permite ligar os dois pontos.

A ligação wireless referida consiste na propagação de um sinal emitido por emissor e recebido por um recetor, que ao intercetar o sinal permite estar conectado à rede em ques-tão. Isto é possível através de protocolos de segurança que permitem que os dispositivos estejam ligados, conservando a sua privacidade e individualidade.

No que toca à construção de sistemas de posicionamento indoor existem duas aborda-gens possíveis [7]. A primeira abordagem prende-se com a criação de um sistema de troca

(24)

de sinais eletromagnéticos e uma infraestrutura com foco exclusivamente na localização de objetos, num ambiente indoor. A segunda abordagem é referida como a utilização de infraestruturas já existentes para a construção do sistema. Ambas têm vantagens óbvias uma sobre a outra. No caso da primeira abordagem o foco de toda a infraestrutura é a localização indoor, o que resulta em sistemas com resultados de precisão no posiciona-mento muito elevados, na segunda abordagem a vantagem prende-se com o facto de não haver um custo e tempo de implementação com a infraestrutura de comunicação.

No ponto de vista de uma rede instalada num edifício, identificarei algumas tecnolo-gias que permitem a ligação dos dispositivos à mesma. Através desta ligação será possível proceder-se à identificação da localização dos dispositivos, ou apenas a disponibilização de informação armazenada num servidor, dentro da rede.

2.1.1

Wifi

A norma IEEE 802.11 adotou a denominação Wifi (Wireless Fidelity) como o seu nome mais conhecido. Esta tecnologia está presente em quase todos os espaços onde nos envolvemos no dia-a-dia, seja no trabalho, em casa, ou até em centros de maior afluência, como supermercados ou centros comerciais.

Os pontos de ligação à rede, os AP emitem um sinal que é recebido por dispositivos móveis que estejam na área. Este sinal pode atingir até 100 metros de distância e pode ter uma taxa de transferência que pode variar entre os 11 e os 108 Mbps [7]. Os dispositivos móveis apresentam a capacidade de receber o sinal emitido e obter informação através dele. Estes são capazes de medir a força da intensidade do sinal, denominada de Received Signal Strength Indicator(RSSI), que posteriormente é convertido em decibeis, conhecido como Received Signal Strength (RSS). Este método de conversão não segue uma norma para o efeito, tendo os fabricantes desenvolvido esquemas das suas próprias conversões. O RSS é uma métrica, que permite comparar forças da intensidade de sinal de diversos AP e é descrita em dBm (decibel miliwatt). Esta apresenta máximos de -10 dBm e mínimos de -113 dBm, aproximadamente. Estes valores podem variar de fabricante para fabricante.

Outro campo da informação que pode ser recolhida pelos dispositivos móveis é o MAC Addressque permite identificar, na rede, o AP a que o dispositivo está ligado.

A tecnologia Wifi é muito utilizada em sistemas de posicionamento indoor, pois não existe a necessidade de criar uma infraestrutura de comunicação, porque em praticamente todos os espaços fechados, com afluência de pessoas, existe já uma criada. Na secção 2.3 seguinte serão apresentados alguns sistemas de posicionamento indoor que utilizam a tecnologia Wifi entre outras.

(25)

Capítulo 2. Trabalho relacionado 9

2.1.2

Bluetooth

A tecnologia Bluetooth é uma norma standard IEEE 802.15 e é extremamente conhe-cida pelo público em geral. Esta está integrada em quase todos os dispositivos móveis comercializados, nos dias de hoje.

O Bluetooth, muito semelhante à tecnologia Wifi, é utilizada para ligar dois dispo-sitivos a curtas distâncias. O máximo de distância permitido para comunicação é cerca de 100 metros, para uso industrial e de cerca de 10 metros para dispositivos móveis co-muns [8].

O consórcio de empresas, Bluetooth Special Interest Group [9], que detém os direi-tos de desenvolvimento e comercialização da tecnologia Bluetooth, desenvolveu recente-mente a tecnologia BLE ou Bluetooth Smart [10] que tem algumas semelhanças com a tecnologia base. No entanto, o que a distingue da tecnologia Bluetooth clássica, é o baixo consumo de energia e o baixo custo de compra, o que torna um produto apetecível para o desenvolvimento de sistemas de posicionamento indoor.

A empresa Apple, Inc desenvolveu recentemente um novo protocolo, denominado de iBeacon [11], que assenta sobre o mecanismo de broadcast da tecnologia BLE. Com a criação deste novo protocolo foram desenvolvidos novos dispositivos emissores que per-mitem despoletar ações no dispositivo recetor aquando da proximidade aos mesmos. Estes têm a grande vantagem de serem de baixo custo, de fácil implementação e as suas baterias terem uma durabilidade bastante considerável. Estes dispositivos, bem como a utilização do protocolo iBeacon, pode ser uma alternativa, à tecnologia Wifi, no desenvolvimento de novos sistemas de posicionamento indoor.

2.1.3

Ultra-WideBand

A tecnologia UWB baseia-se no envio de pequenos pulsos de sinais, em intervalos de tempo muito pequenos [7]. Uma das grandes diferenças para as outras tecnologia exis-tentes é o uso de uma grande porção do espectro de frequência. Ao passo que outras tecnologias utilizam apenas uma banda do espectro para o envio de informação, a tec-nologia UWB utiliza várias bandas de frequência do espectro para enviar um sinal. As tecnologias Wifi, Bluetooth entre outras, utilizam a frequência de 2.4 GHz, do espectro, enquanto a tecnologia UWB utiliza a frequência de 3.1 GHz até 10.6 GHz [7]. Como tal, esta tecnologia pode apresentar uma boa solução para sistemas de posicionamento tanto para indoor, como para outdoor, uma vez que em ambiente aberto pode ter um alcance de quilómetros enquanto que em ambientes fechados pode atingir os 100 metros. Tudo depende das interferências que o sinal apanhar ao longo do percurso.

A vantagem do sinal da tecnologia UWB é poder ser transmitido em várias bandas que se reflete na pouca interferência que o sinal apresenta na chegada aos recetores UWB. O sinal emitido passa facilmente por paredes, equipamentos ou roupas, no entanto objetos

(26)

metálicos e materiais líquidos causam interferência ao sinal.

Como esta tecnologia utiliza pequenos pulsos de sinal de curta duração é fácil para os recetores UWB perceberem qual o sinal correto e qual aquele que está a sofrer interferên-cias. No entanto e como o sinal, desta tecnologia, é tão especial é necessário equipamento igualmente especial para o poder emitir e receber.

2.1.4

Considerações Finais

As tecnologias que foram apresentadas, ao longo desta secção, são as mais usadas no processamento indoor, embora não sejam as únicas disponíveis para a comunicação entre dispositivos. A tecnologia GPS é uma delas pois, através da instalação de dispositivos denominados pseudolites, permitem a simulação de satélites reais e ao combinar técnicas de posicionamento permite criar sistemas LBS indoor, com níveis de precisão na ordem dos centímetros [12]. Outra das tecnologias não mencionada é o Infravermelho, que foi utilizada como primeira tecnologia no campo do posicionamento indoor [7]. No entanto, a tecnologia apresentava alguns problemas no que diz respeito ao alcance permitido.

Em alguns dos sistemas que serão identificados na secção 2.3, é utilizado o sinal proveniente das Base Stations, das redes de telecomunicações, combinadas com outras tecnologias referidas nesta secção. Esta combinação é utilizada para auxiliar e melhorar a precisão do posicionamento dentro e fora dos edifícios.

2.2

Técnicas de Posicionamento Indoor

Todo o sistema LBS deve focar-se na localização geográfica dos dispositivos móveis. Segundo [7], diferentes tipos de aplicações podem exigir diferentes tipos de informa-ção sobre a localizainforma-ção. Com base no que os autores de [13] afirmam, existem quatro tipos diferentes, a localização física, a simbólica, a absoluta e a relativa.

Segundo [13], a localização física é expressa na forma de coordenadas que identificam um ponto num mapa a duas dimensões ou a três dimensões. Este tipo de localização uti-liza, em quase todos os sistemas implementados, um sistema de coordenadas baseado em graus/minutos/segundos ou grau minutos decimais ou ainda o sistema UTM (Universal Transverse Mercator). No seguimento do mesmo artigo, os autores definem que a loca-lização simbólica expressa a componente da localoca-lização numa linguagem natural, como por exemplo o escritório, ou o terceiro piso, ou o quarto, entre outros que possam definir a localização. A localização absoluta é utilizada a partir de uma grelha de referência onde todos os objetos estão localizados e a localização relativa é sempre baseada em pontos de referência que transmitem um local aproximado do objeto a ser localizado. De todos os tipos de localização que existem, torna-se claro que o tipo de localização mais utilizado e em que, praticamente, todos os sistemas se baseiam é o tipo de localização física.

(27)

Capítulo 2. Trabalho relacionado 11

Existem diversas técnicas de posicionamento utilizadas para obter a localização de objetos. Segundo [14] e [7], as técnicas de posicionamento podem agrupar-se de acordo com a forma de implementação: posicionamento efetuado pelo objeto ou posicionamento remoto. Através dos artigos referidos, na primeira forma, os objetos móveis usam os si-nais transmitidos por antenas, que podem ser terrestres ou por satélite, para calcular a sua própria posição geográfica. Na segunda forma de posicionamento, o objeto móvel a ser localizado emite sinais, onde diversas unidades de medição, que estão fixas, os recebem e registam as medidas de intensidade do sinais emitidos. Estas medições são agrupadas numa unidade de processamento que com base nas mesmas efetua o cálculo do posici-onamento, enviando-o posteriormente para o objeto móvel a ser localizado. No entanto, como explicado na secção das Tecnologias Wireless, apenas a tecnologia utilizada dentro de edifícios irá ser abordada.

As técnicas de posicionamento podem ser divididas em quatro tipos: a triangulação, a análise de imagem, a proximidade e location fingerprinting [15], [7], [6] e [14].

2.2.1

Triangulação

A técnica de posicionamento Triangulação usa as propriedades geométricas dos triân-gulos para calcular as localizações dos objetos. Esta técnica contém duas variações, a Trilateração e a Triangulação [15]. Ambas se baseiam na premissa de haver um emissor e um recetor.

As técnicas de posicionamento baseadas na primeira categoria, Trilateração, calculam a posição de um objeto medindo as distâncias do mesmo a diversos pontos de referência. No cálculo da posição do objeto, estas podem utilizar a atenuação da intensidade do sinal, ou ainda multiplicando a velocidade do sinal rádio pelo tempo de viagem do mesmo. Por sua vez, a segunda categoria, a Triangulação utiliza os ângulos existentes entre os objetos a localizar e os pontos de referência [7].

A identificação e explicação de cada técnica de posicionamento será iniciada pela abordagem às técnicas da categoria Trilateração e posteriormente serão referidas as técni-cas da Triangulação.

Como técnicas de Trilateração temos:

• TOA: Time Of Arrival é uma técnica em que a distância entre o objeto móvel e a uni-dade de medição, constituinte de uma tecnologia wireless qualquer, é diretamente proporcional ao tempo de propagação de um sinal emitido [7], [16] e [17]. Para definir a posição de um objeto, num espaço a duas dimensões (2-D), é necessário captar o sinal de pelo menos três pontos de referência, como mostra a figura 2.1. Os sistemas que utilizam a técnica de posicionamento TOA efetuam a medição do tempo de propagação do sinal do emissor até ao recetor e assim a distância entre ambos é calculada. No entanto este processo incorre em dois problemas. Primeiro,

(28)

Figura 2.1: Esquema da técnica de posicionamento TOA e RTOF

ambos os intervenientes, o emissor e o recetor tem de estar sincronizados e segundo, deve ser enviado um timestamp junto com o sinal emitido para que a unidade de me-dição possa saber quanto tempo é que demorou a viagem do sinal. Em suma num sistema síncrono, o tempo de propagação do sinal pode ser diretamente convertido na distância, entre o emissor e o recetor, enquanto num sistema assíncrono, é ne-cessário usar um protocolo de envio e receção que converta o tempo de ida e volta do sinal num valor de distância.

No que toca à precisão do posicionamento, esta técnica pode apresentar valores de precisão altos, no entanto estes estão dependentes dos valores de perda da propaga-ção do sinal, bem como da exata sincronizapropaga-ção entre as componentes deste método. • TDOA: Time Diffence Of Arrival é uma técnica de posicionamento muito seme-lhante ao TOA, no entanto esta técnica não necessita que haja uma sincronização entre emissor e recetor, apenas entre os pontos emissores. A posição de um objeto é determinada pela interseção das diferenças de tempo na chegada do sinal ao re-cetor/objeto móvel. Para um ambiente 2-D as diferenças de tempo são hiperbólicas enquanto que no plano 3-D são hiperboloides [7], [16] e [17]. A figura 2.2 mostra o processo das medições desta técnica.

(29)

Capítulo 2. Trabalho relacionado 13

Figura 2.2: Esquema da técnica de posicionamento TDOA

de contato, entre as ambas são os valores de precisão que podem apresentar. Tal como na técnica TOA, o método TDOA pode apresentar valores de precisão altos, consoante as perdas na propagação do sinal e da sincronização entre os emissores. • Direta: Esta técnica é a mais simples de perceção pois apenas transforma a força

do sinal em distâncias, diretamente. Pode ser verificado através da figura 2.3, que esta técnica, através do conhecimento das localizações dos emissores e através da conversão das forças dos sinais em distância, rapidamente se encontra a posição do recetor. No entanto é necessário conhecer quais são as perdas de propagação do sinal, entre o emissor e o recetor. Num ambiente aberto, sem quaisquer interfe-rências, a potência do sinal varia com o inverso do quadrado da distância entre o transmissor e o recetor [17].

A precisão do posicionamento, desta técnica, pode variar consoante o nível de per-das de propagação do sinal, como referido. No entanto a sua implementação é extremamente simples, uma vez que não necessita de aplicações geométricas ou de cálculos complexos.

• RTOF: Roundtrip Time Of Flight é uma técnica em muito semelhante ao TOA, pois apenas mede o tempo de viagem de ida e volta do sinal entre o emissor e o recetor [7]. Esta é uma técnica mais utilizada em sistemas em que os emissores

(30)

Figura 2.3: Esquema da técnica de posicionamento Triangulação Direta

são grandes estações de emissão de sinais como as Base Stations das redes de te-lecomunicações. Isto porque o delay causado pelo recetor é muito difícil de saber exatamente qual é, o que para redes de grande porte pode ser ignorado, se compa-rado com o tempo de transmissão.

Como técnicas de Triangulação temos apenas uma, AOA (Angle Of Arrival). Esta técnica é em tudo semelhante às técnicas de Trilateração, no entanto ao invés de utili-zar distâncias, utiliza ângulos para determinar a posição do objeto [7] [15]. A figura 2.4 ilustra o esquema desta técnica. A posição do objeto é encontrada pela intersecção de várias linhas em ângulo, cada uma formada pelo círculo com um raio definido, com cen-tro no emissor de sinal. Esta técnica, num espaço 2-D apenas precisa de dois pontos de referência ou emissores e no plano 3-D apenas precisa de três. Esta característica é um vantagem sobre as técnicas de Trilateração. Outra das vantagens é que para a implemen-tação desta técnica de posicionamento não é necessário que os emissores e os recetores estejam sincronizados, entre si. Não existe qualquer sincronização.

No entanto esta técnica tem algumas desvantagens sobre as técnicas de posiciona-mento de Trilateração. É necessário equipaposiciona-mento mais complexo, no que toca às unidades que permitem medir os ângulos.

Em termos de precisão de posicionamento, esta técnica está ligada ao número de emis-sores utilizados, ou seja quantos mais emisemis-sores melhor a precisão do posicionamento. No entanto e no cômputo geral a sua precisão vai depender da propagação do sinal, da direção das antenas dos emissores, bem como da distância dos emissores ao dispositivo/objeto/-recetor móvel.

(31)

Capítulo 2. Trabalho relacionado 15

Figura 2.4: Esquema da técnica de posicionamento AOA

2.2.2

Location Fingerprinting

A técnica de posicionamento Location Fingerprinting é um método que compara o indicador da força de sinal recebido, RSSI, pelo recetor, com a informação de RSSI re-gistado, anteriormente, numa base de dados, para estimar a posição do objeto [18].

A implementação desta técnica está dividida em duas fases distintas, a fase offline e a fase online ou run-time. Na primeira fase, diferentes localizações, ao longo de todo o espaço de intervenção, são identificadas, sendo armazenado em base de dados as coorde-nadas exatas e o RSS medido, dessas localizações. Estas devem ser o mais espalhadas, no espaço, possível de modo a que tenha uma boa cobertura do mesmo. Numa segunda fase, e durante a utilização do sistema, o emissor consulta a base de dados, dando como input o RSS no momento da chamada. A resposta da base de dados será efetuada com a estimação da localização do utilizador, com base na informação do RSS enviado.

Em termos de precisão, a técnica Location Fingerprinting é altamente rigorosa, no entanto o seu processo de implementação pode tornar-se pesado e demorado, devido à fase offline, onde é necessário recolher uma série de pontos de referência no espaço, para posteriormente poderem ser comparados com pontos recolhidos na fase online.

2.2.3

Proximidade

O posicionamento que é calculado com base na proximidade apenas será relativo. Este tipo de posicionamento é o mais simples de implementar pois não requer qualquer tipo de cálculo da posição do objeto. As técnicas baseadas na proximidade apenas necessitam que as localizações exatas dos emissores sejam conhecidas. O que acontece nas técnicas baseadas na proximidade é que o recetor recebe informação acerca do RSSI de todos os emissores que estão próximos. Ao analisar a informação recolhida, o recetor apenas escolhe o emissor cujo valor do RSS é maior. A partir daí, a localização do objeto/recetor é a localização do emissor com o valor do RSS maior [7].

(32)

Esta técnica tem uma precisão reduzida, como podemos concluir, uma vez que a lo-calização dos emissores passa a ser a lolo-calização dos recetores. No entanto, a sua imple-mentação é extremamente simples, pois não necessita de cálculos para obter a localização, onde apenas uma simples comparação de RSS é efetuada.

2.2.4

Considerações Finais

Após uma apresentação geral das técnicas de posicionamento e os métodos em que se baseiam, verificam-se que estas variam na complexidade de implementação, bem como na precisão da localização do objeto. No entanto, todas as técnicas estão dependentes do mesmo fator para avaliar a sua precisão, a propagação do sinal entre o emissor e o recetor, excetuando a técnica da proximidade que efetua uma comparação entre as forças de sinal pelo recetor.

A complexidade de implementação de cada técnica é outro dos fatores que é impor-tante na sua avaliação. Neste campo é destacado a simples implementação da técnica de proximidade e a pesada e demorada implementação da técnica de Location Fingerprin-ting.

2.3

Sistemas de Posicionamento Indoor

As tecnologias Wireless e as técnicas de posicionamento são utilizadas em muitos dos sistemas implementados até hoje. Segundo [7] e [19], existem diversos sistemas que utilizam as técnicas e tecnologias, anteriormente, referidas. Para a identificação de alguns destes sistemas foi criada a tabela 2.1. Cada linha da tabela é constituída pelo nome do sistema, a(s) tecnologia(s) e a(s) técnica(s) de posicionamento usada(s) e a precisão do mesmo.

Ao analisar os dados da tabela verifica-se que a principal tecnologia é o Wifi enquanto como técnica de posicionamento temos a Location Fingerprinting. Como razão aparente para esta escolha, e como mencionado nas considerações finais da secção 2.2, está o pouco investimento que é necessário efetuar para a implementação do sistema.

Outro dos aspetos a salientar é a precisão, de cada sistema, obtida no que toca a posi-cionamento. Os sistemas Smartmuseum e Ubisense System são aqueles que apresentam valores de precisão mais baixos, menos de 1 metro. Por outro lado, o projeto Place Lab apresenta valores de precisão baixos, entre 13 e 30 metros.

De referir que alguns destes sistemas têm a capacidade de calcular a posição indoor e outdoor. Os sistemas Smartmuseum, Qubulus Gecko, Place Lab permitem que os dis-positivos móveis sejam identificados dentro e fora de edifícios. Os restantes são sistemas com posicionamento indoor.

(33)

Capítulo 2. Trabalho relacionado 17

Sistema Tecnologia

Wire-less

Técnicas de Posi-cionamento

Precisão IWA Ytours Wifi Location

Fingerprin-ting

1-5 m

Wifarer in-venue navi-gation

Wifi Location Fingerprin-ting

1.3 m

Smartmuseum GPS e RFID 0.5 m

Google Maps (módulo indoor)

Wifi Triangulação 5-10 m

Qubulus Gecko Wifi Location Fingerprin-ting

3-5 m

Nokia Indoor Naviga-tion

Bluetooth 4.0 e Wifi Triangulação 0.3-1 m

Microsoft RADAR Wifi Location Fingerprin-ting

2-3 m

Horus Wifi Location Fingerprin-ting

2-3 m

Indoor Localization Application

Wifi Location Fingerprin-ting

1.5 m

Place Lab Bluetooth e Wifi Location Fingerprin-ting

13-30 m

Ubisense System UWB AOA e TDOA 15 cm

Tabela 2.1: Sistemas implementados com algumas das suas características

2.4

Formatos de Dados Geográficos

Nesta secção serão abordados os formatos de dados disponibilizados, sobretudo atra-vés da Web, para uma área de visualização geográfica. No âmbito do trabalho que foi desenvolvido, a abordagem deste estudo, em concreto, é centrada na informação disponi-bilizada para dispositivos móveis.

O crescimento acelerado do uso massivo de dispositivos móveis, nos dias de hoje, leva-nos a enfrentar desafios de disponibilização da informação nos mesmos. Estes desa-fios prendem-se com a dificuldade de encontrar um equilíbrio entre aquilo que é possível mostrar num ecrã de um dispositivo móvel e aquilo que é essencial para que a informação fique o mais percetível possível. A informação geográfica não foge à regra e do ponto de vista da visualização da mesma, é importante que os dados geográficos sejam mostra-dos de uma forma legível, em diferentes níveis de zoom, independentemente do tamanho dos ecrãs dos dispositivos. Técnicas de visualização como a generalização ou o agrupa-mento de informação são exemplos de como é possível obter um resultado satisfatório, no entanto este tema não será abordado neste documento.

(34)

que todas as aplicações, com tecnologias diferentes que as constituem, as possam ler e descodificar. Este principio levou ao aparecimento de alguns formatos bem conhecidos como XML [20] (eXtensible Markup Language) ou o formato JSON [21] (JavaScript Ob-ject Notation). Com o desenvolvimento de normas, na área da troca e disponibilização de informação, e com uma maior da procura de informação centrada na localização geográ-fica, foram desenvolvidos formatos de dados normalizados, baseados nos que já existiam anteriormente. Muita da informação codificada nestes formatos, trata-se de mapas ou interações com os mesmos. O consórcio internacional OGC (Open Geospatial Consor-tium) desenvolveu diversos formatos de dados geográficos [22] que serão descritos nas próximas secções.

2.4.1

Web Map Service

O formato Web Map Service (WMS) [23] é um formato standard do consórcio interna-cional OGC que permite criar e configurar serviços web para a disponibilização de mapas, provenientes de uma ou mais bases de dados espaciais. Este formato permite definir a es-trutura, baseado no XML, para comunicação entre um servidor e um cliente. A resposta deste serviço pode ser uma ou mais imagens, nos mais diferentes formatos, que podem ser visualizados num browser ou noutra aplicação. Este formato permite que as várias ima-gens se possam sobrepor, sob o efeito de transparência. O formato WMS deve permitir pelo menos duas operações:

• GetCapabilities - esta operação devolve um ficheiro XML, com as propriedades do WMS, como as layers disponíveis, projeções ou sistemas de coordenadas e os seus limites. Resumidamente esta operação devolve os metadados do mapa disponível por este serviço em particular.

• GetMap - esta operação devolve o mapa renderizado, com uma mais layers dispo-nibilizadas pelo servidor, como uma imagem.

Uma chamada da operação GetMap é efetuada com a descrição de alguns parâmetros, como é o exemplo:

http : //www.somesite.org/wms/map?F ORM AT = image/png&SERV ICE = W M S&V ERSION = 1.1.1&T ILED = true&REQU EST = GetM ap&ST Y LES =

&SRS = EP SG : 3011&W IDT H = tileSize&HEIGHT = tileSize&BBOX = minX, minY, maxX, maxY

Todos os parâmetros são definidos aquando da chamada da operação e o seu resultado é influenciado pelos mesmos.

A implementação de WMS para dispositivos móveis traz desafios devido à sobre-carga elevada de comunicação e do potencial limitado de escalabilidade. A sobresobre-carga

(35)

Capítulo 2. Trabalho relacionado 19

elevada na comunicação está associada à operação GetCapabilities, pois o ficheiro que é devolvido no formato XML e pode ser potencialmente maior em tamanho do que os dados do mapa que foram requeridos. Para resolver este problema foi pensada e desen-volvida uma solução que passa pela inclusão de uma camada intermédia, na arquitetura do sistema [24]. Esta irá proporcionar um armazenamento em cache e uma redução da com-plexidade do pedido à rede de WMS para servir de forma mais eficiente os dispositivos móveis.

Esta solução é importante para sistemas que necessitem de utilizar a operação GetCa-pabilities, ou seja, que necessitem da informação acerca do mapa que vão receber. No entanto já existem serviços que trabalham com WMS pré-renderizados que evitam assim a necessidade de efetuar a chamada da operação GetCapabilities. Um exemplo desses de serviços com essa característica é o produto da ESRI, Inc, o ArcGIS Server [25], que através de um URI (Uniform Resource Identifier), semelhante à estrutura do URI utili-zado para efetuar a chamada ao GetCapabilities, descrito acima, é fornecida uma imagem renderizada representando a parte do mapa requerida. As referências a este servidor, bem como o modo de funcionamento serão descritos mais à frente, neste documento.

2.4.2

Tiled Map Service

Tiled Map Service (TMS) [26] é um outro formato desenvolvido pelo consórcio espa-cial internacional OGC mas neste caso os mapas são devolvidos em formato de azulejo (tile). Toda a imagem é dividida em azulejos, normalmente em quadrados iguais de 256 pixeis. Para cada nível de zoom é criado um conjunto de azulejos, onde quanto mais ele-vado o nível do zoom duplica o valor da resolução do pixel. Com isto são necessários quatro vezes mais azulejos para cobrir a mesma região do nível de zoom anterior.

Dependendo do provedor a que estamos conectados o URI do pedido pode variar. Como exemplo de um pedido temos,

http : //www.tiles.someapprovider.org/2/1/0.png

onde, o número 2 corresponde ao nível do zoom e o valor do 1 e 0, correspondem ao valor de X e de Y, respetivamente. O resultado deste pedido será uma imagem do tipo PNG (Portable Network Graphics), que vem proveniente de um servidor de TMS.

2.4.3

Web Feature Service

Web Feature Service (WFS) [27] é um outro formato do consórcio internacional OGC, em muito semelhante com o formato WMS, descrito anteriormente. No entanto enquanto o WMS devolve só as imagens, o formato WFS disponibiliza também os metadados da imagem do mapa. A informação disponibilizada refere-se a um objeto que é uma abstra-ção de um fenómeno do mundo real, denominado feature. Um exemplo de uma feature é

(36)

uma estrada, com informação do seu nome, localização, tamanho, do limite de velocidade ou até da jurisdição dessa mesma estrada. Toda a informação relacionada com a feature é disponibilizada sob uma estrutura baseada no XML, denominada de GML (Geographic Markup Language).

2.4.4

Considerações Finais

Nesta secção foram descritos alguns dos formatos de dados geográficos mais utilizados. No entanto existem mais alguns que não foram referidos, como KML inventado pela Google, Inc e adotado pelo consórcio OGC, ou ainda o CityGML, que disponibiliza uma estrutura para armazenar informação acerca de modelos de cidades em 3-D.

De todos os formatos apresentados aqueles que são mais conhecido e utilizado é o WMS. No entanto existem aplicações que necessitam de mais informação de uma locali-zação e nesse caso a melhor escolha torna-se o WFS. Os formatos que foram apresentados representam os que melhor permitiam realizar o trabalho deste projeto. O objetivo passava essencialmente por disponibilizar a informação dos mapas georreferenciados do campus universitário da FCUL, na interface da aplicação móvel. Para isso foi necessário recorrer ao software ArcGis Server, onde foi possível armazenar toda a informação georreferenci-ada. Posteriormente, através de uma ligação ao servidor, foi possível receber as imagens dos mapas no dispositivo móvel.

2.5

Considerações Finais

Neste capítulo foram abordados tópicos importantes para a construção de um sistema de LBS indoor. Foram abordadas algumas das tecnologias wireless para a comunicação entre dispositivos, técnicas de posicionamento utilizadas, alguns sistemas implementados nos dias de hoje e ainda uma abordagem sobre os formatos de dados geográficos existen-tes.

No próximo capítulo será efetuada a introdução à arquitetura do sistema de LBS cri-ado, bem como o seu modelo. Outro dos tópicos a abordar será as componentes conceptu-ais constituintes do sistema, o Servidor, o Cliente/Aplicação Móvel e a componente Base de Dados.

(37)

Capítulo 3

Sistema de Navegação Indoor

Neste capítulo será apresentada a arquitetura geral e o modelo do sistema de navega-ção indoor desenvolvido neste projeto. Outro dos tópicos abordado neste capítulo será o sistema operativo móvel Android, a sua arquitetura e algumas características. A impor-tância de abordar este sistema operativo prende-se com o fato de ser o sistema operativo para o qual é desenvolvida a aplicação móvel, designada como Cliente ao longo deste documento.

3.1

Arquitetura do Sistema

A figura 3.1 apresenta a arquitetura do sistema de navegação indoor desenvolvido. Ao analisar a mesma, podemos dividir a arquitetura do sistema em três componentes distintas, a Base de Dados, o Servidor e o Cliente/Aplicação Móvel.

Figura 3.1: Arquitetura geral do sistema

À esquerda, na figura 3.1, temos a componente da Base de Dados. Esta é responsável pelo armazenamento da informação referente aos pontos de interesse para o utilizador. Estes pontos podem ser salas de aula, bibliotecas, gabinetes ou mesmo cafés que estejam dentro dos edifícios, que são mostrados ao utilizador sob a forma de pontos geográficos

(38)

sobrepostos sobre os mapas do interior dos edifícios, presentes na interface da aplicação móvel. Esta componente é constituída por uma base de dados, alojada na máquina física do Servidor e que ao processar as queries geográficas, vindas do mesmo, retorna coor-denadas geográficas e a descrição dos pontos de interesse que estão mais próximos do utilizador. Todos os inputs paras as mesmas são disponibilizadas através da componente do Cliente.

A componente do Servidor, identificada na figura 3.1, reserva um papel crucial para o funcionamento de todo o sistema. Esta componente tem o papel de estabelecer comunica-ção com a componente do Cliente, processar todos os pedidos vindos do mesmo e ainda estabelecer comunicação com a componente da Base de Dados, onde efetuará as queries geográficas correspondentes aos pedidos da componente do Cliente.

A componente do Cliente é constituída por uma aplicação móvel, desenvolvida para o sistema operativo móvel Android, que permite aos utilizadores usufruir de todo o sistema de navegação e por uma base de dados local. Esta base de dados tem armazenados todos os AP, espalhados pelo edifício, e as suas características, como por exemplo as coordenadas geográficas, o MAC Address de cada um e ainda o piso em que este está inserido. Toda esta informação é utilizada para calcular a posição através da força do sinal proveniente de cada AP. Na secção 3.2 será explicado como funciona o sistema operativo Android, bem como as suas características.

A arquitetura do sistema foi pensada desta forma para que se o Servidor não esteja apto, o utilizador possa utilizar o serviço de posicionamento apenas. Este e o sistema de navegação são assim independentes, no entanto para que o serviço de navegação seja usufruído corretamente este tem de receber o input, sob a forma de coordenadas geográfi-cas da localização do utilizador, disponibilizadas pelo serviço de posicionamento. É com base neste pressuposto que pode ser disponibilizada informação acerca do espaço onde o utilizador se encontra.

3.2

Android

Como demonstrado na figura 3.1, a componente do Cliente é uma aplicação móvel. Esta foi desenvolvida para o SO móvel Android [28], por uma questão de disponibilidade de recursos materiais, o que tornou possível testar e desenvolver todas as funcionalidades do sistema. Esta escolha também foi reforçada segundo um estudo da Stat Counter [29], onde mostra que o SO móvel Android é utilizado em cerca de 40 %, dos dispositivos móveis, contra cerca de 30 % do segundo maior sistema, o iOS da desenvolvido pela Apple, Inc. Outros SO móveis existem no mercado, como Windows Phone, detido pela Microsoft Inc, o SO Symbian, detido pela Nokia Corporation e ainda o SO BackBerry, detido pela BlackBerry Limited. Todos estes SO, exceto o Android, são de código fechado ou software proprietário, ou seja o seu código fonte não é revelado, assim como todo

(39)

Capítulo 3. Sistema de Navegação Indoor 23

conhecimento à volta do software, bem como a possibilidade de inovação a partir deste software é suprimido.

Para cada plataforma móvel são disponibilizados SDKs pelos seus produtores, auxili-ando assim os programadores a desenvolverem aplicações para o seu SO. Para proteger a estrutura do sistema operativo, o programador tem acesso a diferentes funcionalidades do SO através das APIs.

Na subsecção seguinte serão explicados mais algumas características do SO e ainda identificada a arquitetura do mesmo, sendo apresentada uma breve descrição de cada ca-mada da arquitetura.

3.2.1

Arquitetura

A figura 3.2 ilustra a arquitetura do SO móvel Android. Esta foi retirada de [30]. Como podemos verificar, a arquitetura é conceptualmente composta por cinco camadas, a Linux Kernel, a Libraries, a Android Runtime, a Application Framework e a Applications.

Figura 3.2: Arquitetura do Sistema Operativo Android

Cada camada agrupa uma série de programas que suportam funções especificas do sistema operativo.

Como pode ser observado na figura 3.2, na base temos a camada Linux Kernel. O SO móvel Android corre sobre um ambiente virtual Java, baseado no núcleo Linux, de-senvolvido pela Google, Inc. Nesta camada estão presentes programas de gestão de me-mória, configurações de segurança, software de gestão da bateria e de memória e ainda algumas drivers de hardware. Uma driver é um programa que permite o controlo do

(40)

hardware dos dispositivos, tais como a camera, os sensores, o altifalante ou mesmo até recetor de sinal da tecnologia Wifi ou Bluetooth.

Na camada seguinte temos a camada Libraries que contém bibliotecas que permitem ao dispositivo saber como proceder em caso de haver informação variada. Por exemplo, a biblioteca Media Framework suporta operações sobre variados formatos de vídeo, au-dio e imagem. Existem outras bibliotecas importantes, como é o exemplo da biblioteca OpenGL ou a biblioteca SQLite, que fornece operações para que possa ser criada uma base de dados no dispositivo. Na mesma linha da camada Libraries existe a camada An-droid Runtime. Esta camada inclui a máquina virtual Dalvik Virtual Machine e bibliotecas Java que permitem programadores desenvolverem as suas aplicações.

O desenvolvimento de aplicações para a plataforma Android é feita através da lingua-gem de programação Java e estas correm sob máquinas virtuais.

Uma máquina virtual é um software de aplicação que se comporta como se fosse um dispositivo completamente independente, com o seu próprio sistema operativo. Um exemplo deste processo é a instalação de uma máquina virtual, num computador pessoal, com um sistema operativo completamente diferente ao instalado no computador.

O Android utiliza as máquina virtuais, para correr cada aplicação como um processo unitário. Isto é importante porque nenhuma aplicação depende de outra e ainda, no caso de uma aplicação for interrompida, mais nenhuma, que esteja a correr no dispositivo, terá problemas. Mais uma razão do uso de máquinas virtuais é a gestão da memória que é utilizada.

A camada de Application Framework é responsável por gerir as funções básicas do dispositivo, como a alocação de recursos, funcionalidades do dispositivo e troca entre programas e processos. Esta camada está totalmente acessível aos programadores e assim permitem aos mesmos tirar vantagens das capacidades do processamento e dos recursos de suporte do Android.

No topo da arquitetura está a camada Applications. Nesta camada estão presentes as aplicações móveis básicas dos dispositivos, como aceder aos contactos telefónicos, aceder ao Web browser ou efetuar chamadas telefónicas, no caso do dispositivo ser um telefone. As aplicações móveis desenvolvidas pelos programadores encontram-se nesta camada, assim como a aplicação móvel, do sistema de navegação, desenvolvida no decorrer deste projeto.

3.2.2

Desenvolvimento em Android

Embora a linguagem de programação utilizada seja a linguagem JAVA existem al-gumas diferenças no que toca ao desenvolvimento de aplicações móveis, em relação ao desenvolvimento de outras aplicações usando a mesma linguagem. O ambiente Android é muito gráfico e como tal a sua programação tem um grande enfoque nessa componente. Ao criarmos um projeto de Android, é automaticamente criada uma Activity. Uma

(41)

Capítulo 3. Sistema de Navegação Indoor 25

Activityé uma componente da aplicação que fornece uma interface com a qual os utiliza-dores podem interagir, com um propósito, como enviar um email ou tirar um fotografia, escolher uma música ou interagir com um mapa. Para cada atividade que o utilizador pretende executar é criada uma Activity. Esta funciona para ser criado toda interface da aplicação móvel. Geralmente uma aplicação tem vários Activities estão ligadas entre si. Como mostra a figura 3.3, uma Activity tem um período de vida que está associado com a funcionalidade que o utilizador pretende usufruir.

Figura 3.3: Período do ciclo de vida de uma Activity

Como mostra a figura 3.3, existem alguns métodos que são essenciais para definir o estado de vida de uma Activity. Os estados de vida de cada uma são Paused, Resumed e Stopped. Esta imagem foi retirada de [28]].

• Resumed Este estado indica que a Activity está visível e que qualquer utilização pode ser realizada, por parte do utilizador.

• Paused Neste estado indica que uma outra Activity está ativa e tem o foco do utili-zador, mas no entanto está continuamente visível no ecrã.

(42)

• Stopped Este estado refere-se a uma Activity que está completamente em back-groung, mas no entanto ainda está viva.

Os estados de cada Activity são controlados por métodos que são incorporados na classe onde foi criada a Activity. Os métodos referidos são:

• onCreate() - Chamado quando a Activity é criada pela primeira vez e devem ser inicializados todos os componentes essenciais desta. É neste método também que é chamado o Layout definido para a mesma. É sempre seguido pelo método onStart(). • onRestart() - Chamado depois da Activity ser interrompida, pouco antes de esta ser

iniciada novamente. É sempre seguido pelo método onStart().

• onStart() - Chamado imediatamente antes da Activity tornar-se visível para o utili-zador. É seguido pelo método onResume() se esta vem para primeiro plano, ou pelo método onStop() se se vai tornar oculta.

• onResume() - Chamado imediatamente antes da Activity passar a ser visível e a interagir com o utilizador. Neste ponto, esta está no topo da pilha de Activities.É sempre seguido pelo método onPause().

• onPause() - Chamado quando o sistema está prestes a começar a retomar outra Ac-tivity. Este método é geralmente usado para confirmar as alterações não guardadas, dados persistentes e outras coisas que podem estar a consumir recursos do CPU. Este método deve fazer tudo rapidamente, porque a próxima Activity não será reto-mada enquanto este não termine o trabalho. É seguido pelo método onResume() se a atividade volta ao primeiro plano, ou pelo método onStop() se se vai torna invisível para o utilizador.

• onStop() - Chamado quando a Activity já não é visível para o utilizador. Isso pode acontecer porque esta está a ser destruída, ou porque outra Activity (seja uma exis-tente ou uma nova) foi retomada e está em primeiro plano. É seguido pelo método onRestart()se a atividade está a voltar para interagir com o utilizador, ou pelo mé-todo onDestroy() se essa atividade vai ser destruída.

• onDestroy() - Chamado antes da Activity ser destruída. Esta é a chamada final que a Activity irá receber. Este método poderá ser chamado, quer porque a Activity está a ser destruída (alguém chamou o método finish()), ou porque o sistema está a a destruir para economizar espaço.

Todos as configurações de uma aplicação móvel estão confinadas a um só ficheiro, AndroidManifest.xml. Este ficheiro vai apresentar a informação essencial sobre a aplica-ção móvel ao sistema Android. Toda esta informaaplica-ção é lida antes sequer de lido o código

(43)

Capítulo 3. Sistema de Navegação Indoor 27

da aplicação em si. Entre outra informação, este ficheiro contém as Activities criadas, os servicesentre outros. Neste ficheiro estão especificadas as permissões necessárias para que a aplicação móvel possa aceder a partes do sistema operativo ou mesmo interagir com outras aplicações instaladas. Outro tipo de informação importante contida neste ficheiro são os mínimos da versão do SO Android que a aplicação permite.

Em relação à interface, o ficheiro responsável por manter a informação acerca de todo o layout da aplicação móvel denomina-se, activitymain.xml. Este nome porém define-se consoante o nome da Activity correspondente. Como tal existem tantos ficheiros de layout, quantas Activities foram criadas. Neste tipo de ficheiro estão armazenados todos os elementos gráficos relativos às Activities correspondentes. Como exemplo se numa Activityexistirem botões, existirá no ficheiro de layout informação acerca desses mesmo botões, como ids para serem identificados nas classes programadas, tamanhos, entre ou-tras características.

3.3

Considerações Finais

Neste capítulo foram apresentados as características do Sistema de Navegação Indoor, através da divisão da arquitetura geral do sistema em componentes, a da Base de Dados, a do Servidor e a do Cliente/Aplicação Móvel. Foi introduzido o funcionamento, deixando uma visão geral de cada uma.

Como toda a aplicação móvel irá ser desenvolvida para o Sistema Operativo Android, foram introduzidas algumas noções básicas de como é constituída a arquitetura do An-droid, bem como algumas das suas características da linguagem de programação.

No próximo capítulo serão apresentadas as soluções de implementação das compo-nentes descritas, neste capítulo, bem como a sua ordem de implementação.

(44)
(45)

Capítulo 4

Concretização do Sistema Navegação

Indoor

Neste capítulo serão apresentados os detalhes de concretização do trabalho desenvol-vido. Em primeiro lugar será abordado, e como referido em 3.1, a divisão do sistema de navegação indoor, no serviço baseado no posicionamento do dispositivo móvel e no sistema de navegação geral. O primeiro serviço refere-se ao posicionamento, no espaço onde está inserido, de cada utilizador e o segundo refere-se à navegação do próprio no espaço indoor. Para que o serviço de navegação funcione corretamente, o serviço de po-sicionamento terá de fornecer o input da localização do utilizador. Em segundo lugar será dividida por componentes, toda a arquitetura do sistema geral, onde serão apresentadas as suas características, bem como a modo de implementação. Para clarificar e explicar melhor toda a implementação das componentes do servidor e do cliente/aplicação móvel foram criados diagramas para cada uma destas.

4.1

Considerações Gerais

Como pode ser observado na figura 3.1, e como referido no início do capítulo anterior, na secção 3.1, a arquitetura é composta por uma componente Cliente/Aplicação móvel, uma componente Servidor e uma componente Base de Dados.

Com base no planeamento que foi efetuado e referido na secção 1.4, a primeira com-ponente a ser implementada foi a Base de Dados. Como primeira fase de implementação de todo o sistema optou-se por começar por desenvolver a base de dados que iria arma-zenar os pontos de interesse identificados ao longo do edifício do caso do estudo. Numa primeira instância, esta base de dados armazenou também a informação acerca dos AP espalhados pelo edifício. No entanto e após a investigação acerca das formas de armaze-namento de informação geográfica foi optado por criar uma base de dados local inserida no dispositivo da aplicação móvel. Com esta abordagem a componente da Base de Dados ficaria apenas a armazenar a informação dos pontos de interesse.

No contexto do desenvolvimento do projeto, a componente do Servidor foi a segunda 29

(46)

a ser desenvolvida. O próprio desenvolvimento da mesma foi efetuado de forma faseada. Numa primeira fase foi desenvolvido uma pequeno programa que pudesse comunicar com a componente da Base de Dados. Esta ligação serviu também para que fossem efetuados testes à base de dados. Estes testes eram simples chamadas, com input das coordenadas geográficas de uma localização, dentro do edifício. Como resposta era obtida informação acerca dos pontos de interesse, armazenados, que estivessem a uma distância definida do ponto dado como input. Numa segunda fase foi implementado o modelo de Cliente-Servidor para realizar as comunicações com a componente do Cliente. Todo este processo irá ser descrito com maior detalhe na subsecção do Servidor 4.3.

Como última componente a ser desenvolvida temos o Cliente/Aplicação Móvel. Como já referido anteriormente, esta componente é constituída por uma aplicação móvel, de-senvolvida para o SO móvel Android e que permite aos utilizadores usufruírem de todo o sistema de navegação indoor. Esta componente começou por ser desenvolvida com a implementação do modelo de comunicação Cliente-Servidor e posteriormente foram de-senvolvidas todas as funções relacionadas com a parte física do dispositivo móvel, tais como a ligação do dispositivo aos AP, a ligação ao serviço de WMS fornecido através do software ArcGIS Server e ainda a inclusão das funções dos sensores embutidos no próprio dispositivo.

Nas secções seguintes serão apresentadas algumas características de cada compo-nente, como as ferramentas utilizadas, as linhas de código necessárias e os tipos de dados utilizadas para o desenvolvimento das componentes. A ordem da descrição das compo-nentes é coincidente com a ordem de implementação referida anteriormente.

4.2

Base de Dados

Para que o utilizador pudesse obter informação sobre as áreas e os espaços que o ro-deavam, foi necessário criar uma base de dados com toda a informação dos pontos de interesse presentes no edifício do objeto de estudo. Esses pontos podem ser de lazer, como cafés ou então de cariz educativo, como as bibliotecas, salas de aula e gabinetes de professores. A informação armazenada contém, coordenadas geográficas da posição dos pontos, uma breve descrição do tipo de ponto e ainda o piso em que estavam inseridos.

Para realizar a tarefa de criar e importar toda a informação para a base de dados foi necessário a escolha de um Sistema de Gestão de Bases de Dados (SGBD). Um SGBD é, como o próprio nome indica um software que permite criar, manipular e organizar os dados dentro de uma base de dados. Geralmente os SGBD disponibilizam uma interface que permite ao utilizador proceder a manutenções aos dados armazenados. Em pratica-mente todos os SGBD a linguagem utilizada, para realizar as operações de manutenção, é o Structured Query Language (SQL).

Imagem

Figura 1.1: Gráfico ilustrativo da diferença entre pessoas em espaços indoor e outdoor Para chegar ao nicho das pessoas abordadas no estudo e combater a limitação do sinal de GPS foram desenvolvidos diversos algoritmos baseados nas mais variadas tecnologia
Figura 2.1: Esquema da técnica de posicionamento TOA e RTOF
Figura 2.2: Esquema da técnica de posicionamento TDOA
Figura 2.3: Esquema da técnica de posicionamento Triangulação Direta
+7

Referências

Documentos relacionados

De acordo com o Consed (2011), o cursista deve ter em mente os pressupostos básicos que sustentam a formulação do Progestão, tanto do ponto de vista do gerenciamento

Esta ação consistirá em duas etapas. Este grupo deverá ser composto pela gestora, pelo pedagogo e ou coordenador pedagógico e um professor por disciplina

Com a mudança de gestão da SRE Ubá em 2015, o presidente do CME de 2012 e também Analista Educacional foi nomeado Diretor Educacional da SRE Ubá e o projeto começou a ganhar

O construto estilo e qualidade de vida é explicado pelos seguintes indicadores: estilo de vida corrido realizando cada vez mais trabalho em menos tempo, realização

Por meio dos registros realizados no estudo de levantamento e identificação de Felinos em um remanescente de Mata atlântica, uma região de mata secundária

We propose a conformance testing theory to deal with this model and describe a test case generation process based on a combination of symbolic execution and constraint solving for

Em vista disso, essa pesquisa tem por objetivo traçar o contexto histórico do soerguimento do grafite e da pichação ao redor do mundo e do Brasil, traçar as

As amostras foram encaminhadas ao Laboratório da Associação Paranaense de Criadores de Bovinos da Raça Holandesa para Contagem Bacteriana Total (CBT), Contagem de