È possibile utilizzare un dispositivo GPS con un computer per fornire la posizione ai browser?


8

Ho due dispositivi GPS, uno da NMEA e uno da Garmin. Vorrei sapere se è possibile utilizzare uno di essi per fornire una posizione più accurata per i browser (Chrome, Firefox).

L'applicazione web che ho funziona alla grande su tablet con GPS integrato, ma non su laptop.


1
quale sistema operativo? il sistema operativo dovrà supportare le API per questo ...
tumchaaditya,

Perché vuoi utilizzare il dispositivo GPS con il laptop mentre puoi facilmente ottenere la tua posizione utilizzando la connessione Wi-Fi o se hai accesso a Internet. È abbastanza accurato vero?
Gio Yein Tun,

2
@TitanZack: la cosa di geolocalizzazione wi-fi è fondamentalmente un "hack" che si basa sulla presenza di molte reti wifi vicine e di lunga durata. È inefficace in molti ambienti, ad esempio nel paese in cui sei l'unica rete wifi o se non hai un chipset wireless nel tuo PC. E in generale è praticamente solo un tentativo di dire allo stadio di dove ti trovi. Niente di WiFi si traduce direttamente in posizione; è tutto basato su dati e statistiche sperimentali. Il GPS è preciso fino al metro indipendentemente da dove ti trovi, purché tu sia sulla superficie della Terra.
allquixotic,

Risposte:


6

Per farlo funzionare su un laptop, devi avere il supporto "in tutto lo stack" come segue:

  • Supporto per il driver : il laptop deve disporre di driver hardware in grado di riconoscere il dispositivo GPS e interfacciarsi con esso, sia tramite USB che con altri protocolli. I driver sono generalmente implementati nel kernel, ma se sai per certo che hai i driver corretti, l'implementazione non è importante per te.
  • API dello spazio utente che utilizzano i driver - Indipendentemente dall'interfaccia del driver o da come funziona, lo stack dello spazio utente deve essere consapevole della presenza del dispositivo GPS hardware e deve sapere come accedere all'hardware tramite un'interfaccia di programmazione. Se disponi di driver per un dispositivo GPS, probabilmente hai anche un'interfaccia di programmazione dello spazio utente per esso ... ma hai la parte successiva?
  • Applicazioni che utilizzano le API dello spazio utente : l'applicazione client (presumibilmente un browser Web) deve essere a conoscenza dell'API del driver dello spazio utente e poterla utilizzare in modo proficuo per supportare i servizi di localizzazione.
  • L'applicazione deve supportare un protocollo di localizzazione compatibile con l'applicazione Web che lo interroga - Lo standard W3C per la geolocalizzazione degli endpoint è l' API di geolocalizzazione W3C, quindi è un buon punto di partenza. Il browser deve sostanzialmente capire che quando il server web richiede la posizione, il browser "capisce" la richiesta abbastanza bene da sapere che deve ottenere i dati di geolocalizzazione dall'utente.
  • L'applicazione deve integrare il driver nel protocollo di posizione come backend supportato .

Quindi finisci con uno stack tecnologico qualcosa del genere:

Driver del kernel <--> Driver / librerie dello spazio utenti <--> Backend di geolocalizzazione del browser Web specifico per le librerie o il framework delle aree utente del dispositivo <--> Livello di protocollo del browser Web che comprende un'API di richiesta di geolocalizzazione basata su HTTP, come l'API di geolocalizzazione W3C.

In questo momento penso che i pezzi che molto probabilmente saranno già disponibili sono:

  • I driver del kernel e le librerie dello spazio utente per il dispositivo devono essere forniti dal produttore.
  • l'API di geolocalizzazione W3C è supportata a lungo in Chrome e Firefox.

Il pezzo che probabilmente mancherà è il "backend di geolocalizzazione del browser Web".

Cioè, dubito che Firefox / Chrome disponga effettivamente del supporto di integrazione hardware per i dispositivi GPS. C'è solo un'implementazione di cui sono a conoscenza al momento: Firefox ha il supporto per i dispositivi GPSd . Quindi, se il tuo dispositivo si integra con il middleware GPSd e il tuo sistema operativo è uno di quelli supportati, è possibile. Altrimenti, probabilmente no (anche se potrebbe variare se il produttore decide di supportare l'intero stack, incluso un plug-in del browser).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.