Gå til innhold

webGPS - The offline web based GPS system, i like the taste of that sentence.


Anbefalte innlegg

Jeg har lenge tenkt på å lage mitt eget komplette GPS system til bil laget med billige kjente komponenter og web teknologi. Nå er GPS eventyret i gang da jeg straks skal kjøpe ny bil.
 
Her er de (uferdige) tekniske detaljene for prosjektet:

GPS systemet er i utgangspunktet ment for kjøretøy av type bil, men kan selvfølgelig bygges inn i hva som helst.

Systemet:
Raspberry Pi kjører en node.js server med socket.io, serialport og nmea for å lese GPS modulens data og oppdatere klientens grafiske grensesnitt (Chromium klient låst til localhost) i sanntid.

 

Her er et utdrag av data lest i sanntid:

{ sentence: 'RMC',
  type: 'nav-info',
  timestamp: '175722.00',
  status: 'valid',
  lat: '5947.30773',
  latPole: 'N',
  lon: '01054.24968',
  lonPole: 'E',
  speedKnots: 0.119,
  trackTrue: 0,
  date: '100815',
  variation: 0,
  variationPole: '',
  talker_id: 'GP' }

Latitude og longitude er ikke de samme som for eksempel Google benytter i sine kart:

lat: '5947.30773', latPole: 'N'
lon: '01054.24968', lonPole: 'E'

Her må koordinatene kalkuleres på nytt, og formatet er som følger:

 

dd + mm.mmmm/60 (lat)
ddd + mm.mmmm/60 (lon)

Dette blir da altså slik:

59 + (16.45/60) = 59.2741666667
010 + (54.24/60) = 10.904

utregningen gjøres i en Javascript funksjon slik:

function getCoords(type, val)
{
  var res = null;
  if (type == "lat") {
    var firstPass = parseInt(val.substring(0,2));
    var secondPass = parseFloat(val.substring(2,7));
    res = firstPass + (secondPass / 60);
  } else if (type == "lon") {
    var firstPass = parseInt(val.substring(0,3));
    var secondPass = parseFloat(val.substring(3,8));
    res = firstPass + (secondPass / 60);
  }
  if (res != null) {
    return res;
  };
}

En skjermdump viser dette i praksis:

dumpGPSParsed.jpg

 

 

Det er til nå laget et meget enkelt grafisk grensesnitt for å visualisere kjøretøyet på kart. Her er noen skjermdump:

 

webGPS.png

 

webGPS2.png

 

webGPS3.png

 

webGPS4.png

 

Her er en liten videosnutt hvor jeg demonstrerer systemet kjapt:

https://vimeo.com/136001122

 

Jeg vil med det samme gå litt i dybden på prosjektet. Systemet skal ha sin primæroppgave å fungere like bra om ikke bedre som de moderne GPS systemene som er på markedet. Vi snakker trafikkinformasjon: (OFFLINE: fotobokser, fatsgrenser, speedometersjekk), (ONLINE: varsler om kø på angitt kjørerute, trafikkmeldinger om ulykker vist på skjerm i sanntid på angitt kjørerute) geometrisk og demografisk informasjon (OFFLINE: Elevasjon, forskjellige karttyper som ROADMAP, SATTELITE, HYBRID, BINGALIKE ( ser ut som bing kartet ) og egne kart!, lagre rute, sette opp punkt i ruten, i sanntid dra rutepunktene til nye steder og lagre dem. //Jeg kommer tilbake til dette i senere innlegg.

 

Det stopper ikke der, jeg har allerede prototypet det som skal jobbes videre med når GPS systemet er på plass. Raspberry PI har bevist at den er kraftig nok til å være mediasenter, dab radio og spillkonsoll. Til dette systemets formål skal det bygges inn en media avspiller som skal støtte nesten alle type video og lydformater. Støtter den det ikke kan den konvertere med et tillegg som FFMPEG (En komplett, cross-platform løsning for å ta opp, konvertere og spille av lyd og video.). Raspberry PI er utstyrt med HDMI og 3.5mm jack, dette kobles enkelt opp med kjente bilkomponenter for media avspilling.

 

Prosessovervåkning viser at det hele til nå bruker så lite som 11 prosent under load, webGL er ikke benyttet enda så det virker som god plass til å boltre seg på.

 

Neste implementering:

  • Grafisk element som viser hastighets i km/t
  • Datakilder basert på GPX data
  • Varsler basert på kjøretøyets avstand i forhold til GPX data (bomstasjoner i første omgang)

...

Endret av [email protected]
Lenke til kommentar
  • 3 uker senere...
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...