Zum Hauptinhalt springen

Empfänger verbinden

Mapit GIS unterstützt externe GNSS-Empfänger für eine zentimetergenaue Positionierung. Unter Android können Sie einen Empfänger über Bluetooth (am häufigsten), Bluetooth Low Energy (BLE), USB-Seriell, TCP/IP (netzwerkfähige Empfänger oder NTRIP-Datenströme) oder über eine Begleit-App eines Drittanbieters verbinden, die die Standortdaten über das Pseudo-Standort-System von Android (Mock Location) bereitstellt. Unter iOS verbinden Sie sich über Bluetooth Low Energy (BLE) oder TCP/IP.

Es kann jeweils nur eine Verbindungsart aktiv sein – wenn Sie eine aktivieren, werden die anderen automatisch deaktiviert.

Bluetooth-Verbindung​

Die meisten externen GNSS-Empfänger kommunizieren per Bluetooth über das Serial Port Profile (SPP). Dabei handelt es sich um einen seriellen Datenstrom, der NMEA-Sätze vom Empfänger zur App überträgt.

Gerät koppeln​

  1. Öffnen Sie Einstellungen im Hauptmenü.
  2. Wechseln Sie zu Externes Bluetooth GPS.
  3. Aktivieren Sie Direktverbindung - Bluetooth.
  4. Die App fordert die Bluetooth-Berechtigungen an (BLUETOOTH_CONNECT und BLUETOOTH_SCAN ab Android 12).
  5. Ein Auswahldialog listet alle gekoppelten Bluetooth-Geräte mit Namen und MAC-Adresse auf.
  6. Wählen Sie Ihren Empfänger aus. Adresse und Name des Geräts werden für künftige Sitzungen gespeichert.
tipp

Koppeln Sie den Empfänger zuerst unter Android-Einstellungen > Bluetooth mit Ihrem Android-Gerät, bevor Sie Mapit GIS öffnen. Die App zeigt nur bereits gekoppelte Geräte an – sie sucht nicht selbst nach Bluetooth-Geräten.

Verbindungsablauf​

Beim Start einer Bluetooth-GNSS-Sitzung versucht die App nacheinander vier Verbindungsmethoden, jeweils mit automatischen Wiederholungen:

MethodeBeschreibung
Geräte-UUIDVerwendet die vom Empfänger selbst angekündigte UUID
Standard-SPP-UUIDVerwendet die Standard-UUID des Serial Port Profile (00001101-0000-1000-8000-00805F9B34FB)
Unsicheres RFCOMMVerwendet einen unsicheren RFCOMM-Kanal – hilfreich bei älteren Empfängern, die sichere Verbindungen ablehnen
Direkter KanalÖffnet RFCOMM-Kanal 1 direkt per Reflection – letzte Ausweichlösung für Empfänger, die keine UUID ankündigen

Jede Methode wird bis zu zweimal wiederholt, bevor die App zur nächsten wechselt. Sobald eine Verbindung besteht, beginnt die App, NMEA-Sätze aus dem Datenstrom des Empfängers zu lesen.

RTCM-Korrekturdaten über Bluetooth​

Ist eine Sitzung des NTRIP-Clients aktiv, werden die RTCM-Korrekturdaten über dieselbe Bluetooth-SPP-Verbindung an den Empfänger zurückgesendet. Über die bidirektionale serielle Verbindung erreichen die Korrekturdaten den Empfänger in Echtzeit für die RTK-Positionierung.

Daten-Timeout​

Treffen nach dem Verbindungsaufbau 5 Sekunden lang keine Daten ein, betrachtet die App die Verbindung als veraltet und trennt sie. So wird verhindert, dass die App verbunden erscheint, obwohl der Empfänger in den Ruhezustand gewechselt ist oder sich außer Reichweite befindet.

Vordergrunddienst​

Während der Verbindung führt die App einen Vordergrunddienst für externes GNSS aus, damit Android die Verbindung im Hintergrundbetrieb nicht beendet. Eine dauerhafte Benachrichtigung bestätigt, dass die GNSS-Verbindung aktiv ist. Dieser Dienst hält außerdem einen CPU-Wakelock, damit der Prozessor auch bei ausgeschaltetem Bildschirm weiterarbeitet.


