kickoff-blauerHimmel

GPS fasziniert mich irgendwie. Darum findet ihr auch schon einen anderen Post zu dem Thema. Nun geht es aber ums Selbermachen.
Als ich auf die Idee kam, einen kleinen GPS Tracker selbst zu bauen, dauerte es nicht lange, und der dazu benötigte und bestellte GPS Receiver traf bei mir ein. Natürlich liess ich keine Minute verstreichen um ihn auszuprobieren. Und nach kürzester Zeit erreichten die ersten Daten aus der Erdumlaufbahn meinen Mac via Arduino.


$GPGGA,212102,,N,,E,0,00,,,M,,M,,6F
$GPRMC,212102,V,,N,,E,,,250112,,,N
5F
$GPGGA,212103,,N,,E,0,00,,,M,,M,,6E
$GPRMC,212103,V,,N,,E,,,250112,,,N
5E
...

Die oben stehenden Hieroglyphen sind die rohen Daten des Receivers. Die einzelnen Zeilen werden NEMA sentence oder auch NMEA string genannt und transportieren die Daten. NMEA ist eine standardisierte Sprache, in der sich ein GPS Gerät ausdrückt. Ihre Anfänge hatte dieser Standard in der Schifffahrt, die aus diesen sentences alle Daten wie Längen- und Breitengrade, Geschwindigkeit, Zeit usw. liest. Der detaillierte Aufbau eines solchen Datensatzes findet man im web.

Bei näherer Betrachtung meines ersten übermittelten $GPRMC string musste ich ernüchtert feststellen, dass an der Position, an der ein A stehen sollte, ein V, nämlich eine Fehlermeldung, erschien. Ein A zeigt an, dass die Daten verlässlich und in Ordnung sind.


$GPGGA,212225,4707.4282,N,00853.7112,E,1,05,02.2,00714.0,M,048.0,M,,4E
$GPRMC,212225,A,4707.4282,N,00853.7112,E,000.0,000.0,250112,,,A
72
$GPGGA,212226,4707.4283,N,00853.7112,E,1,05,02.2,00714.0,M,048.0,M,,4C
$GPRMC,212226,A,4707.4283,N,00853.7112,E,000.0,000.0,250112,,,A
70
...

Den nächsten Versuch unternahm ich outdoor. Unter den leicht irritierten Blicken meiner Nachbarn stand ich mit MacBook in eisiger Kälte im Garten. Nach einer Minute Wartezeit wurde aus dem V wirklich ein A. Und tatsächlich erschienen die genauen Daten meiner Position in dem string. Als nächstes stand nun an, die rohen Daten in eine neue Form zu bringen, in der die relevanten Informationen herausgelesen sind.
Hierbei konnte ich glücklicherweise auf die tatkräftige Hilfe meines guten Freundes @stektograph zählen. Er schloss vor kurzem seine Elektronikerlehre ab und brachte das Wissen mit, dass ich benötigte. Ab jetzt war mein Projekt das unsere. Gemeinsam brachten wir dem Arduino bei, den einzelnen NMEA string zu erkennen. In dieser Form werden die gelieferten Informationen für ihn greifbarer.

Die nächsten Schritte betreffen das Abspeichern und Übermitteln an einen Webserver. Wir planen, die Daten auf einer SD-Karte zwischenzulagern und sie dann in einem festgelegten Intervall via mobiles Internet an einen Server zu übertragen. Das dazu benötigte Modul, welches beispielsweise mit der Swisscom kommuniziert, ist bestellt und hoffentlich bereits unterwegs.

Vielleicht entsteht ja auch noch eine Webseite, die die einzelnen Positionsangaben auf Google Maps zu einem Pfad verbindet. Zu welchem Zweck will ich noch nicht verraten.

Übrigens, blauerHimmel entstand aus der Erkenntnis, dass GPS indoor gar nicht funktioniert. Und demzufolge die Nerds wohl oder übel unter blauem Himmel tüfteln müssen. Den Code findet ihr bei jedem Wetter: github:blauerHimmel

gps-and-how-it-works

GPS ist ein System zur Positionierung, das aus dem modernen Alltag nicht mehr wegzudenken ist. Millionen von Geräten nutzen diese Technik bereits und es werden nicht weniger. Es gibt praktisch kein Smartphone mehr, in welches kein GPS Empfänger eingebaut wird. Auch die ganzen privaten Navigationsgeräte, die Linienbusse, die Züge der SBB, die Luft- und Schifffahrt alles verlässt sich aufs GPS. Sogar Grenzen werden mit Hilfe des Systems gezogen. Doch wer weiss, wie es genau funktioniert oder wer es kontrolliert?

Um euch die Funktionsweise des GPS (Global Positioning System) ein wenig näher zu bringen, folgt hier eine knappe Erklärung. Momentan befinden 32 Satelliten in der Erdumlaufbahn. Sie umkreisen die Erde in einer Höhe von durchschnittlich etwa 20200 km. In 12 Stunden ist der einzelne Satellit einmal um die Erde gekreist, das ist eine Geschwindigkeit von 3.9 km/s. Die Anzahl der Satelliten berechnet sich daraus, dass immer und überall auf der Erde mindestens vier sichtbar sind inkl. ein paar, die für den Ersatz vorgesehen sind. Hier könnt Ihr ein paar der GPS-Statelliten, die übrigens alle NAVSTAR heissen, in Echtzeit verfolgen.

An Bord befindet sich eine Atomuhr, die für die exakte Zeit zuständig ist. Zusätzlich weiss der Satellit genau, wo er sich befindet. Diese Daten sendet er an die Erde. Das passive Empfängergerät, z.B. ein Smartphone, liest dieses Signal und errechnet mit der Sendezeit der Nachricht, wie lange das Signal unterwegs war und dementsprechend den genauen Abstand zum Satelliten. Jetzt entsteht auf der Erdoberfläche ein virtueller Kreis von möglichen Punkten, die alle die gleiche Entfernung zum Sender-Satelliten haben. Mit zwei weiteren Signalen von zwei weiteren Satelliten kann nun der einzig mögliche Schnittpunkt errechnet werden. Der vierte Satellit dient der Korrektur von Uhrenfehler und Ungenauigkeiten.
gps trilaration
Doch wer steht hinter GPS? Wer kontrolliert das meist verwendete Navigationssystem? Es ist die US-Airforce. Sie könnten frei nach Lust und Laune Teile oder die ganze Welt ins Chaos stürzen, indem Sie das Signal verfälschen oder gänzlich verweigern. Die US-Airforce hat somit ein Instrument in der Hand, auf welches sich die ganze Welt verlässt.

Aus diesem und anderen Gründen lancierte die ESA (European Space Agency) dieses Jahr ihr eigenes Positionierungssystem. Es nennt sich Galileo und wird im Gegensatz zu GPS nicht von militärischen Organisationen kontrolliert. Zwei Galileo-Statelliten umkreisen die Erde bereits.

Wer gerne tiefer in die GPS-Thematik eintauchen will findet unter kowamo.de/gps alles, was er wissen will.