NMEA GPS Protokoll auswerten, suche Software in C

Hallo!

Hat jemand eine ANSI C Bibliothek zur fehlertoleranten Auswertung des NMEA Protokolls von GPS M=E4usen, welche mit RS232 f=FCr PC erh=E4ltlich sind?

Wir, das sind 3 Ingenieure vom T=DCV Rheinland, die Spass an verr=FCckten Sachen haben, wollen unser Projekt wahrmachen, ein selbststeuerndes, unsinkbares kleines Boot zu bauen, ausger=FCstet mit einer ultraleichten, aufklebaren 30W Solarzelle, einem intelligenten Energy-Management, gen=FCgend Rechenpower dank ARM und einer kleinen Kamera mit mehreren Gigabyte SD Card Speicher und einem entsprechenden Motor, welches in der Lage ist gr=F6ssere Distanzen auf dem Meer zur=FCckzulegen. Der Weg soll dabei das Ziel sein, die Kosten bleiben recht =FCberschaubar, Probleme wie ein umgekipptes Boot sind noch zu l=F6sen aber wir studieren fleissig unkenterbare Designs, die es ja schon gibt.

Wer also schonmal so eine Software geschrieben hat doch bitte winken !

Gruss, Christian

Reply to
Christian Julius
Loading thread data ...

Christian Julius schrieb: ...

Darf ich das zitieren ? SCNR, Andy

Reply to
Andreas Weber

Christian Julius schrieb:

Hallo Christian, was bedeutet "fehlertolerante Auswertung"? Das NMEA Protokoll ist ja recht einfach gebaut. Dazu finden sich haufenweise C Libs unter GPL. Z.B.

formatting link
(System fürs Auto), dort unter CVS ngpsd/src nmea.c und nmea.h HTH Andy

Reply to
Andreas Weber

Wie w=E4r's mit GpsDrive, das enth=E4lt einen NMEA-Parser und ist OpenSource.

formatting link

Oder ihr schreibt den NMEA Decoder selber, was doch wirklich kein Act sein sollte. Ich habe letztes Jahr eine Bibliothek libNMEA angefangen, aber momentan ist die noch rudiment=E4r: Initialisieren der seriellen Schnittstelle unter POSIX-Systemen, einlesen von NMEA-S=E4tzen und Auswertung des allgemeinen Statussatzes. Noch keine Aufwertung des Position-Satzes und dem anderen interessanten Zeug. Ich hab immer dann daran gebastelt, wenn die Experimentalphysik-Vorlesung stinklangweilig war, d.h. wenn gerade Theorie durchgekaut wurde, die ich schon aus dem FF beherrsche. Die letzten 2 Semester waren aber sehr interessant und ich kannte das Zeug noch nicht.

Wolfgang Draxinger

--=20

Reply to
Wolfgang Draxinger

Hallo,

dank f=FCr den Hinweis! Leider ist das alles Linux Software, also schwer zu portieren auf Mikrocontroller C, denn es soll kein Betriebssystem verwendet werden, niemand von uns kann unter Linux programmieren. Ich habe es mir nochmal angeschaut, es m=FCsste wirklich mit String Funktionen zu schaffen sein. Probleme bereiten halt nur die =DCbertragungsfehler, diese Pr=FCfung wird also aufwendiger als die Decodierung werden. Wir brauchen nur Position und Geschwindigkeit, so dass sich zB Driften =FCber Meergrund berechnen l=E4sst usw. Ich frage mich jetzt schon, sollte das alles je Wirklichkeit werden, ob wir die Kiste je wiedersehen werden oder ob die maximalen 1000=80 ins Wasser gesetz sind ;-)

Gruss, Christian

Wolfgang Draxinger schrieb:

Reply to
Christian Julius

Hiho ;)

Da muss man aber scheinbar aufpassen, was das Seerecht so hergibt, siehe z.B.

formatting link

"Das drei Millionen Mark teure Gerät sollte zunächst mit zweiköpfiger Besatzung in einer ersten Testtörn nach Lissabon steuern und von dort ohne Besatzung zur ersten Weltumseglung weiterfahren. Da das Seerecht keine unbemannten Schiffe zuläßt, mußte zur "RelationShip" ein Begleitschiff beschafft werden, was die Kosten hochtrieb. So schrumpfte die Weltumsegelung zur Route über den Atlantik mit Begleitung."

Ich wollte nur mal darauf hinweisen :) - keine Ahnung inwieweit bei so einem kleineren Projekt da schon Probleme bestehen, ich habe nicht das geringste Wissen über Seerecht ;)

Ciao, Marcus

Reply to
Marcus Schmid

Christian Julius schrieb:

