É possível usar um dispositivo GPS com um computador para fornecer localização aos navegadores?

8

Eu tenho dois dispositivos GPS, um da NMEA e outro da Garmin. Gostaria de saber se é possível usar um deles para fornecer uma localização mais precisa para navegadores (Chrome, Firefox).

O aplicativo da Web que tenho funciona muito bem em tablets com GPS integrado, mas não em laptops.

    
por user68740 24.07.2012 / 02:41

1 resposta

6

Para que isso funcione em um laptop, você precisará ter suporte "em toda a pilha" da seguinte forma:

  • Suporte ao driver - O laptop deve ter drivers de hardware que possam reconhecer o dispositivo GPS e fazer interface com ele, seja por USB ou outro protocolo. Os drivers geralmente são implementados no kernel, mas se você sabe que possui drivers corretos, a implementação não é importante para você.
  • APIs do espaço do usuário que usam os drivers - Não importa qual seja a interface do driver ou como ela funciona, a pilha do userspace deve estar ciente da presença do dispositivo GPS do hardware e saber como acessar o hardware uma interface de programação. Se você tem drivers de um dispositivo GPS, então provavelmente você também tem uma interface de programação do espaço do usuário para isso ... mas você tem a próxima parte?
  • Aplicativos que usam as APIs do espaço de usuário - Seu aplicativo cliente (presumivelmente um navegador da Web) deve estar ciente da API do driver do espaço de usuário e ser capaz de usá-lo com êxito para suportar serviços de localização.
  • O aplicativo deve oferecer suporte a um protocolo de localização compatível com o aplicativo da Web que o está consultando - O padrão W3C para a localização geográfica do terminal é o W3C Geolocation API então esse é um bom lugar para começar. O navegador deve basicamente entender que, quando o servidor da Web solicita a localização, o navegador "entende" bem a solicitação para saber que precisa obter dados de geolocalização do usuário.
  • O aplicativo deve integrar o driver no protocolo de localização como um back-end suportado .

Então você acaba com uma pilha de tecnologia algo assim:

Drivers do Kernel < - > Drivers / bibliotecas do espaço do usuário < - > Backend de geolocalização do navegador da Web específico para as bibliotecas do usuário ou estrutura do seu dispositivo < - > Camada de protocolo do navegador da Web que entende uma API de solicitação de geolocalização baseada em HTTP, como a API de geolocalização do W3C.

Neste momento, acho que as peças com maior probabilidade de já estarem disponíveis são:

  • Os drivers do kernel e as bibliotecas do espaço do usuário para o dispositivo devem ser fornecidos pelo fabricante.
  • a API de geolocalização do W3C é suportada há muito tempo no Chrome e no Firefox.

A parte que provavelmente está faltando é o "back-end de geolocalização do navegador da Web".

Ou seja, duvido que o Firefox / Chrome tenha suporte de integração de hardware para dispositivos GPS. Há apenas uma implementação que estou ciente agora: o Firefox tem suporte para dispositivos GPSd . Então, se o seu dispositivo se integra com o middleware GPSd e seu sistema operacional é um dos suportados, é possível. Caso contrário, provavelmente não (embora possa variar se o fabricante decidir suportar a pilha inteira, incluindo um plug-in do navegador).

    
por 27.07.2012 / 05:58