Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Schaltungen mit dem Raspberry Pi

Per GPS-Modul die Geoposition ermitteln

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit einem GPS-Modul können Sie nicht nur exakte Positionskoordinaten ermitteln sondern auch Höhe und Geschwindigkeit.
07:24

Transkript

Wo bin ich eigentlich? Auch bei dieser Frage kann Ihnen der Raspberry Pi helfen und zwar mit so einem GPS-Sensor, wie Sie den z.B. aus Ihrem Smartphone kennen. Der macht genau dasgleiche, d.h. er nimmt Kommunikation auf mit einem Satelit, mit einem GPS-Sateliten in Orbit und meldet mir dann einfach die genaue Geoposition von mir auf der Erde zurük. Wie schließe ich das Ganze jetzt an einen Computer an? Dafür brauche ich hier dieses TTL USB-Kabel. Das sieht so aus: auf der einen Seite habe ich einen ganz normalen USB-Anschluss, und auf der anderen Seite habe ich vier verschiedene Kabel, und die stecke ich jetzt mal hier auf diesen Sensor auf. Sie sehen jetzt noch mal hier eingeblendet in der Schaltung, achten Sie darauf, es kann sein, dass bei Ihnen die Beschriftung auf dem GPS-Sensor ein bisschen anders ist, wenn Sie ein neueres Model haben. Dass Sie z.B. das schwarze Kabel direkt auf Ground aufstecken, dass Sie das rote Kabel auf VIN einstecken. Das grüne Kabel, das kommt auf RX und das weiße Kabel, das kommt dann auf TX. Jetzt bleibt mir eigentlich nur noch übrig, dass ich das USB-Kabel hier dem Raspberry Pi anschließe, und damit ist der Hardware-Aufbau eigentlich fertig. Es kann sein, dass dieser GPS-Sensor innerhalb von geschlossenen Räumen nur ein sehr schwaches Signal vom Sateliten bekommt, dann hilft eine Antenne, die Sie auch hier aufbringen können. Da wird das Signal auch eben in geschlossenen Räumen besser. Wenn Sie das Ganze unterwegs verwenden, dann kann es gut sein, dass Sie ohne Antenne auskommen. Das ist der Hardware-Aufbau, und als nächstes schauen wir jetzt mal an, wie wir die Software programmieren, um diesen Sensor auszulesen. So, der Sensor ist eingesteckt, ich bin jetzt hier im Raspberry eingeloggt. Und zunächst einmal möchte ich überprüfen, ob Raspberry überhaut diesen Sensor korrekt erkennt. Dazu gehe ich mal nach dev/ttyUSB0 wird hier korrekt erkannt. Das heißt, der Sensor wird am Raspberry korrekt angemeldet. Und es gibt ja die Linux-Philosophie, dass alles eine Datei ist, also kann ich mir auch den Inhalt dieses Sensors anzeigen lassen, als wäre er eine Datei einfach mit dem Befehl cat und dann gebe ich hier eben dev/ttyUSB0 an. Und Sie sehen hier laufen jetzt die Sensordaten, der Reihe nach rein, mit ˄c breche ich das Ganze mal ab. Und schauen wir mal in so eine Zeile hier hinein beispielswiese. Hier sehen wir die Information, dass wir uns auf 48 Grad Nord und 11 Grad östliche Breite befinden. Das bedeutet, der Sensor arbeitet richtig, und in diesem Falle liefert er mich auch die richtigen Daten zurück. Sie sehen, diese Daten sind hier alle korrekt, ich könnte damit mit python arbeiten, aber ich bin grundsätzlich ein etwas fauler Mensch und deswegen möchte ich mir noch ein bisschen Zusatzsoftware installieren, die mir das Lesen dieser Daten erleichtert. Diese Software heißt GPS Daemon, und die installiere ich mit install gpsd. Dann holen wir uns noch den passenden Client zu diesem Daemon dazu und dann noch ein paar python Bibliotheken. Dauert bei mir nicht lange, denn ich habe das Ganze ja schon mal vorbereitet. Jetzt starten wir mal diesen Daemon mit dem Befehl sudo gpsd und dann geben wir an, auf welchem USB-Port der Chip eingesteckt ist und wo die Socket-Datei hingeschrieben weden soll. Wenn ich diesen Befehl abschicke, passiert nichts weiter, denn so ein Daemon, der arbeitet ja im Hintergrund, und wenn ich mir jetzt diese Daten anzeigen lassen möche, dann benutze ich den Befehl cgps-s, dafür brauche ich kein sudo. Und Sie sehen jetzt hier die Informationen, die mir der Chip zurückliefert und zwar in einer schönen, übersichtlichen Art und Weise. Meine geographische Breite, meine geographische Länge, meine Höhe, ja sogar eine Geschwindigkeit wird angezeigt. Das sind so kleine Messungenauigkeiten, die dieser Chip hier liefert, denn tatsächlich bewege ich mich momentan ja gar nicht. Mit ˄c breche ich das Ganze ab. Und wenn ich diesen Daemon jetzt schlißen wollte oder beenden wollte, dann könnte schreiben killall gpsd, und damit würde dieser Daemon noch tatsächlich beendet werden. Mache ich nicht, denn ich möchte jetzt mit diesem Daemon arbeiten, und wir python auf diese Informationen zugreifen. Dazu öffne ich jetzt mal ein Editor und dann das Ganze jetzt gpscode.py Achten Sie darauf, dass Sie diesen python Code nicht gps.py nennen, denn wir werden später eine Bibliothek importieren, die genau diesen Namen gps hat. Und wenn wir diese Datei hier auch so nennen würden gps.py, dann gäb's Komplikationen, weil diese Library dann nicht mehr eindeutig wäre. Also nano gpscode.py. Das hier ist jetzt der Code. Mit diesem Code kann ich jetzt per python auf diesen GPS-Sensor zugreifen. Gehen wir mal kurz der Reihe nach durch. Zunächst einmal imporiere ich mir hier eben dieses GPS-Modul hier oben. Und wichtig hier: wir greifen nicht direkt auf den GPS-Sensor zu, sondern wir greifen auf diesen GPS Daemon zu, den wir gerade installiert haben. Deswegen dürfen Sie diesen Daemon natürlich vorher auch nicht mit killall abschließen. Wir verbinden uns also mit diesem Localhost auf diesem Port und speichern das Ganze in der Variablen session, und dann öffnen wir einen session stream, das heißt wir möchten die Informationen des Sensors, beziehungsweise hier streng genommen, des Daemons hier einlesen und mit print report da könnten wir jetzt alle Informationen direkt anzeigen lassen und das machen wir jetzt einfach mal. ˄o zum Abspeichern dieses Codes, und mit ˄x komme ich jetzt hier wieder raus. Und mit sudo python gpscode.py lassen wir uns das Ganze jetzt mal anzeigen Und Sie sehen, dass ist eine ganze Reihe von Informationen. Ich stoppe mal das Ganze mit ˄c. Und da haben wir beispielsweise die Information lat-Latitude hier, die Information tag, die Information time hier beispielsweise oder auch die Information Longitude Gehen wir noch mal zurück in den Code mit nano gpscode. Sie sehen, wenn ich jetzt hier runtergehe, dass ich dieses print report mal hier auskommentiere, so dass es nicht ausgeführt wird. Und ich möchte mir jetz hier eben nur diejenigen Teile dieses Codes anzeigen lassen, die ein Latitude oder ein Longitude haben. ˄o speichert es ab, ˄x gehe ich raus. Und wenn wir das Ganze jetzt uns noch mal hier anzeigen lassen, dann sehen Sie eben genau meine geographische Breite und meine geographische Länge. Gehen wir abschließend noch einmal in den Code hinein, und Sie sehen, hier eben an dieser Stelle, dass wir alles, was dieses Attribut latitude haben anzeigen lassen wollen, wenn Sie sich beispielsweise die Höhe, die Geschwindigkeit oder andere Informationen anzeigen lassen möchten, dann können Sie eben hier genau auf diese Art und Weise auf diese Informationen zugreifen. Lange Rede, kürzer Sensor und GPS-Sensor wird per USB angeschlossen, und mit ein bisschen Zusatzsoftware können Sie ziemlich komfortabel auf seine Informationen zugreifen.

Schaltungen mit dem Raspberry Pi

Experimentieren Sie mit dem Raspberry Pi und entdecken Sie viele sinnvolle und spielerische Anwendungen mit dem Einplatinencomputer.

1 Std. 0 min (11 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!