Verbindung über Bluetooth Low Energy (BLE)​

Einige moderne GNSS-Empfänger – etwa die ArduSimple-Serie – kommunizieren über Bluetooth Low Energy mit dem Profil Nordic UART Service (NUS) statt über klassisches Bluetooth SPP. BLE verbraucht weniger Energie und ist die bevorzugte Verbindungsart für Empfänger, die es unterstützen.

Nach Geräten suchen​

  1. Öffnen Sie Einstellungen > Externes Bluetooth GPS.
  2. Aktivieren Sie Direktverbindung - Bluetooth LE.
  3. Die App fordert die Bluetooth-Berechtigungen an (BLUETOOTH_CONNECT und BLUETOOTH_SCAN ab Android 12).
  4. Ein Suchdialog erscheint und sucht automatisch nach BLE-Geräten in der Nähe, die die NUS-Dienst-UUID ankündigen.
  5. Die Suche läuft bis zu 15 Sekunden im Modus mit niedriger Latenz.
  6. Wählen Sie Ihren Empfänger aus der Liste aus. Name und Adresse des Geräts werden für künftige Sitzungen gespeichert.
tipp

Anders als bei klassischem Bluetooth muss das Gerät bei BLE nicht zuerst in den Android-Einstellungen gekoppelt werden. Die App findet BLE-GNSS-Empfänger direkt über den Suchdialog.

Verbindungsablauf​

Beim Start einer BLE-GNSS-Sitzung verbindet sich die App über den GATT-Client von Android (Generic Attribute Profile) mit dem ausgewählten Gerät. Die Verbindung wird in dieser Reihenfolge aufgebaut:

  1. GATT-Verbindung – stellt eine BLE-Verbindung zum Empfänger her.
  2. Diensterkennung – findet den Nordic UART Service (NUS) auf dem Gerät.
  3. Benachrichtigungen aktivieren – abonniert die NUS-TX-Charakteristik (Empfänger zum Telefon), indem der CCCD-Deskriptor geschrieben wird.
  4. MTU-Aushandlung – fordert eine größere MTU an (bis zu 512 Byte) für eine effiziente Datenübertragung.
  5. NMEA-Datenstrom – die App beginnt, NMEA-Sätze aus den BLE-Benachrichtigungen zu lesen.

RTCM-Korrekturdaten über BLE​

Ist eine Sitzung des NTRIP-Clients aktiv, werden die RTCM-Korrekturdaten über BLE an den Empfänger zurückgesendet, indem sie in die NUS-RX-Charakteristik geschrieben werden. Die App teilt die RTCM-Daten automatisch in MTU-große Segmente auf, damit sie zuverlässig ankommen.

Daten-Timeout​

Treffen 5 Sekunden lang keine NMEA-Daten ein, betrachtet die App die Verbindung als verloren und trennt sie. So wird die GPS-Infoanzeige sofort geleert, wenn sich der Empfänger ausschaltet oder außer Reichweite gerät, statt auf das BLE-Supervision-Timeout zu warten.

Automatische Wiederverbindung​

Bricht die BLE-Verbindung unerwartet ab (z. B. weil der Empfänger kurz außer Reichweite ist), wartet die App 2 Sekunden und versucht dann automatisch, die Verbindung wiederherzustellen. Wird die Verbindung absichtlich getrennt – durch den Benutzer oder durch das Daten-Timeout –, erfolgt kein Wiederverbindungsversuch.

Vordergrunddienst​

Während einer BLE-Verbindung führt die App – wie bei der klassischen Bluetooth-Verbindung – einen Vordergrunddienst für externes GNSS mit CPU-Wakelock aus. WLAN-Sperre und Netzwerk-Callback werden bei BLE-Verbindungen nicht verwendet, da kein Netzwerk beteiligt ist.


USB-Seriell-Verbindung​

Bei GNSS-Empfängern, die per USB-OTG-Kabel (On-The-Go) angeschlossen sind, kann die App NMEA-Daten direkt über eine serielle USB-Verbindung lesen. Das ist nützlich für Empfänger ohne Bluetooth – oder wenn Sie für lange Messeinsätze eine zuverlässigere kabelgebundene Verbindung benötigen.

