Kom ihåg mig?

GPS-positionering

Ämnesverktyg Visningsalternativ
Oläst 2009-08-20, 14:31 #1
iceman345s avatar
iceman345 iceman345 är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2009
Inlägg: 5
iceman345 iceman345 är inte uppkopplad
Nykomling
iceman345s avatar
 
Reg.datum: Aug 2009
Inlägg: 5
Jag har nyligen köpt en 3G-router med stöd för USB-GPS. Routern kan skicka upp en fil innehållandes GPRMC sentences via ftp till valfri server. Jag skulle nu vilja få tag i ett javascript som gör att jag kan bädda in Google maps på min webbplats för att på så vis få positionering i realtid.

Jag kör för närvarande positioneringen (www.nightrider.se/mofcam2.html) via en programvara på PC som skickar position 1 gång/min när den är igång och det fungerar bra, men jag vill slippa ha datorn igång med allt vad det innebär och köpte bl.a. därför ny router.

Någon som har något tips på vart jag kan hitta ett script som använder en GPRMC-fil och Google maps?
API har jag redan skapat hos Google maps och allt är confat i routern, nu saknar jag bara ett script.

Jag ser fler användningsområde för detta på jobbet ifall det visar sig fungera bra, men först vill man ju testa lite
iceman345 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-20, 15:20 #2
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
Det där låter ju helspännande!

Som jag förstår det så är innehållet i GPRMC-filer rätt enkla att utläsa.
Läser från dessa sidor:
http://www.codepedia.com/1/The+GPRMC+Sentence
http://aprs.gids.nl/nmea/#rmc

Egentligen behöver ju du bara använda valfritt språk (PHP/ASP) för att läsa av filerna som laddats upp till FTP'n och plocka ut den senaste inlagda raden för att få koordinaterna.

Vill du kunna backa i historiken så kan du ju istället lägga in koordinaterna i en databas med datumstämpeln som anger när du befann dig på dessa koordinater.


I den andra länken så visas en platsangivelse ur en GPRMC-fil på följande sätt:

$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,1 91194,020.3,E*68

En kommaseparerad sträng med följande betydelser:

1 220516 Time Stamp
2 A validity - A-ok, V-invalid
3 5133.82 current Latitude
4 N North/South
5 00042.24 current Longitude
6 W East/West
7 173.8 Speed in knots
8 231.8 True course
9 130694 Date Stamp
10 004.2 Variation
11 W East/West
12 *70 checksum


I PHP skulle du då kunna få ut uppgifterna på följande sätt:

<?php

$string = '$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7, 191194,020.3,E*68';
$parts = explode(",",$string);

$latitud = $parts[3];
$longitud = $parts[5];

$tidpunkt = substr($parts[1],0,2).":".substr($parts[1],2,2).":".substr($parts[2],4,2);

$dag = substr($parts[9],0,2);
$manad = substr($parts[9],2,2);
$ar = substr($parts[9],4,2);

$tid_timmar = substr($parts[1],0,2);
$tid_minuter = substr($parts[1],2,2);
$tid_sekunder = substr($parts[1],4,2);

$timestamp = mktime($tid_timmar,$tid_minuter,$tid_sekunder,$man ad,$dag,$ar);

$v_dir = $parts[4];
$h_dir = $parts[6];


print date("Y-m-d, H:i:s",$timestamp)." befann jag mig på longitud ".$longitud." och latitud ".$latitud." och färdades i ".$v_dir.$h_dir." riktining.";

?>
objx är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-20, 17:25 #3
iceman345s avatar
iceman345 iceman345 är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2009
Inlägg: 5
iceman345 iceman345 är inte uppkopplad
Nykomling
iceman345s avatar
 
Reg.datum: Aug 2009
Inlägg: 5
Text i all ära, men jag vill nog presentera det hela i kartform på min webbplats ungefär som det ser ut idag (se länk ovan).
Om du kollar så ser du även att jag har historik i dagsläget (grönt streck).
Måste ju finnas något bra sätt att trycka in det här i Google maps och sedan bädda in det på egen webbplats?
iceman345 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-20, 17:45 #4
Anders Ekström Anders Ekström är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2008
Inlägg: 5
Anders Ekström Anders Ekström är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2008
Inlägg: 5
Är det en Dovado UMR du har?
Anders Ekström är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-20, 22:28 #5
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
Citat:
Originally posted by iceman345@Aug 20 2009, 16:25
Text i all ära, men jag vill nog presentera det hela i kartform på min webbplats ungefär som det ser ut idag (se länk ovan).
Om du kollar så ser du även att jag har historik i dagsläget (grönt streck).
Måste ju finnas något bra sätt att trycka in det här i Google maps och sedan bädda in det på egen webbplats?
Ja, jag menade inte att du skulle skriva ut koordinaterna i text.
Jag ville bara visa hur enkelt det är att plocka ut koordinaterna ur din GPRMC-fil för att sedan mata in dessa i Google Maps.

