PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kompassanzeige mit GPS-Maus im Stand möglich ?



Andree-HB
16.02.2006, 08:44
Kann man mit einer GPS-Maus irgendwie im Stand herausbekommen, wo der (magnetische) Norden ist ? Durch Bewegung lässt es sich a schnell errechnen, aber wie würde soetwas im Stand gehen, zumal ja die Lage der Maus egal ist ?

Andree-HB
16.02.2006, 22:52
So, meine GPS-Maus funktioniert hervorragend. Und mein erstes Mini-Programm, um die Datenströme auszulesen/auszuwerten funktioniert auch Bestens ->

Uhrzeit und Datum wird aus dem GPMRC-Block eines NMEA Datensatzes gefiltert...jetzt geht`s an das Wandeln von String nach Variable um damit auch zu rechnen :

http://www.piratenabenteuer.de/pictures/gps.jpg




'************************************************* *********
'Compiler : BASCOM-AVR
'Hardware : GPS-Maus an RS232
' LC-Display 16*4
'Chip type : ATMEGA8/MyAVR
'************************************************* *********

$regfile = "m8def.dat"
$crystal = 3686400
$baud = 9600

Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.1 , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5
Config Lcd = 16 * 4
Initlcd
Cursor Off
Cls


'************************************************* *********************
'so sieht ein empfangener Datenblock aus :
'
'$GPRMC,142654.895,A,5305.9338,N,00849.2502,E,0.00 ,260.88,160206,,,A*6F

'$GPRMC,191410,A,4735.5634,N,00739.3538,E,0.0,0.0, 181102,0.4,E,A*19
' ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
' | | | | | | | | | |
' | | | | | | | | | Prüfsumme
' | | | | | | | | |
' | | | | | | | | Modus (A,D,E,N,S)
' | | | | | | | |
' | | | | | | | magnetische
' | | | | | | | Deklination 0.4° E
' | | | | | | |
' | | | | | | Datum: 18.11.02
' | | | | | |
' | | | | | wahrer Kurs (ohne Bewegung 0)
' | | | | |
' | | | | Geschwindigkeit über Grund (Knoten)
' | | | |
' | | | 007° 39.3538' östliche Länge
' | | |
' | | 47° 35.5634' nördliche Breite
' | |
' | Empfängerwarnung, A = Daten OK, V = Warnung
' |
' Uhrzeit der Positionsbestimmung: 19:14:10 UTC-Zeit
'************************************************* *********************

Dim A As Byte
Dim Datenstrom As String * 71
Dim Block As String * 6
Dim Stunde As String * 2
Dim Minute As String * 2
Dim Sekunde As String * 2
Dim Tag As String * 2
Dim Monat As String * 2
Dim Jahr As String * 2


Start:
Do
Do
A = Inkey() 'warte auf Zeichen "$"
If A = 36 Then Input Datenstrom 'lese kompletten datenstrom
Block = Mid(datenstrom , 1 , 5) '5 Zeichen nach "$"einlesen
Loop Until Block = "GPRMC" 'frage immer wieder bis Zeichenfolge "GPMRC" kommt, gehe dann weiter

Stunde = Mid(datenstrom , 7 , 2) 'nach 7 Zeichen die folgenden zwei Zeichen
Minute = Mid(datenstrom , 9 , 2)
Sekunde = Mid(datenstrom , 11 , 2)
Tag = Mid(datenstrom , 57 , 2)
Monat = Mid(datenstrom , 59 , 2)
Jahr = Mid(datenstrom , 61 , 2)

Locate 1 , 1
Lcd "Uhrzeit " ; Stunde ; ":" ; Minute ; ":" ; Sekunde
Locate 2 , 1
Lcd "Datum " ; Tag ; "." ; Monat ; "." ; Jahr

Loop
End

Ratber
17.02.2006, 05:52
Kann man mit einer GPS-Maus irgendwie im Stand herausbekommen, wo der (magnetische) Norden ist ? Durch Bewegung lässt es sich a schnell errechnen, aber wie würde soetwas im Stand gehen, zumal ja die Lage der Maus egal ist ?

Denk mal scharf nach.

Ohne Kompas (Egal ob Mechanisch oder Elektronisch) geht es erstmal nicht.

Denkbar wäre es anhand der Satelitenpositionen zu ermitteln aber dafür müßte man messen können aus welcher Richtung man welchen Sateliten emfängt und wo sich jeder Satelit zur Zeit befindet (Zeittelegramm kommt ja vom Satelitennetz und die Position könnte er ja auch übertragen).
Das kann aber der Empfänger nur wenn er mehrere Richtungsempfindliche Empfänger hätte was normale GPS-Empfänger definitiv nicht besitzen.

Und was den Teilsatz "...Lage der Maus Egal..." betrifft so ist das Unlogisch denn wenn ich die Sateliten Richtungsempfindlich orten kann und weiß welcher gerade wo steht dann muß ich einen Bezug haben und ohne Bezug geht garnichts.



Die einfache Antwort wäre übrigens gewesen:

"Nein geht nicht ohne Kompas" :wink:

Andree-HB
17.02.2006, 06:07
....es hatte sich mir eigentlich schon beim Schreiben des Satzes selber erklärt. ;-)

Ich hatte mich gestern Mittag von einem Kollegen völlig in die Irre führen lasse, der meinte nämlich, jede GPS-Maus hat auch eine Kompassfunktion. Das gibt es auch wohl bei einigen Modelle, aber lange nicht bei Allen.

(Gestern übrigens noch probiert - Bei einer Veränderung zwischen zwei Wegepunkten wird in der Maus auch die Kompassinformation gebildet und gesendet, da muss man gar nicht selber rechnen.)

Ratber
17.02.2006, 15:17
....es hatte sich mir eigentlich schon beim Schreiben des Satzes selber erklärt. Zwinkern

Ja deswegen hab ich es nochmal "zufuß" angerissen und einige "eventualitäten" mit einbezogen.
Is nur ne Logische schlussfolgerung.



Ich hatte mich gestern Mittag von einem Kollegen völlig in die Irre führen lasse, der meinte nämlich, jede GPS-Maus hat auch eine Kompassfunktion. Das gibt es auch wohl bei einigen Modelle, aber lange nicht bei Allen.

Das merkt man sofort im Preis und bei der Werbung/Produktbeschreibung wird man gleich mit der Nase draufgestoßen. :wink:



(Gestern übrigens noch probiert - Bei einer Veränderung zwischen zwei Wegepunkten wird in der Maus auch die Kompassinformation gebildet und gesendet, da muss man gar nicht selber rechnen.)

Ja,die einfachste Methode.

Ich fahren ja relativ oft mit Navigator und der spuckt neben der Streckeninformation auch noch andere Daten wie Richtung,Geschwindigkeit usw. raus.
Wenn ich beim Start noch keinen Meter gefahren bin dann gibt es öfters mal nette Anweisungen weil er noch nicht weiß wie herum ich überhaupt stehe :D

Andree-HB
17.02.2006, 15:35
"Bitte fahren sie nach......ähh, nein...überhaupt mal los" ;-)

...ich puhle mir gerade die für mich relevanten Daten heraus, das geht so einfach und bequem, da komme sogar ich sofort mit klar... *g*

Ratber
17.02.2006, 15:50
Ja am besten kommt auf der Autobahn "Bitte Wenden sie JETZT" oder wenn die Straßenbauer mal wieder gewütet haben und die Kartenmaterialien nicht aktuell sind.

Gestern bin ich durch das Gewerbegebiet Duisburg Rahm gefahren und konnte dann sehen das vor 12 Monaten noch keine 5 Kreisverkehre auf dem 6km Teilstück existiert haben können :lol:

Freuh dich schonmal auf Galileo

Andree-HB
18.02.2006, 11:14
Hmm, jetzt habe ich das nächste Problem :

Zwischen der mit der Maus angezeigten Position und der tatsächlichen Position liegen sage und schreibe etwa 25km (!) Luftlinie Unterschied.

Angezeigte Position :
53.059372 N
8.492441 O

http://maps.msn.at/(xe22kq450sfij4u3wkt5fjyp)/map.aspx?&lats1=53.059372&lons1=8.492441&alts1=100&name=aktuelle%20Position®n1=1

wirkliche Position :
53.0988 N
8.8205 O

http://maps.msn.at/(xe22kq450sfij4u3wkt5fjyp)/map.aspx?&lats1=53.0988&lons1=8.8205&alts1=100&name=aktuelle%20Position®n1=1

...also ich erwarte ja nicht einen metergenauen Radius, allerdings sollte ich mich schon in der richtigen Stadt angezeigt fühlen ! ;-)

Ratber
18.02.2006, 13:14
Yo,das ist ein Bisken grob.

Ist die Abweichung konstant oder springt die Angezeigte Position einwenig umher ?

Antenne hat freie sicht ?

Sind die Koordinatenanzeigen auch gleich ? (Grad,Minute,Sekunde und Grad,Minute als Flieskomma ?)

BlaueLed
18.02.2006, 13:22
@Andree-HB:

hätte da mal 2 kleine Fragen:

1:
Auf dem bild ist dein LCD und die GPS maus zu sehen. ist das richtig ? ich dachte immer, man muss freie Sicht haben. Wie bekommste das denn in deinem Zimmer hin ? oder machste das mit einem GPS-Simulator ?

2: in welchen Zeitabständen kannste denn das GPS Signal aktuallisieren ? Kannste die Zeit Sekunde für Sekunde von der Maus auslesen ?

mfg Kay

Andree-HB
18.02.2006, 16:04
Die Anzeige ist ziemlich konstant...auch bei freier Sicht ändert sich so gut wie gar nix (auf dem Bild liegt die Maus 30cm vom Fenster, das reicht ihr für 4 Satelliten mit sehr gutem Empfang). Aber auch mitten im Zimmer habe ich sehr guten Empfang und die Anzeigewerte ändern sich korrekterweise auch ein bisschen.

Der Datenstrom kommt etwa einmal pro Sekunde, sieht so aus :


$GPGGA,142654.895,5305.9338,N,00849.2502,E,1,04,03 .7,13.1,M,40.8,M,,*55
$GPGSA,A,3,01,14,19,22,,,,,,,,,6.3,3.7,5.1*3B
$GPGSV,2,1,06,1,37,134,44,3,13,161,,14,42,078,38,1 9,48,174,40*7D
$GPGSV,2,2,06,20,30,229,,22,20,057,37,,,,,,,,*73
$GPRMC,142654.895,A,5305.9338,N,00849.2502,E,0.00, 260.88,160206,,,A*6F
$GPVTG,260.88,T,,,0.00,N,0.00,K,A*74
$GPGGA,142655.895,5305.9338,N,00849.2504,E,1,04,03 .7,12.8,M,40.8,M,,*5A
$GPRMC,142655.895,A,5305.9338,N,00849.2504,E,0.00, 260.88,160206,,,A*68
$GPVTG,260.88,T,,,0.00,N,0.00,K,A*74
$GPGGA,142656.895,5305.9338,N,00849.2505,E,1,04,03 .7,12.5,M,40.8,M,,*55
$GPRMC,142656.895,A,5305.9338,N,00849.2505,E,0.00, 260.88,160206,,,A*6A
$GPVTG,260.88,T,,,0.00,N,0.00,K,A*74
$GPGGA,142657.895,5305.9338,N,00849.2507,E,1,04,03 .7,12.3,M,40.8,M,,*50
$GPGSA,A,3,01,14,19,22,,,,,,,,,6.3,3.7,5.1*3B
$GPGSV,2,1,06,1,37,134,44,3,13,161,,14,42,078,38,1 9,48,174,40*7D
$GPGSV,2,2,06,20,30,229,,22,20,057,36,,,,,,,,*72
$GPRMC,142657.895,A,5305.9338,N,00849.2507,E,0.00, 260.88,160206,,,A*69
$GPVTG,260.88,T,,,0.00,N,0.00,K,A*74
$GPGGA,142658.895,5305.9338,N,00849.2506,E,1,04,03 .7,12.1,M,40.8,M,,*5C
$GPRMC,142658.895,A,5305.9338,N,00849.2506,E,0.00, 260.88,160206,,,A*67
$GPVTG,260.88,T,,,0.00,N,0.00,K,A*74
$GPGGA,142659.894,5305.9339,N,00849.2506,E,1,04,03 .7,12.1,M,40.8,M,,*5D
$GPRMC,142659.894,A,5305.9339,N,00849.2506,E,0.00, 260.88,160206,,,A*66


...der für mich erstmal relevante Block ist der "$GPRMC"

Ratber
18.02.2006, 20:24
Hmm.

So genau hab ich mich mit dem Thema noch nicht beschäftigt ausser der Anwendung auf Karten.

Was mir da so einfällt ist das man noch eine Korrektur einrechnen muß da die Erde ja eben keine Kugel sondern ein Elipsoid ist.
Wäre Möglich das du die Rechnung noch machen mußt.

Andree-HB
18.02.2006, 22:02
Hmm, das kann natürlich sein, dass in einer Kartensoftware eine komplett andere Berechnung durchgeführt wird und nicht nur die Klartext-Daten der Koordinaten zur Anzeige benutzt werden.

...doch mal wieder nicht so einfach, wie ich es mir vorgestellt habe... ;-)

luma
18.02.2006, 23:36
Hio.
Ich beschäftige mich schon länger mit GPS und Geodäsie. Die Koordinaten die du da oben angegeben hast, mit welchem Kartendatum/Kartenbezugssystem sind die errechnet? Standard ist eigentlich WGS-84. Varrieren beide, sind die Koordinaten natürlich nicht genau. So wie ich das auf dem Bild sehe, ist deine Maus ein relativ neues Modell und müsste daher eigentlich mit WGS-84 arbeiten wie das mit der Seite ist, die du da gepostet hast weiß ich nicht. Woran das sonst liegen könnte fällt mir im Moment leider nicht ein...

Ratber
19.02.2006, 10:28
@luma

Ja,genau den Gedanken hatte ich auch schon aber das wäre dann peinlich für den Anbieter wenn das Kartenmaterial nicht stimmen würde.
Warscheinlicher wäre schon das die Amis mal wieder aus irgendeinem Grund dran rumgedreht haben aber am Donnerstag bin ich mit dem Navi gefahren und alles hat prima geklappt.
Mit so einem Fehler wäre ich statt in Duisburg vermutlich in Moers gelandet.

@Andre

Sag mal wie du dort die Koordinaten eingegeben hast dann kann ich das mal für meinen Standort nachvollziehen.

Andree-HB
19.02.2006, 10:52
Sag mal wie du dort die Koordinaten eingegeben hast dann kann ich das mal für meinen Standort nachvollziehen.


http://gps.andres.li/gps.html

Ist einfach nur ein Frontend für die ASP-Abfrage der Microsoft-Map


Und das sind die technischen Daten meiner Maus :
http://www.xaiox.com/gps-x3.htm

PeterJ
19.02.2006, 12:54
Hi,

ich habe mal deine Empfänger-Koordinaten im Großen Reiseplaner 2003/2004 eingegeben und sehe da eine Straßenecke westlich des Parks. Wenn das dein tatsächlicher Standpunkt ist, dann stimmen wohl die Angaben bei MSN nicht.

Habe zur Zeit auch ein Projekt am laufen mit der Navilock BU-303 GPS-Maus. Dies ist eigentlich eine USB-Maus, hat aber auf der Platine Platz für einen MAX3232 (in SMD, ziemliche Fummelei da ein Kabel dranzulöten) vorgesehen wo ich das NMEA-Protokoll abgreifen konnte (aber 3.3V), dann 2 mal invertieren (74HCT04) und ich hab mein 5V Signal.

Bis jetzt habe ich Anzeige der Position, Zeit, Datum, Anzahl der verwendeten Satelliten und Geschwindigkeit, dabei nutze ich die Datensätze GGA, RMC, GSV, GSA und VTG. Problematisch ist dabei nur, dass man die gewünschte Info nicht immer an der selben Stelle im String findet, man muss ja oft den Teil-String zwischen 2 Kommas finden.
Komme aber sonst gut vorran...

Peter

Andree-HB
19.02.2006, 13:22
Bezüglich Koordinaten ist das eine klasse Info, danke ! Die stimmt dann nämlich doch soweit...Werde mich im Laufe der Woche mal nach einer günstigen Routing-Software zum selber nachkontrollieren umgucken.

Und das Auslesen der Datensätze habe ich bisher immer nur im Stand gemacht, da änderten sich die Positionen der Daten (bisher noch) nicht. Aber es wäre wohl wirklich eleganter, die Folge der Kommas zu zählen und nach dem Schema die relevanten Datenobjekte zu beziehen. Mal gucken...

Ratber
19.02.2006, 13:28
Ich hab auch mal etwas gefummelt.

Alle 5 Minunten inerhalb von 15 Minunten aufgenommen also 2x4 Werte um störungen auszuschließen.

Einmal die Daten direkt vom Empfänger (PDA mit integriertem Empfänger an Com1) und einmal die Koordinaten von der Navigationssoft (Navigon 2004).
Die jeweils 4 Werte in 15 Minunten hatten nur einmal bei den Direkten Werten eine Abweichung um eine Stelle.
Den Wert habe ich dann ignoriert.

Die Werte vom Empfänger und der Navisoft sind etwas unterschiedlich.
auf der Karte sind das aber nur gerademal 15-20m gewesen wobei die Koordinaten von der Navigationssoftware absolut korrelt sind wärend ich bei den direkten Daten des Empfängers auf der Kreuzung stehe (also 15-20m südlicher)

Also keine signifikanten unterschiede.

Ich bin aber zum Empfang ans Fenster gegangen.
1m hionterm Fenster bekomme ich dann schon massive Abweichungen und ich stehe am anderen Ende der Stadt.

Ich schlage mal vor die Koordinaten mit freier Sicht zum Himmel zu nehmen.

Die Sonne scheint also mach das Fenster auf :D

Andree-HB
19.02.2006, 14:41
Die Sonne scheint also mach das Fenster auf


...wir saßen eben schon zum ersten Mal dieses Jahr bei Kaffe & Kuchen auf der Terrasse, ich verkneife es mir da aber lieber, meinen Krams aufzubauen...gibt schon oft genug (auch berechtigt) leicht gnatschige Blicke von meiner Freundin. ;-)

Ratber
19.02.2006, 21:00
Na,irgendwann is das Kaffeekränzech sicher vorbei dann haste freie Bahn :wink:

Is doch ne Serielle Maus also kannste auch ohne Probleme ne 10m Strippe dranhängen und brauchst dir nicht einen abschnattern. :D


Ja,wie gesagt,probier das mal unter guten Bedingungen.
Ich hab an deinem Protokollmitschnitt nicht herausgefunden wo man die Zahl der empfangenen Sateliten ablesen kann.

So aus einfacher Beobachtung weiß ich das mit weniger als 3 Sateliten kaum was anzufangen ist und bei 3 die Daten nur mit vorsicht zu genießen sind.

Irgendwo steckt die Information aber.

PeterJ
20.02.2006, 05:35
Morgen,

Anzahl der verwendeten Satelliten:
$GPGGA,142654.895,5305.9338,N,00849.2502,E,1,04,03 .7,13.1,M,40.8,M,,*55

Nummern der verwendeten Satelliten:
$GPGSA,A,3,01,14,19,22,,,,,,,,,6.3,3.7,5.1*3B

Meine Maus gibt erst ab 3 Satelliten eine Position aus, nennt sich dann 2D-Fix, ab 4 Satelliten ist es dann ein 3D-Fix.

Peter

Ratber
20.02.2006, 06:36
Ja,genau das meinte ich.

Danke

Andree-HB
21.02.2006, 08:42
Öha, habe gerade was zum thema gefunden :

http://www.movable-type.co.uk/scripts/LatLongVincenty.html

Ratber
21.02.2006, 17:13
Yo,wenn ich die Koordinaten eingebe die ich oben erwähnt habe dann bekomme ich als strecke 20.426m für die Differenz.
Ich hatte zwar ca. 10-15m geschätzt (Laut Kartenansicht) aber es zeigt das es funktioniert.

Ja,scheint also ne brauchbare Lösung zu sein.

PeterJ
21.02.2006, 18:21
Und das ganze auch auf deutsch:
http://www.arndt-bruenner.de/mathe/scripts/sphaerischr.htm

Und zum NMEA-Protokoll:
http://www.nmea.de/nmea0183datensaetze.html

Die Berechnung von Entfernungen ist bei mir auch der nächste Schritt, bin mal gespannt ob die Genauigkeit von Singles ausreicht und ob die Berechnungen in angemessener Zeit ablaufen. Danach kommt dann das Speichern von Waypoints im EEPROM...

Peter

voidpointer
21.02.2006, 20:02
Hi Leute,

wollte nur fragen, ob das Rätsel schon gelöst ist oder der Preis noch zu haben ;-)

Also, die NMEA-Ausgabe der GPS-Maus ist 5305.9338,N,00849.2502,E
Das liest sich 53 Grad 5.9338 Minuten nörlicher Breite und 8 Grad 49.2502 Minuten östlicher Länge. Ist halt so. Gehört vermutlich zum NMEA-Standard.

60 Minuten sind 1 Grad, also sind 5.9338 Minuten gleich 0.098897 Grad usw. "5305.9338,N,00849.2502,E" entspricht demnach 53.098897 Grad Nord, 8,820837 Grad Ost.

wirkliche Position :
53.0988 N
8.8205 Oet voilà
Gruß, Achim.

Andree-HB
21.02.2006, 20:58
60 Minuten sind 1 Grad, also sind 5.9338 Minuten gleich 0.098897 Grad usw. "5305.9338,N,00849.2502,E" entspricht demnach 53.098897 Grad Nord, 8,820837 Grad Ost.


...Du bist somit der Abräumer des letzten Preises !

Also im Resumè - Alles wird gut ! :-)

Ratber
21.02.2006, 21:36
Aua,ja aufs einfachste kommt man mal wieder nicht. :lol: