Nach dem Sie die Software für das RasPiGNSS Modul im vorherigen Artikel auf Ihrem Raspberry Pi installiert und die Funktion des GPS-Empfängers überprüft haben folgt jetzt die weitere Konfiguration der Basisstation. Die Basisstation wird im Freien eingesetzt und das bei jedem Wetter. Aus diesem Grund muss die Elektronik sicher vor Wind und Wetter geschützt werden. Ich habe dabei den Fokus auf Feuchtigkeit gelegt und mir ein Wasserdichtes Gehäuse selber gebaut. Die Herausforderung dabei war, dass ich in der Elektronikabteilung eines Baumarktes kein passendes Gehäuse zu einem günstigen Preis gefunden habe. Aber mehr dazu im nachfolgenden Abschnitt.

Wasserdichtes Gehäuse

Als Gehäuse habe ich eine Brotzeitbox gekauft die ich bei der IKEA entdeckt habe. Diese Box hat mich gerade mal 4,99 Euro gekostet und bot ausreichend Platz für den Raspberry Pi, einen Step-Down Konverter, dem RasPiGNSS GPS Empfänger, dem Akku und dem XBee Pro Funkmodulen. Die Antennen für W-LAN und XBee-Funk habe ich direkt am Gehäuse verschraubt und durch kleine Löcher heraus geführt. Das Kabel zu der Tallysman™ TW-2410 GPS Antennen habe ich durch eine Kabelverschraubung mit Gegenmutter der Größe M16 die dem IP68 Standard entspricht heraus geführt. Das Kabel für die Stromversorgung habe ich ebenfalls durch eine Kabelverschraubung der Größe M12 mit IP68 Schutzklasse aus der Box heraus geführt. Das ganz sieht dann wie auf dem folgenden Bild zu sehen ist aus.

RasPiGNSS - Outdoor Box

RasPiGNSS – Outdoor Box

Basisstation Konfiguration

Die Software ist schon vorhanden und es muss im Prinzip nur noch ein Server gestartet werden, der die empfangenen GPS Signale über das W-LAN und später für das XBee Funkmodul an die mobile Einheit überträgt. Dazu wird der in der RTK Bibliothek vorhandene str2str Server verwendet. Sie erhalten ein Skript auf www.drfasching.at mit dem Namen “rtkbase” welches ein Teil der RPGTOOLS ist. Dieses Skript bildet die Streaming Funktion ab ohne das auch nur eine Zeile von Ihnen programmiert werden muss. In diesem Skript wird auch unterschieden ob die Übertragung über TCP-IP oder z. B. seriell über das XBee Modul erfolgen soll.

Download RTKBASE Skript: www.drfasching/downloads

Die benötigten Skripte liegen nach der Installation der rpgtools als Debian Paket im Ordner /usr/bin/.

rc.local anpassen

Das RasPiGNSS Modul muss auf der Basisstation im BINR Mode betrieben werden. Damit das GPS Modul im BINR Mode läuft und die Rohdaten liefert müssen die folgenden Befehle ausgeführt werden. Ich habe die Befehle so mit der unterstützung von www.drfasching.at aufgebaut, dass das RasPiGNSS Modul sicher im BINR Mode arbeitet. Diese Befehle müssen nach jedem Ausschalten des Raspberry Pi erneut ausgeführt werden. Das GPS Modul merkt sich den eingestellten Modus nicht und startet immer im NMEA Mode nach einem Neustart des Raspberry Pi.

Ich habe die folgenden Befehle als root in meine /etc/rc.local eingefügt. Diese Kombination setzt den richtigen Modus im RasPiGNSS Modul und startet am Ende auch den str2str Server an der Basisstation. Damit Sie die /ect/rc.local editieren können müssen Sie folgenden Befehl ausführen.

Befehl: sudo nano /etc/rc.local

Jetzt tragen Sie am Ende der Datei die folgenden Befehle ein und speichern die Änderung ab.