Konfiguration​

  1. Öffnen Sie Einstellungen > Externes Bluetooth GPS.
  2. Aktivieren Sie Direktverbindung - USB.
  3. Wählen Sie die passende Baudrate für Ihren Empfänger (Standard: 115200).

Die folgenden Baudraten werden unterstützt:

Baudrate
4800
9600
19200
38400
57600
115200
230400
460800
921600
tipp

Die meisten modernen GNSS-Empfänger verwenden standardmäßig 115200 Baud. Sehen Sie in der Dokumentation Ihres Empfängers nach, wenn Sie nicht sicher sind, welche Baudrate Sie verwenden sollen.

Verbindungsablauf​

  1. Schließen Sie den GNSS-Empfänger über ein USB-OTG-Kabel oder einen Adapter an Ihr Android-Gerät an.
  2. Die App erkennt serielle USB-Geräte automatisch über die Standardtreiber USB CDC/ACM und FTDI/CH340/CP210x/PL2303.
  3. Beim ersten Anschließen eines Geräts fragt Android nach der USB-Berechtigung.
  4. Nach der Freigabe öffnet die App die serielle Schnittstelle mit der eingestellten Baudrate (8 Datenbits, 1 Stoppbit, keine Parität) und beginnt, NMEA-Sätze zu lesen.

RTCM-Korrekturdaten über USB​

Ist eine Sitzung des NTRIP-Clients aktiv, werden die RTCM-Korrekturdaten über dieselbe serielle USB-Verbindung an den Empfänger gesendet. Durch die bidirektionale serielle Verbindung eignet sich USB ideal für RTK-Arbeitsabläufe, bei denen die Korrekturdaten den Empfänger mit minimaler Verzögerung erreichen müssen.

Erkennung der Kabeltrennung​

Die App reagiert auf die Android-Systemmeldung USB_DEVICE_DETACHED. Wird das USB-Kabel abgezogen, erkennt die App das sofort und baut die Verbindung ordnungsgemäß ab – ohne Verzögerung durch ein Timeout.

Fehlerbehebung bei Lesefehlern​

Treten USB-Lesefehler auf (z. B. durch elektrische Störungen oder einen Wackelkontakt), wiederholt die App den Lesevorgang mit einer Pause von 1 Sekunde zwischen den Versuchen. Nach 5 aufeinanderfolgenden Lesefehlern betrachtet die App die Verbindung als verloren und trennt sie.

Vordergrunddienst​

Während einer USB-Verbindung führt die App einen Vordergrunddienst für externes GNSS mit CPU-Wakelock aus, damit die Verbindung bei ausgeschaltetem Bildschirm nicht unterbrochen wird.


TCP/IP-Verbindung​

Für netzwerkfähige GNSS-Empfänger, NTRIP-Caster oder GNSS-Daten, die von einem PC weitergeleitet werden, können Sie sich über TCP/IP verbinden.

Konfiguration​

  1. Öffnen Sie Einstellungen > Externes Bluetooth GPS.
  2. Aktivieren Sie Direktverbindung - TCP.
  3. Geben Sie unter Server den Hostnamen oder die IP-Adresse ein (Standard: localhost).
  4. Geben Sie die Port-Nummer ein (Standard: 52003).

Socket-Konfiguration​

Die TCP-Verbindung ist für GNSS-Daten in Echtzeit optimiert:

EinstellungWertZweck
Keep-aliveAktiviertVerhindert Timeouts von Router oder Firewall bei langen Sitzungen
TCP no-delayAktiviertDeaktiviert den Nagle-Algorithmus für eine NMEA-Übertragung mit geringer Latenz
Lese-Timeout90 SekundenToleriert Ruhephasen in NTRIP-Datenströmen und erkennt dennoch abgebrochene Verbindungen

RTCM-Korrekturdaten über TCP​

Ist eine Sitzung des NTRIP-Clients aktiv, werden die RTCM-Korrekturdaten über denselben TCP-Socket an den Empfänger gesendet. Das ist nützlich für Empfänger, die Korrekturdaten über ihre Netzwerkschnittstelle annehmen, oder wenn die Korrekturdaten über einen PC oder ein Begleitgerät weitergeleitet werden.

