In diesem Beitrag geht es darum welche Software installiert werden muss um die RasPiGNSS “Aldebaran” Module aufgesteckt auf den Raspberry Pi in Betrieb nehmen zu können. Ich habe mich als Betriebssystem für Raspbian entschieden da hier die GPS Module unterstützt werden. Ich habe für diesen Artikel die „2016-09-23-raspbian-jessie.img“ Version verwendet. Von meinen Erfahrungen würde ich aber sagen, dass sowohl alte als auch zukünftige Raspbian Versionen funktionieren sollten. Eher als die Software gibt es sicher Unterschiede in den Raspberry Pi Modellen zu beachten. Mehr zu den Unterschieden zwischen den Raspberry Pi Modellen dann aber nachfolgend in der Beschreibung der Software Installation.
Softwareinstallation für die GPS Module:
Für die Basisstation werde ich einen Raspberry Pi 1 Model B verwenden. Der Raspberry Pi 1 Model B hat ausreichend Rechenleistung für den Anwendungsfall der Basisstation die den empfangenen Datenstream der GPS Satelliten an die mobile Station streamt. Die mobile Station benötigt etwas mehr Rechenleistung für die Berechnung der genauen GPS Position und daher werde ich für diese einen Raspberry Pi 2 Model B verwenden.
Raspbian auf Micro-SD Karte installieren:
Als erstes muss ein aktuelles Raspbian auf der Micro-SD Karte installiert werden. Die aktuellen Images sind immer auf der offiziellen Raspberry Pi Seite erhältlich.
Download Link: Raspbian
Ich habe mich für die aktuelle volle Version von Raspbian entschieden. Diese starte ich aber ohne der grafische Oberfläche Pixel. Ich wollte die grafische Oberfläche dennoch verfügbar haben für den Fall, dass ich sie benötigen könnte. Generell funktioniert die folgende Anleitung auch mit der Raspbian Lite Version.
Nach dem Raspbian auf der Micro-SD Karte installiert ist sollte die Installation auf den aktuellsten Stand gebracht werden.
Dazu melden Sie sich jetzt am Raspberry Pi an und erweitern das Filesystem der Micro-SD Karte auf die volle Größe (Expand Filesystem) mit dem Konfigurationstool. Deises starten Sie im Terminal Fenster mit dem folgenden Befehl.
- sudo raspi-config
Nach dem Sie das Dateisystem der micro-SD Karte erweitert haben starten Sie den Raspberry Pi neu um die Änderungen zu aktivieren.
Anschließend bringen Sie Raspbian mit den beiden folgenden Befehlen auf den neuesten Stand. Dieses Update kann mehrere Minuten dauern.
- sudo apt-get update
- sudo apt-get upgrade
Damit die Installation bzw. der Raspberry Pi die neueste Firmware verwendet sollten Sie für das Update der Firmware die beiden folgenden Befehle ausführen.
- sudo apt-get install rpi-update
- sudo rpi-update
Wenn alle Befehle ohne Fehler durchgelaufen sind, ist die Installation von Raspbian auf dem neuesten Stand. Im nächsten Schritt wird das RasPiGNSS Modul eingerichtet.
RasPiGNSS Modul Einrichten:
Ich habe mich für die Softwareinstallation für das RasPiGNSS Modul an die Anleitung von www.drfasching.at gehalten. Er stellt viele Informationen rund um die GPS Module die er auch verkauft online.
Die folgenden Schritte werden über die Konsole am Raspberry Pi direkt ausgeführt. Um die Konsole zu öffnen können Sie sich an dem Raspberry Pi via Monitor / Tastatur anmelden oder mit einem SSH Client über das Netzwerk auf den Raspberry Pi zugreifen. Bei dem Einrichten des RasPiGNSS Moduls wird nicht zwischen Basisstation und mobiler Robotereinheit unterschieden.
1. UART Schnittstelle Geschwindigkeit
Es muss überprüft werden ob die der Taktgeber für die UART Schnittstelle auf 6 MHZ eingestellt ist. Dazu bitte die Datei /boot/config.txt mit dem Texteditor Nano öffnen. Mit dem nachfolgenden Befehl öffnen Sie die Datei mit dem Texteditor Nano.
Befehl: sudo nano /boot/config.txt
Suchen Sie jetzt in der Datei config.txt nach der Zeile init_uart_clock=6000000 in der Datei. Falls diese nicht vorhanden ist fügen Sie diese Zeile bitte am Ende der Datei ein. Speichern Sie die Anpassung und starten den Raspberry Pi jetzt neu.
Befehl: sudo reboot
Diese Änderung ist notwendig, damit das RasPiGNSS Modul in den BINR Modus betrieben werden kann bei einer Bautrate von 230400 an der UART Schnittstelle.
2. Verwendung von /dev/ttyAMA0
Als nächstes müssen Sie sicherstellen, dass der Serial Port /dev/ttyAMA0 nicht verwendet wird. Dazu bitte die beiden Dateien /boot/cmdline.txt und /etc/inittab überprüfen:
- /boot/cmdline.txt
- /etc/inittab (diese Datei war bei meiner Raspbian Version nicht vorhanden)
Suchen Sie in diesen zwei Dateien nach den folgenden Einträgen:
- console=ttyAMA0,115200
- console=serial0,115200
3. Datei /etc/inittab fehlt
Wenn bei Ihnen ebenfalls die Datei /etc/inittab fehlt dann müssen Sie die beiden nachfolgenden Befehle ausführen. Mit diesen Befehlen deaktivieren Sie den getty Prozess der auf das Gerät /dev/ttyAMA0 zugreift.
Befehl: sudo systemctl stop serial-getty@ttyAMA0.service
Befehl: sudo systemctl disable serial-getty@ttyAMA0.service
4. Besonderheit Raspberry Pi 3 Model B
Der Raspberry Pi 3 Model B verfügt über ein W-LAN und Bluetooth Modul. Dieses verwendet die UART Schnittstelle Standardmäßig. Damit die Schnittstelle für das RasPiGNSS Modul verfügbar ist fügen Sie bitte in der /boot/config.txt die folgende Änderung ein.
dtoverlay=pi3-miniuart-bt
enable_urt=1
5. Installation BCM2835 library für den Raspberry Pi
Installieren Sie jetzt bitte noch das DEBIAN Paket mit der BCM2835 library welches ebenfalls auf der Seite von www.drfasching.at zum Download angeboten wird bcm2835 library.
Mit dem folgenden Befehl wird die herunter geladene DEBIAN Datei „libbcm2835_1.50_armhf.deb“ unter Raspbian installiert. Die aktuelle Version kann sich unterscheiden.
Befehl: sudo dpkg -i <packagename.deb>
Hinweis zu der Quelle der BCM2835 Bibliothek:
- Website: airspayce.com
- Author: Mike McCauley
- License: GPLv2
6. Installation Perl Abhängigkeiten für die BCM2835 bibliothek für den Raspberry Pi
Installieren Sie jetzt bitte noch das DEBIAN Paket mit der libbcm2835 Module um auf den Broadcom BCM2835 Chip zugreifen zu können. Die Software finden Sie auf der Seite von www.drfasching.at zum Download Perl bcm2835 library.
Mit dem folgenden Befehl wird die herunter geladene DEBIAN Datei „libdevice-bcm2835-perl_1.9_armhf.deb“ unter Raspbian installiert. Die aktuelle Version kann sich unterscheiden.
Befehl: sudo dpkg -i <packagename.deb>
Hinweis zu der Quelle der Perl BCM2835 Bibliothek:
- Website: cpan.org
- Author: Mike McCauley
- License: Perl Artistic License
- Note: This is the Debian Jessie version (for Perl 5.20.2)
7. Installation lrzsz
Jetzt müssen Sie bitte noch das folgende Programm lrzsz installieren.
Das lrzsz-Paket für zmodem/ymodem/xmodem basiert auf der Public-Domain-Version von Chuck Forsbergs rzsz-Paket, mit kosmetischen Verbesserungen. Diese Programme verwenden Protokolle mit Fehlerkorrektur ({z,x,y}modem) für das Verschicken (sz, sx, sb) und Empfangen (rz, rx, rb) von Dateien über eine serielle Schnittstelle von einer Vielzahl von Programmen, die unter verschiedenen Betriebssystemen laufen (Quelle: https://packages.debian.org/de/sid/lrzsz).
Mit dem folgendne Befehl installieren Sie das Programm lrzsz auf Ihrem Raspberry Pi.
Befehl: sudo apt-get install lrzsz
8. Installation RPGTOOLS
Als nächstes müssen die RasPiGNSS Tools von www.drfasching.at installiert werden. Diese stehen mit einer Anleitung für die Installation auf folgender Seite zur Verfügung rpgtools.
Bitte landen Sie die aktuelle Version der rpgtools als DEBIAN Paket herunter und speichern Sie diese auf Ihrem Raspberry Pi im home Verzeichnis ab. Ich habe die Datei im folgenden Ordner gespeichert /home/pi/raspignss/.
Mit dem folgenden Befehl wird die herunter geladene DEBIAN Datei unter Raspbian installiert.
Befehl: sudo dpkg -i <packagename.deb>
Die intallierten Programme finden Sie dann im Ordner /usr/bin/.
9. Installation RKTLIB CUI tools for Raspberry Pi
Installieren Sie jetzt bitte noch das DEBIAN Paket mit den RKTLIB CUI Tools welches ebenfalls auf der Seite von www.drfasching.at zum Download angeboten wird rtklib.
Mit dem folgenden Befehl wird die herunter geladene DEBIAN Datei unter Raspbian installiert.
Befehl: sudo dpkg -i <packagename.deb>
Hinweis zu der Quelle der rtklib Bibliothek:
- Website rtklib.com
- Author: Tomoji Takasu
- License: BSD 2-clause
Jetzt haben Sie soweit alle Software installiert die notwendig ist das RasPiGNSS Modul in Betrieb zu nehmen.
Test des RasPiGNSS Moduls:
Mit dem folgenden Befehl können Sie testen ob Ihr RasPiGNSS Modul soweit funktioniert. Das Modul sollten jetzt GPS Daten empfangen können. Sie sollten nach dem Ausführen der beiden Befehle die empfangenen Koordinaten im Terminal angezeigt bekommen.
Befehl: nvsmode nmea
Befehl: nmeaparse
Das Programm nvsmode sowie alle weiteren aus den RPGTOOLS finden Sei im Ordner /usr/bin/.
Hinweis im Fehlerfall:
Sollte der folgende Fehler auftreten „Can’t locate Device::BCM2835.pm in @INC“ dann müssen Sie noch folgende Installation durchführen um das Device::BCM2835 zu installieren.
Befehl: sudo cpan -i Device::BCM2835
Wenn alles geklappt hat sollten sie eine Anzeige wie die folgende im Terminal angezeigt bekommen.
FAQs @ www.drfasching.at:
Während der Installation hat mir die FAQ Seite von Herrn Dr. Fasching sehr gut weiter geholfen. Diese Seite findet sich hier FAQ.
Zusammenfassung:
Soweit hat die Installation dank der ausführichen Anleitung von www.drfasching.at sehr gut geklappt. Die ersten Ergebnisse sind mit dem nmeaparse Befehl auch im Terminal zu sehen. Als nächstes steht die wesetlich komplexere Herausforderung an eine Basisstation aufzubauen mit der Unterstützung der RTKLIB. Wenn diese funktioniert und ihre genaue Position ermittelt hat wird der Roboter aufgebaut. Als Basis für die Installationen nehme ich die aktuelle Installation der micro-SD Karte und sichere mir diese als ein Image weg.
Artikel Übersicht GPS Modul RasPiGNSS:
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – EinführungPräzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB - Theoretischer Aufbau
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – GPS Antennen Aufbau
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – Software Installation
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – Konfiguration RTK Basisstation
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – Konfiguration RTK Mobile Einheit
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – XBee Funkverbindung Vorraussetzungen
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – XBee serielle Datenübertragung
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – Navigation
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – RasPiGNSS im Dauer-Betrieb
Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – Erfahrungsbericht
Großes Lob an deine genialen Beschreibungen!
Leider scheit hier im Bereich GPS schon lange nichts mehr hinzugefügt worden zu sein… Wie sieht dein Dauertest aus? Was für Wiederholgenauigkeiten kannst du mit deinem System erreichen?
Viele Grüße aus dem Münsterland
Hallo Jan,
ich hoffe, dass ich dieses Jahr noch dazu kommen werde.
Aktuell habe ich den BigRob Roboter umgebaut und werden noch mein Python Programm anpassen für das Auslesen der GPS Informationen. Hier vermute ich noch einen Fehler bei dem Thread der den GPS Stream ließt.
Viele Grüße,
Maker