(/bin/sleep 5 && /usr/bin/nvsctl -v reset)

(/bin/sleep 7 && /usr/bin/nvsmode -v binr)

(/bin/sleep 9 && /usr/bin/binrcmd -v /home/pi/gnss/rpgtools/etc/init.cmd)

(/bin/sleep 11 && /usr/bin/rtkbase &)

Die rc.local sieht bei mir jetzt wie folgt aus und so sollte Sie bei Ihnen auch aussehen. Starten Sie nach dem Sie die Änderungen vorgenommen haben den Raspberry Pi neu.

RasPiGNSS rc-local

RasPiGNSS rc-local

Wenn Sie überprüfen wollen ob das GPS Modul im BINR Mode läuft können Sie z. B. den folgenden Befehl ausführen und die Ürertragungsgeschwindigkeit überprüfen.

Befehl: stty -aF /dev/ttyAMA0

Im folgenden Bild ist die Bautrate mit “230400” zu sehen. Somit ist sichergestellt, dass das Modul im BINR Mode läuft und nicht im NMEA Mode der eine niedrigere Bautrate von “115200” hat.

RasPiGNSS Module - BINR Mode

RasPiGNSS Module – BINR Mode

Basisstation manuell starten

Mit dem folgenden Befehl können Sie manuell das Skript aus den rpgtools starten und so die Basisstation in den Betrieb nehmen. Oder Sie ändern wie oben beschrieben die rc.local ab und lassen den str2str Server der Basisstion automatischen nach dem Einschalten des Raspberry Pi starten.

Nachfolgend der Befehl für das manuelle starten des str2str Servers.

Befehl: sudo ./usr/bin/rtkbase

Die Ausgabe nach dem Sie das Skript rtkbase ausgeführt haben sollte dann wie folgt aussehen. Wenn ein Gerät den Stream ließt dann wird die entsprechende IP Adresse angezeigt. Lesen mehrere Geräte den GPS Stream dann steht nur noch die Anzahl der mit der Basisstation verbundenen Geräte da.

Basisstation Terminal - Skript rtkbase.txt

Basisstation Terminal – Skript rtkbase.txt

rtkbase GPS Rohdaten Stream

Wenn Sie die empfangenen GPS Rohdaten als Stream via TCP/IP von der Basisstation an die mobile Einheit für die Berechnung der präzisen GPS Position übertragen wollen dann müssen Sie die “/usr/bin/rtkbase” Datei entsprechend anpassen. Die Einstellung für das outformat sowie die Einstellung für die messages bleibt undefiniert / leer.

outformat=
messages=

dann müssen Sie die rtkbase wie nachfolgende gezeigt konfigurieren.

rtkbase configuration raw data stream

rtkbase configuration raw data stream

Sie sehen in dem Screenshot, dass das outformat nicht definiert ist sowie die messages nicht definiert wurden.. So wird der Rohdatenstrom an die mobile Einheit übertragen. Abhängig von der Bandbreite der Funkanbindung zwischen Basisstation und mobiler Einheit empfiehlt sich aber das RTCM3 Format zu verwenden. Mehr dazu dann in einem der folgenden Abschnitte.

rtkbase GPS RTCM3 Stream

Wenn Sie die empfangenen GPS Daten als RTCM3 Stream via TCP/IP von der Basisstation an die mobile Einheit für die Berechnung der präzisen GPS Position übertragen wollen dann müssen Sie die “/usr/bin/rtkbase” Datei wie nachfolgende gezeigt konfigurieren. Beim RTCM3 Stream müssen immer messages definiert werden die übertragen werden sollen.

outformat=”rtcm3″
messages=”1002,1004,1006,1010,1013,1019,1020,1033,1107″

rtkbase configuration RTCM3 data stream

rtkbase configuration RTCM3 data stream

rtkbase TCP-IP oder serielle XBee Übertragung

Wenn Sie die Daten via TCP/IP oder seriell über das XBee Modul übertragen wollen dann müssen Sie die rtkbase wie folgt ändern.