Dann schau dir doch wirklich mal den Source an. GPSdrive tarball ziehen, und dann NMEA.txt (enthält die Protokollbeschreibung) Nmea_parse.c und Nmea.h anschauen. Das ist auch auf dem µC zu implementieren. Nix BeSy relevantes.

Probleme bereiten halt nur die

Du erwartest Übertragungsfehler über RS232? Warum? Und selbst wenn die Übertragung ab und an gestört ist, die Plausibilitätsüberprüfung ist einfach. Und wenn ein unplausibler Satz kommt, kannst du ihn ja wegwerfen...

Gruß Andy

Reply to
Andreas Weber

Er ist ein T=DCV-Ingeniuer. Diese Leute sind auf alles gefasst und k=F6nnen es nicht glauben, das etwas einfach so mal funktioniert.

Kleiner Hinweis am Rande: NMEA ist ein Protokoll das f=FCr Navigationssysteme von Schiffen (also auch die ganz gro=DFen Dampfer) verwendet wird und bietet keinerlei Handshake oder =E4hnliche Ma=DFnahmen. Ist eigentlich auch nicht n=F6tig. =DCbertragungsrate sind 4800 Baud fest, unidirektional. Packst im Emf=E4nger einen quarzstabilisierten PLL drauf und =FCbertr=E4gst das ganze per Stromschleife. =DCbertragungsfehler sind da =E4usserst unwahrscheinlich.

Bei den paar cm vom GPS-Modul zum Mikrocontroller wird das auch kein gro=DFes Problem sein.

Was das Thema Linux angeht: Das l=E4uft auch auf ARM und gibt es in einer speziellen Embedded-Variante "=B5cLinux". Da die Navigation von einem Boot ohnehin kein harter Echtzeitjob ist (die GPS-Daten kommen bei einem klassischen NMEA-Empf=E4nger im

2-Sekundentakt) und doch relativ viele verschiedene Aufgaben zu bew=E4ltigen sind (automatische Takleage, Navigation, evtl. Kommunikation per Satellit(-entelefon), vielleicht ein kleines Radar?) w=E4re es nur konsequent, all diese Aufgaben in mehrere Einzelprogramme zu zerlegen, und diese dann in auf einem =B5CLinux laufen zu lassen. Anstatt Linux w=FCrde sich auch NetBSD anbieten, das noch 'ne Ecke kleiner ist.

Wolfgang Draxinger

--=20

Reply to
Wolfgang Draxinger

Dann gilt es eben als Treibgut, was halt nur den Nachteil hat, dass derjenige der es birgt es auch behalten darf.

Wolfgang Draxinger

--=20

Reply to
Wolfgang Draxinger

Wolfgang Draxinger schrieb:

Der ist gut! *grins* Aber es ist wirklich so, man wird so, je l=E4nger man die unwahrscheinlichsten Dinge erlebt.

Beispiel: Ein Widerstand f=E4llt laut MIL Spec mit einer 99,97 % Wahrscheinlichkeit nach hochohmig aus, es fehlen aber die 0,03%, die er mit Kurzschluss ausf=E4llt. Aus diesem Grunde darf da bei SIL2-3 Bewertungen kein Fehlerausschluss gemacht werden und wenn die Kunden durchticken, weil sie das nicht glauben wollen, eine Gl=FChbirne brennt ja auch immer durch, oder?

Wir werden das mit Linux mal durchsprechen, wahrscheinlich ist es nachher doch besser, wegen Multitasking und das Embedded Linux habe ich sogar.

Gruss, Christian

Reply to
Christian Julius

Kennzeichnet es doch als Mine, die will keiner haben.

Frank

Reply to
Frank Esselbach

Marcus Schmid schrieb:

e=20

Hallo,

Container die von einem Frachtschiff durch Sturm oder Wellen getrennt=20 wurden und nun alleine und unbemannt im Meer schwimmen, damit m=FCssen di= e=20 Schiffe auch zurechtkommen. Grosse Frachtschiffe halten die Kollision=20 mit einem treibenden Container hoffentlich aus, bei kleineren=20 Segelschiffen kann es =FCbler ausgehen. Das selbststeuernde, unsinkbare, kleine und unbemannte Boot wird bei=20 Kollisionen hoffentlich keine bemannten Schiffe versenken, kann aber=20 wohl dabei selbst leicht versenkt werden.

Bye

Reply to
Uwe Hercksen

Christian Julius schrieb:

en

Hallo,

ich f=FCrchte so ein Boot kann auch mal in folgende Lage kommen: Ein Sturm oder eine Str=F6mung die das Boot in Richtung einer K=FCste=20 dr=FCckt, dazu tagelang bedeckter Himmel das die Akkus ziemlich leer sind= ,=20 dann hat das Boot nicht mehr genug Energie f=FCr den elektrischen Motor u= m=20 sich von der K=FCste freizuhalten. Oder soll da ein Motor mit Diesel oder Benzin arbeiten? Anker werfen?