En förlängning på min kod skulle kunna se ut så här:

<html>
<head>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true_or_false&amp ;key=DIN_API_NYCKEL" type="text/javascript"></script>
</head>
<body>
<div id="min_karta" style="width:500px;height:400px;"></div>
<?php

$string = '$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7, 191194,020.3,E*68';
$parts = explode(",",$string);

$latitud = $parts[3];
$longitud = $parts[5];

$tidpunkt = substr($parts[1],0,2).":".substr($parts[1],2,2).":".substr($parts[2],4,2);

$dag = substr($parts[9],0,2);
$manad = substr($parts[9],2,2);
$ar = substr($parts[9],4,2);

$tid_timmar = substr($parts[1],0,2);
$tid_minuter = substr($parts[1],2,2);
$tid_sekunder = substr($parts[1],4,2);

$timestamp = mktime($tid_timmar,$tid_minuter,$tid_sekunder,$man ad,$dag,$ar);

?>

<script type="text/javascript">
window.onload = function(){

var map = new GMap2(document.getElementById("min_karta"));

var coords = new GLatLng(<? print $latitud;?>,<? print $longitud;?>);
map.setCenter(coords);
marker = new GMarker(coords);
map.addOverlay(marker);

}
</script>
</body>
</html>

Jag såg dock att koordinaterna i GPRMC-filerna hade placerat kommatecknet lite galet.
Läs mer om det här:
http://groups.google.com/group/Googl...fa1c381e?pli=1
objx är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-20, 22:39 #6
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
Man skulle kunna montera en sån där router på en gömd plats i bilen som hela tiden laddar upp bilens position till en FTP.

Så fort bilen blir stulen kontaktar man Polisen och uppger exakt longitud och latitud där bilen befinner sig för tillfället.
objx är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-20, 23:00 #7
iceman345s avatar
iceman345 iceman345 är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2009
Inlägg: 5
iceman345 iceman345 är inte uppkopplad
Nykomling
iceman345s avatar
 
Reg.datum: Aug 2009
Inlägg: 5
Ja, det är en Dovado UMR, en trevlig liten låda måste jag säga. Har inte hunnit köra några längre tester ännu, men än så länge verkar allt funka...
Det är bara realtidspositioneringen jag vill ha igång oxå..
iceman345 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-20, 23:12 #8
iceman345s avatar
iceman345 iceman345 är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2009
Inlägg: 5
iceman345 iceman345 är inte uppkopplad
Nykomling
iceman345s avatar
 
Reg.datum: Aug 2009
Inlägg: 5
objx: Nu börjar det likna något!!!
Har nu haft routern igång ett tag och den skapar filer efterhand, nya filnamn baserat på tid och datum (t.ex: D0016A61055C6_20090820_174409.LOG). Dessa filer innehåller 15 positioner för de senaste 15 minutrarna.
Ex:
$GPRMC,173110.000,A,5559.2721,N,01359.2378,E,0.49, 98.44,200809,,*33
$GPRMC,173210.000,A,5559.2739,N,01359.2153,E,3.46, 242.42,200809,,*0D

Det skapas även en annan typ av fil där filnamnen börjar på "D", t.ex: T0016A61055C6_20090820_174409.LOG, innehållet i dessa filerna ser t.ex ut så här:
173110.000;200809;55.9879;13.9873
173210.000;200809;55.9879;13.9869

Vad denna andra fil har för nytta vet jag inte - är inte så insatt i formatet ännu.

Hur skall jag göra för att scriptet skall använda sig av samtliga (eller t.ex. de senaste 24 filerna (6 timmar) i en mapp?
iceman345 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-21, 12:07 #9
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
Citat:
Originally posted by iceman345@Aug 20 2009, 22:12

Hur skall jag göra för att scriptet skall använda sig av samtliga (eller t.ex. de senaste 24 filerna (6 timmar) i en mapp?
Det är inte heller särskilt svårt om du använder PHP.
Här finns en snabb tutorial:
http://www.tizag.com/phpT/fileread.php

Jag kan hjälpa dig att sätta ihop systemet mot en slant om du känner att det är värt det. Hör av dig i såna fall!
objx är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-28, 17:33 #10
iceman345s avatar
iceman345 iceman345 är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2009
Inlägg: 5
iceman345 iceman345 är inte uppkopplad
Nykomling
iceman345s avatar
 
Reg.datum: Aug 2009
Inlägg: 5
Tackar för hjälpen så länge, jag tror det ordnar sig!
Jag får väl hojta till när det är klart - om någon har några tips under tiden så är ni såklart välkomna med dem
iceman345 är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:24.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017