TCP/IP Einstellung

Sollen die GPS Daten von der Basisstation über das Netwerk / WIFI Modul als RTCM3 Stream übertragen werden so muss die “/usr/bin/rtkbase” Datei entsprechend angepasst werden. Als Hilfestellung nachfoglend der wesentliche Teil für die Konfiguration der TCP/IP Datenübertragung.

outtype=”tcpsvr”
outstream=”:5800″
outformat=”rtcm3″
messages=”1002,1004,1006,1010,1013,1019,1020,1033,1107″

Fertig eingestellt sieht die Konfiguration wie im folgenden Screenshot gezeigt aus.

rtkbase configuration tcp ip stream

rtkbase configuration tcp ip stream

seriell XBeeEinstellung

Sollen die GPS Daten von der Basisstation über die serielle Schnittstelle z. B. mit einem XBee Modul übertragen werden so muss die “/usr/bin/rtkbase” Datei entsprechend angepasst werden. Als Hilfestellung nachfoglend der wesentliche Teil für die Konfiguration der seriellen Datenübertragung.

outtype=”serial”
outstream=”ttyUSB0:115200:8:n:1:off”
outformat=”rtcm3″
messages=”1002,1004,1006,1010,1013,1019,1020,1033,1107″

Fertig eingestellt sieht die Konfiguration wie im folgenden Screenshot gezeigt aus.

rtkbase configuration serial xbee stream

rtkbase configuration serial xbee stream

rtkbase GPS Koordinaten hinterlegen

In der “/usr/bin/rtkbase” sollten Sie noch die GPS Koordinaten der Basisstation sowie die Höhe dieser hinterlegen. Diese Angeabe ist wichtig, damit die mobile Einheit einen relativen Bezugspunkt zu der Basisstation berechnen kann. Bei mir sieht die Einstellung aktuell wie folgt aus.

Basisstation Konfiguration - rtkbase

Basisstation Konfiguration – rtkbase

GPS Datenstream – Basisstation anzeigen

Auf den GPS Datenstream z. B. als RTCM3 von der Basisstation kann mit der folgenden Adresse von der mobilen Einheit zugegriffen werden <IP-Adresse>:<5800>.

Anschließend können Sie sich z. B. mit dem Programm “RTK+ GPS” auf einem Android Tablet die empfangenen GPS Koordinaten der Basisstation anzeigen lassen.

Screenshot - RTK plus GPS

Screenshot – RTK plus GPS

Auf dem PC können Sie z. B. das Programm RTKNAVI verwendet und dort sieht die Anzeige des Datenstreams der Basisstation wie folgt aus:

RTKNAVI for Windows

RTKNAVI for Windows

Das Programm RTKNAVI für Windows kann unter der folgenden URL bezogen werden: Open Repository in GitHub (binary programs for Windows).

Zusammenfassung

Nach dem ich mich etwas mit der RTK Bibliothek vertraut gemacht habe war es nicht mehr sehr schwer die Basisstation aufzusetzen und in Betrieb zu nehmen. Ich habe etwas Zeit benötigt ein wasserdichtes Gehäuse zu bauen um dem Raspberry Pi und die weitere Elektronik wetterfest im freien aufstellen zu können. Hier habe ich als die günstigste Lösung eine Brotzeitbox verwendet ich mit um ein paar Anschlüsse erweitert habe. Der Aufbau und die Installation der RTKLIB Basisstation haben ca. 1 Tag benötigt. Die verschiedenen Konfigurationen des str2str Servers sind etwas komplex aber ich hoffe mit meiner Anleitung verständlich. Dafür läuft jetzt alles sehr zuverlässig und ich kann mich an den Aufbau des Rovers und der XBee Funkverbindung machen.


Artikel Übersicht GPS Modul RasPiGNSS:

Präzise GNSS-Positionierung mit dem Raspberry Pi und RTKLIB – Einführung
Prä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
(Visited 9.112 times, 2 visits today)