Bei den kleineren oder gr=F6sseren Testfahrten w=FCsste man ja gerne wo d= as=20 Boot ist, bei Testfahrten auf einem Binnensee kann man ja =FCber Funk ode= r=20 GSRM Handy regelm=E4ssig die GPS Position =FCbertragen, aber bei Fahrten =

=FCber gr=F6ssere Distanzen auf dem Meer m=FCsste es eine Verbindung=20 entsprechender Reichweite =FCber Inmarsat oder Iridium sein, das wird=20 nicht billig.

Bye

Reply to
Uwe Hercksen

Uwe Hercksen schrieb:

Das Ding ist doch per Definition unsinkbar, so wie die Titanic.;-)

CNR, Dieter

Reply to
Dieter Wiedmann

Gibt es schon, so teuer kann demnoch eine Inmarsat-Verbindung nicht sein (sind aber nur minimale Bitraten laut dem Zeitungsartikel zu einem solchen Boot). Irgendwie wird auf den Sat nach Bitrate bezahlt, weswegen 2400 Bps und

1200-300Bps durchaus noch Verwendung finden. Angeblich sollen diese Verbindungen auch nicht solche Stromfresser sein, wie die Hochgeschwindigkeitsverbindungen oder ueber Land (bei der Entfernung werden mal schnell einige 100 W Sendeleistung notwendig) (und eine automatische fernbediente Funkstation anzumelden ist auch kein Pappenstiel).

Ich wuensche noch viel Spass an der Sache und rate dazu, dass gut geklaut besser als schlecht selbst gemacht ist (es gibt schon einige solche "Modellboote" von Studierenden an Uni's gebaut, sogar ein Modellflugzeug hat es mal von der USA nach Europa geschafft [eines von zwei]). Zumindes einige Erfahrungsberichte sind öfftentlich. Ich finde es unnötig ein Rad zweimal zu erfinden, besser ist es diese Energien in die Verbesserung des erfundenen Rades zu stecken.

Reply to
Stefan Engler

Nö. Bavaria hat da vor Jahren mal Tests veröffentlicht. Dabei wurden Serienyachten mit 8 Knoten frontal und streifend auf Container gesetzt, die fast ganz getaucht vor sich hintrieben. Testergebnis: Die Boote mussten hinterher an der Kollisionsstelle frisch lackiert werden, strukturelle Schäden oder gar Lecks gab es keine.

Martin

Reply to
Martin Jangowski

Hallo Martin,

... und wenn dann der Winkel doch mal ungünstig sitzt... Solche Tests sagen nur, dass es möglich ist, das ganze ohne Leck zu überstehen. Der Umkehrschluß ist ungültig.

Marte

Reply to
Marte Schwarz

Uwe Hercksen :

Oder die Methode, die für die Überwachung des Vogelflugs eingesetzt wird. (Störche z.B.

formatting link
was kostet sowas eigentlich?) Dann brauchts noch einen Skipper im Team, der notfalls mal hinsegeln kann ;-). Nicht zu vergessen: eine Nahortung, um es anpeilen zu können.

M.

--
Bitte auf mwnews2@pentax.boerde.de antworten.
Reply to
Matthias Weingart

Christian Julius schrieb:

Das interessiert mich, wo kann ich das genauer nachlesen? (MIL Spec)

/Koarl

Reply to
Karl Kalchgruber

Hi Koarl,

Ja. Schon mal was anderes gesehen?

Ich hab das auch so bei persönlichen Gesprächen beim TÜV erfahren und berücksichtigen dürfen. Konkrete Hintergrund-Papers hab ich auch nie bekommen. Das ist so... Fertig. Ich kannmir bei manchen Fertigungstechniken sowas sogar vorstellen. Ein mehrlagig gewickelter Drahtwiderstand (der eigentlich eine Luftinduktivität ist ;-), da könnte man sich vorstellen, dass bei einer Ünerhitzung die Isolation wegschmilzt und dann das ganze niederohmiger wird. Oder eine Kuststoffisolierung, die verkokelt und damit parallele Strompfade schließt. Aber allgemein zu postulieren, 0,03% der Widerstände falle mit Kurzschluß aus, halte ich auch für blanken Unfug, der zu einem unnötigen Overhead an Sicherheitstechnik führt.

Ich lass mich gern belehren, aber dann bitte mit ein bischen Hintergrund und nicht nur, "das ist so..."

Marte

Reply to
Marte Schwarz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.