Raspberry Pi -GPS über den seriellen Anschluß der GPIO installieren-

Hier wird die Installation eines GPS-Moduls an den Raspberry Pi beschrieben.

Hardware vorbereiten

Das externe GPS-Modul wird an die universelle Schnittstelle GPIO des Raspberry pi angeschlossen. Besonders zu beachten ist, das die Bezeichnung Rx/Tx also Empfänger/Sender immer die Funktion des Moduls bezeichnen, an dem diese angebracht sind.
Im einzelnen bedeutet das Rx des Raspberry Pi der Eingang für die Empfangssignale ist.
Somit muss hierhin der Sendeausgang/Tx des GPS-Moduls verbunden werden. Genauso wird der Senderausgang/Tx des Raspberrys mit dem Eingang/Rx des GPS-Moduls verbunden.
Damit das Modul mit Spannung versorgt werden kann, bietet der Raspberry die Möglichkeit 3,3V oder 5V an dem Ausgang bereitzustellen. Entsprechend des Moduls wird dann der entsprechende Spannungsausgang genutzt.
GND (Ground) ist der Minuspol, der auch noch verbunden werden muss.

Raspberry Pi (GPIO PIN)GPS-Modul (Anschlußbezeichnung)
3,3 V (Pin1)VCC
TXD/GPIO 14 (Pin 8)RX
RXD/GPIO 15 (Pin 10)TX
Ground (Pin 6)GND
Verkabelung Raspberry->GPS-Modul

Konfiguration der Software

Einstellen der seriellen Schnittstelle

Der serielle Anschluß des Raspberrys bietet die Möglichkeit entweder von der Shell aus angesteuert zu werden, oder nur hardwaremäßig. Wir benötigen hier die ausschließliche Nutzung über die Hardwareschnittstelle. Deshalb müssen über die Konfigurationsdatei die entsprechenden Einstellungen vorgenommen werden.

Aufrufen der Konfigurationsdatei

Bild 1 Starten der Config-Datei

sudo raspi-config

Mit den Pfeiltasten auf den Punkt „Interface Options“ navigieren und durch „Enter“ bestätigen.

Bild 2 Interface Options

Nun den Punkt „Serial Port enable/disable“ durch „Enter“ auswählen.

Bild 3 Serieller Anschluß

Nun wird der Zugang zum seriellen Port mittels Shell durch „Nein“ und „Enter“ deaktiviert.

Bild 4 Shell deaktivieren

Nun wird der Hardwarezugang zum seriellen Port mittels Shell durch „Ja“ und „Enter“ aktiviert.

Bild 5 Serielle Hardwareschnittstelle aktivieren

Wenn der Zugang mittels Shell deaktiviert und das serielle Interface aktiviert ist, mittels „OK“ und „Enter“ bestätigen.

Bild 6 Zusammenfassung der Schnittstelleneinstellungen

Jetzt erscheint wieder der Starbildschirm der Konfigurationsdatei. Durch „Auswahl von „Finish“ und „Enter“ wird die Konfigurationsdatei geschlossen.

Bild 7 Startbildschirm Config-Datei

Damit die Änderungen wirksam werden können, muss nun der Raspberry neu gestartet werden.

Bild 8 Reboot

Nachdem der Raspberry neu gebootet hat und man sich erneut mittels Shell an dem Raspberry angemeldet hat, beginnt nun die Installation der entsprechenden Software.

Installation des gpsd-clients

Bild 9 Gpsd-Installieren

sudo apt-get install gpsd gpsd-clients

Bild 10 Bestätigung des Installationsvorgangs

j

Bevor der Datenstrom über die serielle Schnittstelle abgefragt wird, sollte der GPS-Empfänger synchronisiert sein. Dazu ist es sehr hilfreich, ihm in einen Bereich zu legen, in dem er GPS-Signale auch empfangen kann (Fenster o.ä.). Außerdem kann es bei der ersten Inbetriebnahme auch zwischen wenigen bis zu 30 Minuten dauern, bis das Signal exakt anliegt. (Die meisten Module signalisieren das durch eine blinkende LED o.ä.)

Bild 11 Abfragen der seriellen Schnittstelle
Bild 12 Signale auf dem seriellen Port

Bei Empfang der Signale läuft nun die Anzeige mit den Datensätzen durch.

Beendet werden kann diese Anzeige durch gleichzeitiges Drücken von „control“ + „c“

Um alle Voreinstellungen zu löschen wird nun der gpsd gestoppt.

Da die Standardoptionen für den Raspberry nicht korrekt geladen werden, ist die Eingabe des folgenden Befehls notwendig.

Bild 13 Stoppen des gpsd

sudo systemctl stop gpsd.socket

Dieser Befehl muss nach jedem Starten dann wieder eingegeben werden.

Man kann diese Funktion auch dauerhaft ausschalten durch

Bild 14 Dauerhaftes deaktivieren des gpsd

sudo systemctl disable gpsd.socket

Jetzt wird der gpsd neu gestartet, damit dir richtigen serielle Datenstrom abgefragt wird.

Bild 15 Neustart des gpsd-Sockets

sudo gpsd /dev/serial0 -F /var/run/gpsd.sock

Jetzt kann die Funktion getestet werden. Bitte darauf achten, das der GPS-Empfänger am besten am Fenster oder im Freien einen guten Satelittenempfang hat. Das kann einige Minuten bis zu 30 Minuten dauern. Meist wird die Synchronisation mittels einer LED auf dem Modul angezeigt.

Bild 17 cgps
Bild 18 gpsmon

sudo cgps -s
sudo gpsmon

Durch die obigen Abfragen werden die empfangenen Daten dargestellt. Um während der Ausgabe wieder zum Eingabeprompt zurückzukehren die Tastenkombination „control“ + „c“ benutzen.

Stand: 04/20