Localização Geográfica no Google Maps com o Auxílio de Redes Wireless

June 3, 2017 | Autor: Henrique Pereira | Categoria: Maps and Society, Wireless networks, Geolocation, WiFI
Share Embed


Descrição do Produto

Localização Geográfica no Google Maps com o Auxílio de Redes Wireless Henrique G. G. Pereira1, Marcos L. Cassal1, Guilherme Dhein1, Tarcízio R. Pinto1 1

Centro Universitário Franciscano (UNIFRA) Rua dos Andradas, 1614 – 97010-032 – Santa Maria – RS – Brasil [email protected], {cassal,gdhein}@unifra.br, [email protected]

Abstract. This paper describes the methodologies used in the development of a geographical localization service based on the analysis of wireless network signals, and the use of Google Maps to allow the viewing of this data on a map, allowing the user to obtain his geographical positions without the need of using a GPS device. Resumo. Este artigo apresenta as metodologias utilizadas para o desenvolvimento de um serviço de localização geográfica baseado na análise do sinal das redes wireless de um determinado local, e a utilização do Google Maps para fornecer a exibição desses dados em um mapa, permitindo que o usuário tenha sua posição geográfica sem a necessidade de utilizar um aparelho GPS.

1. Introdução A constante evolução tecnológica vem fazendo com que tecnologias como as redes locais sem fio e a Internet se tornem muito populares, fiquem mais baratas e cresçam em número de usuários muito rapidamente. Porém, tecnologias como o GPS (Global Positioning System) ainda são caras e não estão acessíveis a um público amplo. Procurando juntar as funcionalidades existentes nas redes locais sem fio e o serviço gratuito do Google Maps, surgiu a idéia de permitir a localização geográfica de um indivíduo no mapa, dotado apenas de acesso a Internet e um dispositivo capaz de acessar a rede sem fio, eliminando o uso de um aparelho GPS e assim permitindo que os usuários possam facilmente se localizar em um mapa, utilizando apenas as redes sem fios que o dispositivo consegue captar.

2. Tecnologias Utilizadas Redes Locais Sem Fio, ou Wireless Local Area Networks são redes que permitem a comunicação entre dois ou mais computadores ou dispositivos sem a utilização de fios, permitindo ao usuário que ele se locomova dentro da área de cobertura e continue conectado a essa rede. Essa tecnologia encontra-se cada vez mais presente em áreas urbanas. O funcionamento de uma rede sem fio é muito similar ao funcionamento de uma comunicação de rádio em 2 vias. Ocorre uma comunicação ponto-a-ponto utilizando o ar como meio de transmissão. O transmissor envia os dados pelo ar utilizando uma antena e os receptores utilizam também uma antena para captar os pacotes que conseguem do meio [Lowe, 2007].

Em redes sem fio, a segurança é geralmente uma preocupação crítica porque as transmissões estão disponíveis para qualquer um ao alcance do transmissor e com uma antena apropriada. Nessas redes as transmissões são efetuadas de maneira a serem processadas por qualquer receptor dentro de seu raio de alcance, não sendo necessário possuir as chaves de acesso de uma rede para o recebimento dos pacotes transmitidos. Outro problema de segurança é que essas redes não tem limites físicos bem definidos. Uma rede sem fio corporativa pode ter um alcance maior do que a própria área do prédio onde está instalada, permitindo que pessoas de fora da empresa tenham acesso aos dados que são transmitidos dentro dessa rede [Gast, 2005]. As redes mais utilizadas hoje em dia tem alcance médio de 90 metros sem obstáculos para o emissor. Obstáculos como paredes, mau tempo e interferências geradas por outros equipamentos sem fio ou que emitam microondas tendem a diminuir o alcance efetivo de um transmissor. O sinal das redes sem fio tende a desaparecer conforme aumenta a distância para a fonte emissora do sinal. O limite de alcance de uma rede sem fio depende das características do transmissor utilizado. Além disso, a velocidade da comunicação de uma rede sem fio tende a diminuir conforme a distância entre os nodos aumenta. Uma rede que opera a 11Mbps tende a alcançar essa velocidade apenas nos primeiros 30 metros do transmissor. No limite teórico de 90 metros a velocidade alcançada nessa rede é em média de apenas 1Mbps [Lowe, 2007]. Softwares como o Kismet e o NetStumbler conseguem realizar estimativas da distância em que o emissor de uma rede se encontra tendo como base essa informação. O NetStumbler é um software para Windows que serve como um detector e analisador de redes. Esse software detecta redes locais sem fio baseadas nos protocolos 802.11b e 802.11g, além de prover informações referentes a qualidade do sinal dessas redes [Hurley e Thornton, 2004]. Ele também fornece informações sobre a velocidade, tipo de encriptação, MAC, nome, canal, e a estimativa da Latitude e da Longitude1 do emissor do sinal de uma rede. Esse software utiliza um método ativo para a detecção das redes sem fio, enviando um Probe Request e então esperando que alguma rede dentro de alcance responda o pedido. Quando um Probe Response é recebido o NetStumbler se encarrega de calcular as informações relativas ao canal, velocidade e tipo de encriptação utilizada pela rede que respondeu, exibindo isso juntamente com o SSID e o MAC da rede [Hurley e Thornton, 2004]. O NetStumbler permite que os dados coletados durante a utilização do programa sejam salvos para serem analisados utilizando o formato nativo do programa, ou permite que eles sejam exportados em modo texto utilizando três formatos diferentes: a) O modo sumário (sumary) que exporta todas as informações das redes apenas uma vez, no momento em que elas foram detectadas pela primeira vez. b) O modo texto (text) que exporta todas as informações das redes, em todos os momentos que foram detectados Probe Responses. 1 Se utilizado em conjunto com um GPS