Automatische Wiederverbindung​

Bricht die TCP-Verbindung unerwartet ab, versucht die App automatisch, sie wiederherzustellen:

  • Bis zu 3 Wiederholungen mit exponentiell wachsender Wartezeit (2 s, 4 s, 8 s).
  • Eine Toast-Meldung zeigt "Connection lost, reconnecting (attempt X)..." an.
  • Schlagen alle Versuche fehl, wechselt die App zurück zum internen GPS.

Vordergrunddienst​

Der TCP-Vordergrunddienst hält zusätzlich eine WLAN-Sperre (Modus mit niedriger Latenz) und registriert einen Netzwerk-Callback, damit Android das WLAN-Modul während der Sitzung nicht trennt.


Begleit-Apps von Drittanbietern​

Einige GNSS-Hersteller bieten eigene Begleit-Apps an, die korrigierte Positionen über das Pseudo-Standort-System von Android (Mock Location) bereitstellen. Mapit GIS kann die Standortdaten aus diesen Apps lesen, statt sich direkt mit dem Empfänger zu verbinden.

Unterstützte Apps​

AppHerstellerEinstellung
Eos Tools ProEos Positioning Systems (Arrow-Serie)Eos Tools Pro
Zeno ConnectLeica Geosystems (Zeno-Serie)Zeno Connect
Trimble Mobile ManagerTrimbleTrimble Mobile Manager
Trimble SPaceTrimble (Empfänger DA2)Trimble SPace
SXblue ToolboxGeneq (SXblue-Serie)SXblue Toolbox

So funktioniert es​

  1. Öffnen Sie Einstellungen > Externes Bluetooth GPS.
  2. Aktivieren Sie die Option für die entsprechende Begleit-App.
  3. Die Begleit-App muss laufen und Pseudo-Standorte über LocationManager.GPS_PROVIDER bereitstellen.
  4. Mapit GIS liest das Standard-Location-Objekt von Android und entnimmt dem extras-Bundle erweiterte Daten – darunter DOP-Werte, Satelliteninformationen, RMS-Genauigkeit, Fix-Typ, Alter der Differenzialkorrektur und mehr.
tipp

Begleit-Apps übernehmen RTK-Korrekturdaten, NTRIP-Verbindungen und Antennenkalibrierung in der Regel selbst. Die korrigierte Position wird dann als Pseudo-Standort an Mapit GIS übergeben.

Erweiterte Daten aus Begleit-Apps​

Zusätzlich zu Standardposition und Genauigkeit liest Mapit GIS, sofern verfügbar, folgende Angaben aus dem Extras-Bundle des Standorts:

  • DOP-Werte: HDOP, VDOP, PDOP, GDOP, TDOP
  • RMS-Genauigkeit: HRMS, VRMS, 3D-RMS
  • Satelliteninformationen: genutzte Satelliten, sichtbare Satelliten, PRN-IDs, Elevation, Azimut, SNR, Konstellationstyp
  • Differenzialdaten: Alter der Korrekturdaten, ID der Korrekturstation, Fix-Typ
  • Höhendaten: Höhe über dem Meeresspiegel (MSL), Geoidundulation, Antennenhöhe
  • Empfängerinformationen: Modellname, SBAS-Korrektursystem

Pseudo-Standort-Anbieter​

Bei einer Verbindung über Bluetooth oder TCP/IP kann Mapit GIS optional selbst als Pseudo-Standort-Anbieter (Mock Location Provider) fungieren. Die Position des externen GNSS-Empfängers wird dann in das Standortsystem von Android eingespeist und steht allen anderen Apps auf dem Gerät zur Verfügung – nicht nur Mapit GIS.

Dazu müssen Sie auf Ihrem Android-Gerät die Entwickleroptionen aktivieren und Mapit GIS unter Entwickleroptionen > App für simulierte Standorte auswählen als App für simulierte Standorte festlegen.

vorsicht

Pseudo-Standorte setzen aktivierte Entwickleroptionen voraus. Auf verwalteten Geräten (Unternehmensgeräten) kann diese Einstellung von Ihrer IT-Administration gesperrt sein.