Hallo Leute, ich wag mich auch mal ins Forum :) Bei mir besteht folgendes Problem: Ich möchte die Position eines Gerätes mittels GPS Modul auf meinem PC (zum Beispiel daheim) bestimmen. Ich habe 2 Module zur Auswahl gefunden: Das Venus GPS Modul von Wetterott, oder von Alibaba: http://www.alibaba.com/product-gs/907401759/SIMCOM_GPS_GLONASS_QZSS_Galileo_Module.html Ich benutze ein Arduino-UNO board mit einem ATmega328 Meinem Wissen nach muss ich eine Website erstellen, damit ich mit meinem PC kommunizieren kann, außerdem muss ich die Daten vom GPS-Modul auch übersetzen. Könnt ihr mir weiterhelfen? mfG Tom
Tom V. schrieb: > Meinem Wissen nach muss ich eine Website erstellen, damit ich mit meinem > PC kommunizieren kann, Hä? Was hat das eine mit dem anderen zu tun? Das eine ist ein GPS Modul, welches deinem Programm die aktuelle Position zur Verfügung stellt. Was du dann mit dieser Position weiter machst, insbesondere wie du die zu deinem PC kriegst, ist eine ganz andere Geschichte und hat erst mal nicht das geringste mit GPS zu tun. Wenn du mit einem Temperatursensor die aktuelle Temperatur messen würdest und die irgendwie zum PC schaffen willst, würde dieser Teil der Aufgabe auch nicht anders aussehen. > außerdem muss ich die Daten vom GPS-Modul auch > übersetzen. Ja, das soll vorkommen. Deswegen nennt man das ganze ja auch programmieren und nicht 'Malen nach Zahlen'
Danke, für die schnelle Antwort. Vielleicht hätte ich vorhinein schon erwähnen soll, dass ich Schüler bin und so gut wie kein Grundwissen habe. Mein Frage momentan lautet, kann ich mit einem dieser 2 Module überhaupt etwas anfangen? Oder sind die, für meine Anwendung total falsch? Weiters, wo kann ich tutorials finden womit ich so etwas realisieren kann? Ich suche im Internet schon seit langem, aber alles was ich finde sind Hello World funktionen. mfG Tom
Danke für die schnelle Antwort. > Das eine ist ein GPS Modul, welches deinem Programm die aktuelle > Position zur Verfügung stellt. Das ist mir klar, aber, wie mache ich diese Daten für mich lesbar? Also so, dass ich dann auch was damit anfangen kann? Einfach anstecken und hoffen dass etwas passiert, wird wohl nicht klappen Ich bin ein Schüler mit wenig Grundwissen, bitte um ein paar Erklärungen. Hab auch in diesem Forum versucht mich zu orientieren, bevor ich etwas reinschreibe, bin aber nie zu einer Lösung meines Problems gekommen.
Tom V. schrieb: > Mein Frage momentan lautet, kann ich mit einem dieser 2 Module überhaupt > etwas anfangen? Das kann ich nicht sagen. Das hängt hauptsächlich davon ab, wie gut du bereits bist. Dir fehlt noch eine 3-te Komponente. Nämlich die KOmponente, wie du jetzt Daten vom Arduino zum PC kriegst. Denn der Teil ist mit den beiden bisherigen Teilen nicht abgedeckt. Bis jetzt hast du nur eine autonome Elektronik, die feststellen kann, wo sie ist. Aber wie gehts jetzt weiter? Wie übermittels diese Elektronik ihre Erkentnisse? Kabel? Funk? Handy-Netz? > Weiters, wo kann ich tutorials finden womit ich so etwas realisieren > kann? Da spielen meherer Komponenten zusammen. Daher wird es da, schätze ich mal, kein Tutorial geben. Das ist so wie "Ich suche ein Tutorial für das Streichen eines Gartenzaunes". Sowas wird es nicht geben. Wer mit Pinsel umgehen kann und einen Farbtopf sauber öffnen kann, wer weiß wie der Untergrund behandelt werden muss, der kann auch einen Gartenzaun streichen. Auch wenn er vorher kein Tutorial darüber gelesen hat. > Ich suche im Internet schon seit langem, aber alles was ich finde sind > Hello World funktionen. Ja. Weil dort nun mal alles anfängt. Was du machen willst, ist schon längst kein Einsteigerprojekt mehr.
> Da spielen meherer Komponenten zusammen. Daher wird es da, schätze ich > mal, kein Tutorial geben. So wie ich das verstehe, bin ich nun wieder auf mich selbst gestellt und muss irgendwie darauf kommen irgendetwas zu programmieren. Mir ist klar, dass dies keine Einsteigerfunktion ist, ich suche auch nicht nach einer Copy-&-Paste Lösung. Nur ich weiß nicht, wie ich anfangen soll. oder eher wo .. mfG Tom PS: Trotzdem Danke für die Ratschläge :)
Tom V. schrieb: >> Da spielen meherer Komponenten zusammen. Daher wird es da, schätze ich >> mal, kein Tutorial geben. > > So wie ich das verstehe, bin ich nun wieder auf mich selbst gestellt und > muss irgendwie darauf kommen irgendetwas zu programmieren. So läuft das nunmal, nenn man Entwicklung. Ansonsten musst du ein fertiges Projekt mit Step by Step Bauanleitung suchen. > Nur ich weiß nicht, wie ich anfangen soll. oder eher wo .. Mit den Grundlagen. Die hast du momentan nicht. Ohne Grundlagen kein solches Projekt. Ganz einfach.
Tom V. schrieb: >> Da spielen meherer Komponenten zusammen. Daher wird es da, schätze ich >> mal, kein Tutorial geben. > > So wie ich das verstehe, bin ich nun wieder auf mich selbst gestellt und > muss irgendwie darauf kommen irgendetwas zu programmieren. Ja. Aber nicht heute und auch nicht morgen. Irgendwann, vielleicht im späten Frühjahr oder Sommer bist du dann soweit, das nötige Wissen zu haben um ein derartiges Projekt stemmen zu können. > Mir ist klar, dass dies keine Einsteigerfunktion ist, ich suche auch > nicht nach einer Copy-&-Paste Lösung. Darauf wird es aber momentan hinaus laufen. Also: auf eine Copy&Paste Lösung > Nur ich weiß nicht, wie ich anfangen soll. oder eher wo .. Mit einem C-Lehrbuch (oder einem C++ Lehrbuch), einem Compiler für den PC und einer gehörigen Portion Geduld und Lernwille. Sorry. So íst das nun mal. Wer etwas bauen will, muss zuerst die Grundlagen lernen. Wer bei DSDS vorsingt, hat Talent in die Wiege gelegt bekommen. Aber alle anderen mussten das, was sie vorführen auch erst mal lernen. Nur das heute keiner mehr die vielen tausend Trainingsstunden mehr sieht, die irgendwelche Akrobaten gebraucht haben um so gut zu werden, wie sie sich auf der Bühne präsentieren. Da sieht das alles dann ganz leicht aus.
> Bis jetzt hast du nur eine autonome Elektronik, die feststellen kann, wo > sie ist. Das bedeutet im Grunde genommen, muss ich erstmal das Ding anschließen, Daten im Programm auslesen lassen, und dann erst wo hin schicken. Wo ist egal, das entscheide ich nachdem es bisher funktioniert? Ich melde mich wieder wenn weitere Probleme auftreten, danke :)
Du brauchst GPS mit UART, nen µC der das NMEA Protokoll zu einer SMS umwandet und per GSM modul verschickt. Das GSM Modul sollte also auch über UART anzu sprechen sein. Da wär es dann also einfacher wenn der µC zwei UARTs hat. Einen für GPS Modul und einen fürs GSM Modul. Natürlich kann man statt des GSM Moduls auch andere übertragungsmöglichkeiten nutzen (WLAN usw.)
cyblord ---- schrieb: > Mit den Grundlagen. Die hast du momentan nicht. Ohne Grundlagen kein > solches Projekt. Ganz einfach. Mir ist das bewusst. Leider habe ich nicht die unendliche Zeit. 'Grundlagen' habe ich schon, ich habe nur schwierigkeiten. Ich hab keine Ahnung, ich hab nur 'ungefähr' eine Ahnung. Wenn ich mir ein Programmcode von jemanden durchlese, der so etwas programmiert hat, krieg ich erstmal Kopfschmerzen und schließe das ganze wieder. Trotzdem Danke für eure Hilfe, ich werde mich wieder melden, wenn ich etwas brauchbares geschafft habe :)
Nen guter anfang wäre z.B. ein Hello World über UART. Das NMEA braucht der µC warscheinlich gar nicht zu interpretieren, sondern kann es einfach 1 zu 1 so weiterschicken. Das GSM Modul muß jedoch Konfiguriert werden z.B. Telefonnummer wo das Paket hingeschickt wird, wiederholung wenn kein Netz da usw. nen Timer im µC der in bestimmten intervallen die Position versendet. Eventuel ne Konfigurationsmöglichkeit per SMS von verschiedenen Parametern ... usw.
Das GPS Modul gibt dir über eine serielle Schnittstelle die NMEA Strings aus. http://de.wikipedia.org/wiki/NMEA_0183 Ich würde mich erst mal in den Arduino einarbeiten und die serielle Schnittstelle verwenden. Das von Ali würde ich für einen Anfänger nicht empfehlen, da du auf der PCB eine Leiterbahn mit kontrollierter Impedanz zur GPS Antenne brauchst. Ein HF taugliches Layout habe ich noch nie erstellt, es soll aber kompliziert sein. Bei dem von watterott brauchst du auch noch eine Antenne. Schau dir mal dieses GPS Modul an: http://www.mr-lee-catcam.de/pe_cc_i6.htm Es hat die Antenne bereits eingebaut. Es läuft auch mit 5V, du musst es also nur noch mit deinem Arduino verbinden und Programmieren. Vllt. findest du auf dieser Website das was du brauchst fertig zu kaufen… Und die Daten vom GPS-Empfänger zum PC würde ich über ein GSP Moden machen und z.B. eine E-Mail Damit schreiben. Ich würde mich aber erst in den Arduino einarbeiten und etwas mit der seriellen Schnittstelle machen, bevor du das GPS und das GSM Modul kaufst.
Tom V. schrieb: > Das ist mir klar, aber, wie mache ich diese Daten für mich lesbar? Die Daten kannst du mit jedem Terminalprogramm (z.B. HTerm) auf dem PC lesen. Du kannst auch einen µC nehmen, daran ein LCD-Display anschließen und den benutzen, um sie dort anzugucken. Vorher mußt du dich um die physikalische Schnittstelle kümmern (Datenübertragungsrate, Spannungspegel, Logikpegeldefinitionen, evtl. Schnittstellenwandler Seriell auf USB)
Uwe schrieb: > Nen guter anfang wäre z.B. ein Hello World über UART. ich glaub du rettest mir das leben :D >Schau dir mal dieses GPS Modul an: >http://www.mr-lee-catcam.de/pe_cc_i6.htm hahaha, was ein zufall, grad dasselbe hatte ich in einem anderen fenster offen, danke! Jetzt weiß ich, dass es für mich doch brauchbar ist :P Das mit der Auslesung der Daten, bzw. der Ortung am PC, da lasse ich mir noch etwas einfallen, mit dem befasse ich mich erst später. Zuerst, wie du sagtest, kommt eine Lehrstunde über die Serielle Schnittstelle :) Danke! mfG Tom Falls ihr weitere Vorschläge habt, nur her damit, ich nehme alles auf so gut ich kann, ich bin Lernwillig und setz mich rein so gut es mir möglich ist. Ich habe außerdem in den kommenden Wochen sehr viel Zeit (Weihnachtsferien, oder wie ich sie nenne: Arbeitswochen :D)
Nutze deine Jungen Jahre um dich für was zum Wohle der Menschen einzusetzen und nicht für Überwachung! Davon haben wir schon genug. Immer diese Überwachung, wir haben in der Firma Autos die sind auch überwacht, die Signale per Mobilnetz abgesetzt. Das Teil ist hinter dem Radio verbaut und dröhnt natürlich schön im Faradyschen Käfig einen den Kopf zu, alle drei Minuten, regelmäßig Kopfschmerzen vorprogrammiert. Aufm Monitor guckt gar keiner mehr. Die Fragen per Telefon nach weils schneller geht. Es dauert nur noch ein paar Jahre, dann darf man das Wort nicht mehr Aussprechen..
Klaus K. schrieb: > Nutze deine Jungen Jahre um dich für was zum Wohle der Menschen > einzusetzen und nicht für Überwachung! Davon haben wir schon genug. Ich vertrete deine Meinung, und das stimmt wohl, dass wir echt zu viel davon haben. Aber bei mir ist dieses Projekt sehr wichtig. Ich kann nicht mehr Details geben, sorry :( Aber ich kann dir versichern, es ist zu einem guten Zweck ;)
Ingo P. schrieb: >> Ich kann nicht mehr Details geben, sorry :( Das gefällt mir immer gut... Jemand will Hilfe, will aber nicht genug Details herausgeben, dass man ihm vernünftig helfen könnte.
M. H. schrieb: > Jemand will Hilfe, will aber nicht genug > Details herausgeben, dass man ihm vernünftig helfen könnte. Das ist es nicht, ich werde keine Details um die genaue Nutzung bis hin zum vollständigen Projekt, was aber die Funktion des GPS-Moduls angeht, kann ich gerne alle Fragen beantworten :-) mfG Tom
> es ist zu einem guten Zweck
Lehrer orten?
Netiquette heißt auch, daß man gescheite Fragen stellt um gescheite
Antworten zu bekommen. Die GPS-Auswertung eines Fußballs hat andere
Anforderungen als verfolgen einer langsamen Weinbergschnecke.
oszi40 schrieb: > Die GPS-Auswertung eines Fußballs hat andere > Anforderungen als verfolgen einer langsamen Weinbergschnecke. Das zu überwachende Gerät befindet sich zuerst in einem Auto und danach folgt eine kurze Fußstrecke
Tom V. schrieb: > Das zu überwachende Gerät befindet sich zuerst in einem Auto und danach > folgt eine kurze Fußstrecke Schirmt das Autodach das GPS Signal nicht ab, wenn das Teil nicht auf dem Armaturenbrett liegt?
> > Schirmt das Autodach das GPS Signal nicht ab, wenn das Teil nicht auf > dem Armaturenbrett liegt? jetzt wo du es sagst :/ ich informier mich nochmal und melde mich danach wieder :)
Mach doch einfach eine Android App und nimm ein Smartphone. Da hast du GPS und kannst gleich per Datennetz die Position raussenden. Selber so ein Gerät zu bauen wirst du nicht schaffen. Und warum auch? Da hast du alles drin was nötig ist. Und ältere, aber passende Geräte, bekommt man um die 100 Euro. > Schirmt das Autodach das GPS Signal nicht ab, wenn das Teil nicht auf > dem Armaturenbrett liegt? Quatsch. Mein Ace 2 hat überall im Auto GPS Empfang.
cyblord ---- schrieb: > Quatsch. Mein Ace 2 hat überall im Auto GPS Empfang. Ja dein Handy, aber nicht GPS-Module, hab auch schon öfters gelesen, dass eine freie Sicht zum himmel für diese Module wichtig ist. >nimm ein handy Nein sry, darum geht es ja, dass ich es auf 'komplizierter art und weise mache'
cyblord ---- schrieb: > Quatsch. Mein Ace 2 hat überall im Auto GPS Empfang. Meins (auch Ace2) nicht.
Tom V. schrieb: > cyblord ---- schrieb: >> Quatsch. Mein Ace 2 hat überall im Auto GPS Empfang. > > Ja dein Handy, aber nicht GPS-Module, hab auch schon öfters gelesen, > dass eine freie Sicht zum himmel für diese Module wichtig ist. > >>nimm ein handy > > Nein sry, darum geht es ja, dass ich es auf 'komplizierter art und weise > mache' Dass dürfte für dich kompliziert genug werden denke ich....
Also hallo nochmal, es hat einige Zeit gedauert bis ich zum GPS-Modul gekommen bin und ein bisschen damit probiert habe. Momentan habe ich folgendes Problem: Ich wollte mir (wie vorgeschlagen) so etwas wie ein Hello World Programm über UART anschauen und danach selber testen. Ich habe etwas gefunden, zwar wurde dies mit einem anderen GPS Modul gemacht, aber ich denke das dürfte doch mit meinem auch gehen? Ich habe ein Skytraq St22. Und das ist das Programm:
1 | #include <SoftwareSerial.h> |
2 | |
3 | #define rxPin 10
|
4 | #define txPin 11
|
5 | |
6 | |
7 | SoftwareSerial mySerial(rxPin, txPin); |
8 | |
9 | void setup() { |
10 | Serial.begin(57600); |
11 | mySerial.begin(9600); |
12 | |
13 | |
14 | }
|
15 | |
16 | void loop() { |
17 | if (mySerial.available()) { |
18 | Serial.write(mySerial.read()); |
19 | |
20 | |
21 | }
|
22 | }
|
Laut dem Programm, sollte ich ja die Pins 1 und 2 mit den Arduino Pins 10 und 11 verbinden. Wenn ich versuche von Pin 11 die Daten zu lesen kommt das heraus: .0000,E,000.0,000.0,280606,,,N*7C $GPVTG,000.0,T,,M,000.0,N,0þ https://sites.google.com/site/wayneholder/self-driving-rc-car/navigating-with-gps Das ist die Seite woher ich den Code habe, ja ich weiß er verwendet ein anderes Modul, ist das ein großer Unterschied? Ich konnte feststellen dass $GPVTG ein Format der NMEA 0183 Sprache ist, und das ist an und für sich gut, jedoch steht am Anfang, also bei der ersten Zeile, nichts. Woran liegt das? Schonmal Danke im Vorraus für jeden Tipp den ihr mir geben könnt. mfG Tom PS: Falls ich zu einer Lösung komme, werde ich diese auf jeden Fall hier gleich rein posten.
Ok, nach weiterem aktualisieren des Konsolenfensters kamen diese Daten: $GPGGA,120103.000,2400.0000,N,12100.000ð Kann ich das verhindern, dass ständig was anderes kommt? Das Signal sieht zwar schon einigermaßen besser aus als am Anfang wo nur xo xo xo xo xox oxoo xo stand, aber es ist noch um einiges zu wenig. Kann es sein, dass ich das Falsche Programm dafür verwende? Kann es sein, dass der Skytraq in einem Gebäude, bzw. bei nicht offener Sicht auf den Himmel, einen nicht ausreichenden Empfang hat? Und dass es deswegen 'komische' Daten sendet anstatt der gewünschten NMEA Sentences?
Tom V. schrieb: > $GPGGA,120103.000,2400.0000,N,12100.000ð > > Kann ich das verhindern, dass ständig was anderes kommt? Das einfachste wäre, nur das auszuwerten was du brauchst und den Rest zu ignorieren.
Max H. schrieb: > Das einfachste wäre, nur das auszuwerten was du brauchst und den Rest zu > ignorieren. Das habe ich mir auch gedacht, aber das Problem ist ja der, dass immer etwas anderes raus kommt, deswegen halte ich diese Daten für nicht zuverlässig. Außerdem, wenn ich die Auswertung nicht falsch gemacht habe, dann zeigt mir mein GPS Modul an, dass es 12:01 Uhr ist. Und das um ca. 10 Uhr. Laut Internet sollte er UTC anzeigen, das heißt 1 Stunde früher, der zeigt mir aber 2 Stunden später an, was hinten und vorne nicht zusammen passt.
Nach längerer Suche kam ich auf einen guten Hinweis^^ Man muss ja dem Gps-Modul erstmal ein Befehl geben, was er anzeigen soll. Also er braucht einen input am RX damit er am TX was ausgeben kann. Jedoch bin ich mir noch nicht ganz sicher wie ich in Arduino diese schreiben soll..
Tom V. schrieb: > Nach längerer Suche kam ich auf einen guten Hinweis^^ > > > Man muss ja dem Gps-Modul erstmal ein Befehl geben, was er anzeigen > soll. Das wär mir in dieser Allgmeinheit neu. Die GPS-Module, die ich bisher in den Fingern hatte, hat man an die Versorgungsspannung angeschlossen und ab dem Zeitpunkt (manchmal auch erst nachdem sie einen Fix hatten) haben sie ihren NMEA Sermon rausgelassen. Was man bei manchen konfigurieren kann, das sind Zusatzinformationen, die das Modul rausgibt. Aber den üblichen Datensatz, in dem die Position angegeben ist, den blasen sie ungefragt raus (manche erst nachdem sie einen Fix haben, also wissen wo sie sind) > Also er braucht einen input am RX damit er am TX was ausgeben kann. > > Jedoch bin ich mir noch nicht ganz sicher wie ich in Arduino diese > schreiben soll.. So, so. Wie sicher bist du dir denn? 30%, 50%, 70%. :-) Wir sind nicht blöd. Wir erkennen ein "Bitte schreibt mir das!" auch dann, wenn du es in Floskeln versteckst. Aber keine Sorge. In deiner Anwendung ist das höchst wahrscheinlich gar nicht nötig. In den Datensätzen, die die GPS-Module ungefragt rausgeben, ist alle Information enthalten, die du brauchst.
Tom V. schrieb: > $GPGGA,120103.000,2400.0000,N,12100.000ð Wenn das alles ist, was du kriegst, dann hast du sowieso ein Problem. Ein vollständiger GPGGA Datensatz sieht so aus
1 | $GPGGA,191410,4735.5634,N,00739.3538,E,1,04,4.4,351.5,M,48.0,M,,*45 |
Solange du das nicht in dieser Form hast, ist es sinnlos über weitere
Dinge nachzudenken, weil dann deine Software-Serial schon mal nicht
korrekt arbeitet.
> Kann ich das verhindern, dass ständig was anderes kommt?
Im GPGGA steht drinnen, ob die Positionsdaten gültig sind oder nicht.
Solange da kein Gültigkeitsvermerk vorhanden ist, kannst du also die
Daten verwerfen. Wenn das GPS Modul einen Fix hat, werden sich auch die
Koordinatenangaben nur noch im Rahmen der GPS Ungenauigkeit verändern.
Karl Heinz schrieb: > Tom V. schrieb: > >> $GPGGA,120103.000,2400.0000,N,12100.000ð > > Wenn das alles ist, was du kriegst, dann hast du sowieso ein Problem. > Ein vollständiger GPGGA Datensatz sieht so aus > >
1 | > $GPGGA,191410,4735.5634,N,00739.3538,E,1,04,4.4,351.5,M,48.0,M,,*45 |
2 | > |
> > Solange du das nicht in dieser Form hast, ist es sinnlos über weitere > Dinge nachzudenken, weil dann deine Software-Serial schon mal nicht > korrekt arbeitet. > Das war mir schon klar, deswegen habe ich versucht nach einer Lösung zu suchen. Ich habe noch einmal versucht meine Schaltung zu untersuchen und es kam heraus dass ich die RX und TX PINs vertauscht hatte, deswegen das verhalten. Trotzdem danke, nun funktioniert es so wie es sollte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.