c) O modo wi-scan (wi-scan) que exporta apenas os principais dados das redes (Latitude¹, Longitude¹, SSID, MAC, hora da detecção, intensidade do sinal, interferência), em todos os momentos que foram detectados Probe Responses. As informações relativas a Latitude e a Longitude do emissor são baseadas em um cálculo feito pelo software, quando ligado a um GPS, e levando em consideração a velocidade da resposta ao Probe Request e a intensidade do sinal captada em relação a posição atual indicada pelos GPS. Porém como a intensidade do sinal sofre variações muito grandes devido a interferência física causada pelos obstáculos físicos como prédios, muros e a rede elétrica, as estimativas de Longitude e Latitude podem resultar em coordenadas potencialmente distantes em relação a posição real dos emissores. O Google Maps é serviço gratuito oferecido pelo Google e localizado em http://maps.google.com . Trata-se de um sistema rápido e interativo para visualização de mapas na Web. A localização dos pontos nos mapas é feita a partir de sua latitude e longitude e esta informação é administrada pelo próprio usuário. É possível visualizar um mapa em diversos níveis de zoom, variando de 10.000km até 100 metros. Também é possível visualizar mapas físicos ou políticos, ou mapas híbridos. Um dos maiores atrativos do Google Maps é sua API (Application Programming Interface) para JavaScript, que possibilita sua utilização e integração, gratuitamente, com qualquer página Web. Isso permite aos usuários a visualização e interação com os mapas em diferentes localizações no globo e permite também que desenvolvedores criem aplicações em cima dos mapas disponíveis no sistema, agregando funcionalidades e informações aos mapas pelo uso da API [Google, 2008]. A API do Google Maps é escrita em JavaScript e utiliza o paradigma de orientação a objetos. Podendo ser utilizada gratuitamente por qualquer desenvolvedor cadastrado, ela permite que os mapas sejam incluídos dentro de páginas Web e possam ser controlados e modificados utilizando uma série de comandos pré-estabelecidos na documentação da API, disponível em http://code.google.com/apis/maps/documentation . Os comandos disponíveis incluem a criação de um marcador no mapa, para designar algum lugar específico, a oportunidade da inclusão de balões de informação, marcadores personalizados, controle sobre o nível de zoom de um mapa, alteração das imagens contidas no mapa, demarcação de áreas e criação de polígonos. A API também permite a utilização de coordenadas geográficas como Latitude e Longitude para a adição de marcadores e a localização de ruas, bem como permite a criação de mapas através de arquivos XML contendo os dados a serem adicionados ao mapa.

3. Mapeando as Redes Foram realizadas múltiplas coletas de dados no centro de Santa Maria sobre as redes sem fio que podiam ser alcançadas do nível da rua. Para isso foi utilizada uma técnica de WarDriving, que consistiu no uso de um notebook dentro de um carro executando o software NetStumbler, para a detecção das redes sem fio [Hurley e Thornton, 2004]. O notebook estava conectado a um dispositivo GPS para obter a posição geográfica do receptor onde o sinal de cada rede sem fio foi detectado. Após a coleta dos dados, eles foram exportados pelo NetStumbler e armazenados em

um banco de dados MySQL. Isso foi realizado com o intuito de facilitar a utilização e análise desses dados. A partir da análise dos dados coletados foram detectadas 598 redes sem fio diferentes. A Figura 1 apresenta um mapa contendo a localização onde o NetStumbler detectou a ocorrência de cada rede pela primeira vez.

Figura 1. Local onde foi detectado o sinal de cada rede pela primeira vez

Com base nas informações coletadas foram criados polígonos utilizando os pontos mais externos de onde cada sinal foi detectado, sendo que a área de cada polígono equivale a área de alcance estimada de cada rede sem fio. Além disso, cada polígono teve seus lados aumentados em 10 metros, a fim de se tornar uma margem de erro aceitável, visto que seria impossível mapear exatamente os limites do alcance de cada rede. Com os pontos de cada polígono definido eles foram adicionados a um banco de dados para serem adicionados ao mapa, utilizando a classe GPolygon da API do Google Maps, quando necessário. A Figura 2 ilustra a área de cobertura estimada, em destaque, da rede FLIPPY (00:e0:4c:f7:ad:61) no centro de Santa Maria.

Figura 2. Área de cobertura da rede FLIPPY

4. Encontrando a posição do usuário A partir da definição do alcance de cada rede ficou definida a possibilidade de encontrar a posição geográfica de um usuário, utilizando apenas leituras vindas de seu dispositivo com interface Wireless, sem a necessidade de um dispositivo GPS. Para isso foi desenvolvido um sistema que utiliza a intersecção dos polígonos correspondentes a estimativa da região de cobertura das redes detectadas pelo usuário para determinar a posição em que ele se encontra no centro da cidade. A Figura 3 e a Figura 4 apresentam respectivamente a área de alcance da Rede A e da Rede B.

Figure 3. Cobertura da Rede A

Figure 4. Cobertura da Rede B

Após confirmadas que ambas as redes possuem áreas de cobertura em comum, o sistema determina a intersecção entre as duas redes, sobrepondo a área de uma com a outra, utilizando o método intersection da classe GlatLngBounds da API do Google Maps, como demonstrado na Figura 5.

Figura 5. Sobreposição das redes A e B

A partir das áreas de intersecção obtidas na etapa anterior, o sistema exibe a possível posição do usuário, supondo que se ele conseguiu captar sinais da rede A e da rede B, então ele está no ponto em que as duas redes estão presentes. A Figura 6 deixa mais clara a possível localização do usuário.

Figura 6. Possível localização do usuário

É importante ressaltar que, quanto maior o número de redes utilizadas para localizar o usuário, menor será a área resultante da intersecção das áreas de coberturas das redes e portanto a precisão alcançada em relação a posição do usuário será maior. Isso pode ser visto na Figura 7, onde é introduzida a Rede C e na Figura 8, onde é realizada a intersecção das áreas das redes A, B, C, obtendo maior precisão na localização do usuário.

Figura 7. Cobertura da Rede C

Figura 8. Intersecção das Redes A, B e C

Caso alguma das redes captadas pelo usuário não esteja mapeada no sistema, essa rede será ignorada no cálculo da localização do usuário. Devido ao fato de muitas redes possuírem nomes semelhantes, as redes são identificadas no sistema pelo endereço MAC do emissor, permitindo ao sistema diferenciar as áreas de cobertura de redes com o mesmo nome.

5. O Visualizador Para facilitar a interação do sistema com o usuário foi criado um portal, localizado em http://www.inf.unifra.br/~gmaps/ , onde é possível enviar os dados resultantes de uma leitura do NetStumbler e verificar a possível localização geográfica no mapa. Além disso são exibidas informações relacionadas as redes presentes no centro de Santa Maria e suas respectivas áreas de cobertura. O visualizador foi desenvolvido utilizando PHP 4 juntamente com a biblioteca xajax. Essa biblioteca permite a interação assíncrona do sistema programado em PHP com a API em JavaScript do Google Maps. Para realizar o armazenamento das informações sobre as redes foi utilizado um banco de dados MySQL. A representação no mapa das áreas de coberturas das diferentes redes armazenadas no sistema foi feito utilizando-se a classe GPolygon, disponível na API do Google Maps. Essa classe permite que polígonos sejam representados no Google Maps, permitindo também que as cores e os níveis de preenchimento sejam escolhidos pelo desenvolvedor.

6. Trabalhos Futuros Devido ao aumento no número das redes sem fio disponíveis pela popularização dessa tecnologia e ao desaparecimento de algumas redes com o passar do tempo, se faz necessário que o sistema seja alimentado com leituras sobre as novas redes de tempos em tempos, a fim de garantir que o usuário possa ser localizado e a precisão venha a ser boa. Um trabalho futuro poderia ser a implementação de um sistema colaborativo para a alimentação das redes do sistema, onde o usuário, sabendo sua posição no mapa, pudesse identifica-lá e enviar uma leitura das redes detectadas no ponto onde ele está, fazendo assim com que as redes detectadas no ponto em que ele se encontra fossem automaticamente adicionadas ao sistema, e em uma possível nova consulta pudessem ser usadas para identificar a posição do usuário.

7. Conclusão O grande número de redes sem fios existente atualmente e a tendência no aumento do número dessas redes devido a popularização das tecnologias sem fio tornam possível a localização de uma pessoa baseada apenas na leitura das redes sem fio que essa pessoa consegue detectar, desde que sejam conhecidas ou estimadas as áreas de cobertura dessas redes. A utilização de técnicas de WarDriving juntamente com o software NetStumbler se mostrou eficiente para realizar o mapeamento e para a estimativa das áreas de cobertura das redes sem fio do centro de Santa Maria, detectando informações sobre 598 redes. A API do Google Maps foi eficiente ao fornecer classes como a GPolygon e permitir que as informações coletadas fossem exibidas no Google Maps.

Referências Gast, M. (2005) “802.11 Wireless Networks: The Definitive Guide, Second Edition”, O'Reilly, 2ª edição. Lowe, D. (2007) “Networking for Dummies”, For Dummies, 1ª edição. Hurley, C., Thornton, F. (2004) “WarDriving: Drive, Detect, Defend : a Guide to Wireless Security”, Syngress, 1ª edição. Google (2008) “Google Maps API http://code.google.com/apis/maps/



Google Code” disponível online em

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.