GPS-Daten auf der AR.Drone mit gpsd auslesen und exponieren

Das nun erfolgreich auf der AR.Drone montierte und auslesbare GPS-Modul wollen wir mittels geeigneter Schnittstellen anderen Programmen, wie unserer Basisstation zur Verfügung stellen. Hier müssen wir zum Glück nicht auf dem weißen Papier anfangen, sondern können das Open Source Programm gpsd verwenden, das unter anderem auch auf Android-Geräten (ab Android 4) Anwendung findet. Das Programm stellt die GPS-Daten unterschiedlichster GPS-Empfänger und Protokolle mittels Ethernet und/oder Shared Memory auf Linux Systemen als Daemon zur Verfügung.

Vorraussetzungen

Wir gehen wieder von unserer Crunchbang 11 Entwicklungs-VM aus und installieren noch folgende Abhängigkeiten

 Build

Nun werden wir zwei Versionen bauen: Die gpsd ARM-Binary ohne Client-Anwendungen und Tools und einmal die i686 Version für die VM inkl. der Tools und Clients. Wir beginnen mit dem auschecken und vorbereiten der beiden Verzeichnisse

Dem ARM-Build müssen wir mittels einer .scons-option-cache Datei etwas modifizieren, da wir die Tools und Clients auf der AR.Drone nicht benötigen (und auch keinen Speicherplatz zu verlieren haben).

Wir tragen nun folgendes ein, beenden nano wieder und speichern die Änderungen.

Der verwendete arm-linux Cross-Compiler und co sollten aufgrund des SDK-Builds bereits installiert sein. Jetzt den Build beider Versionen durchführen

 Verwendung

Damit wir das an der AR.Drone an /dev/ttyO3 angeschlossene GPS mit gpsd verwenden können, müssen wir die vermeintlichen Debug-Ausgaben auf diesem Gerät zunächst deaktivieren:

Wir können nun die Binary gpsd aus dem gpsd_for_arm/gpsd Verzeichnis mittels FTP auf die AR.Drone übertragen und starten

Nun innerhalb der Entwicklungs-VM einen Client starten und damit zum laufenden gpsd auf der AR.Drone verbinden

Weiterführende Informationen zur Verwendung von gpsd (zum Beispiel das Ausführen als Daemon) finden sich auf der gpsd man page. Mehr zu den mitgebrachten Clients und Tools finden sich auf der gpsd Projekt-Webseite.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">