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.
- Android
- iOS
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
- Öffnen Sie Einstellungen im Hauptmenü.
- Wechseln Sie zu Externes Bluetooth GPS.
- Aktivieren Sie Direktverbindung - Bluetooth.
- Die App fordert die Bluetooth-Berechtigungen an (
BLUETOOTH_CONNECTundBLUETOOTH_SCANab Android 12). - Ein Auswahldialog listet alle gekoppelten Bluetooth-Geräte mit Namen und MAC-Adresse auf.
- Wählen Sie Ihren Empfänger aus. Adresse und Name des Geräts werden für künftige Sitzungen gespeichert.
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:
| Methode | Beschreibung |
|---|---|
| Geräte-UUID | Verwendet die vom Empfänger selbst angekündigte UUID |
| Standard-SPP-UUID | Verwendet die Standard-UUID des Serial Port Profile (00001101-0000-1000-8000-00805F9B34FB) |
| Unsicheres RFCOMM | Verwendet 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
- Öffnen Sie Einstellungen > Externes Bluetooth GPS.
- Aktivieren Sie Direktverbindung - Bluetooth LE.
- Die App fordert die Bluetooth-Berechtigungen an (
BLUETOOTH_CONNECTundBLUETOOTH_SCANab Android 12). - Ein Suchdialog erscheint und sucht automatisch nach BLE-Geräten in der Nähe, die die NUS-Dienst-UUID ankündigen.
- Die Suche läuft bis zu 15 Sekunden im Modus mit niedriger Latenz.
- Wählen Sie Ihren Empfänger aus der Liste aus. Name und Adresse des Geräts werden für künftige Sitzungen gespeichert.
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:
- GATT-Verbindung – stellt eine BLE-Verbindung zum Empfänger her.
- Diensterkennung – findet den Nordic UART Service (NUS) auf dem Gerät.
- Benachrichtigungen aktivieren – abonniert die NUS-TX-Charakteristik (Empfänger zum Telefon), indem der CCCD-Deskriptor geschrieben wird.
- MTU-Aushandlung – fordert eine größere MTU an (bis zu 512 Byte) für eine effiziente Datenübertragung.
- 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
- Öffnen Sie Einstellungen > Externes Bluetooth GPS.
- Aktivieren Sie Direktverbindung - USB.
- 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 |
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
- Schließen Sie den GNSS-Empfänger über ein USB-OTG-Kabel oder einen Adapter an Ihr Android-Gerät an.
- Die App erkennt serielle USB-Geräte automatisch über die Standardtreiber USB CDC/ACM und FTDI/CH340/CP210x/PL2303.
- Beim ersten Anschließen eines Geräts fragt Android nach der USB-Berechtigung.
- 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
- Öffnen Sie Einstellungen > Externes Bluetooth GPS.
- Aktivieren Sie Direktverbindung - TCP.
- Geben Sie unter Server den Hostnamen oder die IP-Adresse ein (Standard:
localhost). - Geben Sie die Port-Nummer ein (Standard:
52003).
Socket-Konfiguration
Die TCP-Verbindung ist für GNSS-Daten in Echtzeit optimiert:
| Einstellung | Wert | Zweck |
|---|---|---|
| Keep-alive | Aktiviert | Verhindert Timeouts von Router oder Firewall bei langen Sitzungen |
| TCP no-delay | Aktiviert | Deaktiviert den Nagle-Algorithmus für eine NMEA-Übertragung mit geringer Latenz |
| Lese-Timeout | 90 Sekunden | Toleriert 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
| App | Hersteller | Einstellung |
|---|---|---|
| Eos Tools Pro | Eos Positioning Systems (Arrow-Serie) | Eos Tools Pro |
| Zeno Connect | Leica Geosystems (Zeno-Serie) | Zeno Connect |
| Trimble Mobile Manager | Trimble | Trimble Mobile Manager |
| Trimble SPace | Trimble (Empfänger DA2) | Trimble SPace |
| SXblue Toolbox | Geneq (SXblue-Serie) | SXblue Toolbox |
So funktioniert es
- Öffnen Sie Einstellungen > Externes Bluetooth GPS.
- Aktivieren Sie die Option für die entsprechende Begleit-App.
- Die Begleit-App muss laufen und Pseudo-Standorte über
LocationManager.GPS_PROVIDERbereitstellen. - Mapit GIS liest das Standard-
Location-Objekt von Android und entnimmt demextras-Bundle erweiterte Daten – darunter DOP-Werte, Satelliteninformationen, RMS-Genauigkeit, Fix-Typ, Alter der Differenzialkorrektur und mehr.
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.
Pseudo-Standorte setzen aktivierte Entwickleroptionen voraus. Auf verwalteten Geräten (Unternehmensgeräten) kann diese Einstellung von Ihrer IT-Administration gesperrt sein.
Mapit GIS unter iOS unterstützt drei Übertragungswege für externes GNSS:
- Bluetooth Classic – MFi-zertifiziertes Zubehör (derzeit nur Eos Arrow)
- Bluetooth Low Energy (BLE) – Empfänger mit Nordic UART Service (NUS)
- TCP/IP – netzwerkfähige Empfänger oder NMEA-Relays
Den Übertragungsweg wählen Sie unter Einstellungen - Vermessungseinstellungen - GPS-Quelle.
Bluetooth Classic (MFi)
Unter iOS verbinden sich GNSS-Empfänger mit klassischem Bluetooth über Apples Framework ExternalAccessory. Apple verlangt, dass jeder Hersteller MFi-zertifiziert und einzeln in der App freigegeben ist, bevor die App mit seinem Zubehör kommunizieren kann.
Derzeit unter iOS freigegeben:
| Hersteller | Empfänger |
|---|---|
| Eos Positioning Systems | Eos-Arrow-Serie (Arrow Gold+, Arrow 100, Arrow Lite) |
| Juniper Systems | Geode GNS2, Geode GNS3 (GNS3S, GNS3M, GNS3H) und Spire |
Emlid Reach RX, Reach RX2 und Reach RS werden unter Android bereits unterstützt und befinden sich für iOS über BLE in der aktiven Testphase – die Unterstützung folgt in einer der nächsten Versionen.
Mapit GIS arbeitet aktiv mit Apple an der Freigabe weiterer Hersteller. Solange ein Hersteller nicht freigegeben ist, erscheinen seine Empfänger mit klassischem Bluetooth unter iOS nicht in der Geräteauswahl – verwenden Sie stattdessen BLE, sofern der Empfänger es unterstützt, oder TCP/IP, wenn sich die Positionen über das Netzwerk weiterleiten lassen.
Einen Eos-Arrow-Empfänger koppeln
- Schalten Sie den Empfänger ein und koppeln Sie ihn unter iOS-Einstellungen - Bluetooth. Er erscheint als „Zubehör“ (MFi-Kopplung), nicht als gewöhnliches Bluetooth-Gerät.
- Öffnen Sie in Mapit GIS Einstellungen - Vermessungseinstellungen.
- Setzen Sie GPS-Quelle auf Bluetooth Classic.
- Tippen Sie auf Gerät auswählen, um Ihren Arrow-Empfänger aus der Liste des verbundenen Zubehörs zu wählen.
- Tippen Sie auf Verbinden. Die App öffnet über
EASessioneine Sitzung zum Empfänger und beginnt, NMEA-Daten aus dem Eingabedatenstrom des Zubehörs zu lesen.
Die NMEA-Daten gelangen über den Eingabedatenstrom des Zubehörs zu Mapit GIS, und – wenn der NTRIP-Client aktiv ist – die RTCM-Korrekturdaten werden über den Ausgabedatenstrom zurückgeschrieben.
Wenn ein MFi-Empfänger nicht freigegeben ist
Erscheint Ihr Empfänger mit klassischem Bluetooth nicht in der Geräteauswahl, liegt das fast immer daran, dass sein MFi-Protokoll noch nicht in Mapit GIS aufgenommen wurde. Bitte nennen Sie uns über die Feedback-Seite Ihr Empfängermodell – wir priorisieren die MFi-Aufnahme nach der Nachfrage unserer Kunden.
Verbindung über Bluetooth Low Energy (BLE)
Mapit GIS unter iOS verbindet sich außerdem über Bluetooth Low Energy mit dem Profil Nordic UART Service (NUS) mit externen GNSS-Empfängern. Für BLE gilt die MFi-Beschränkung nicht; es funktioniert mit jedem Empfänger, der den NUS-Dienst ankündigt – getestet mit Geräten von ArduSimple und u-blox (Einzelheiten unter NTRIP-Client – Getestete Empfänger).
Nach Geräten suchen
- Öffnen Sie Einstellungen - Vermessungseinstellungen.
- Setzen Sie GPS-Quelle auf Bluetooth BLE.
- Beim ersten Mal fragt iOS nach der Bluetooth-Berechtigung.
- Tippen Sie auf Gerät auswählen, um den Suchbildschirm zu öffnen. Er sucht automatisch nach BLE-Geräten in der Nähe, die den Nordic UART Service (NUS) ankündigen.
- Gefundene Geräte werden mit Namen und einer Signalstärkeanzeige aufgelistet (4 Balken, basierend auf dem RSSI).
- Wählen Sie Ihren Empfänger aus. Kennung und Name des Geräts werden für künftige Sitzungen gespeichert.
Bei BLE muss das Gerät nicht zuerst in den iOS-Einstellungen gekoppelt werden. Die App findet GNSS-Empfänger direkt über ihren integrierten Suchbildschirm. Erscheint ein Gerät als „Unknown GNSS Device“, prüfen Sie, ob der Bluetooth-Name Ihres Empfängers korrekt eingestellt ist.
Signalstärke
Die Geräteauswahl zeigt für jedes gefundene Gerät eine Signalstärkeanzeige:
| RSSI-Bereich | Stärke |
|---|---|
| −50 dBm bis 0 dBm | Ausgezeichnet |
| −65 dBm bis −50 dBm | Gut |
| −80 dBm bis −65 dBm | Mittel |
| Unter −80 dBm | Schwach |
Verbindungsablauf
Beim Start einer BLE-GNSS-Sitzung verbindet sich die App über iOS CoreBluetooth mit dem ausgewählten Gerät. Die Verbindung wird in dieser Reihenfolge aufgebaut:
- Peripheriegerät abrufen – sucht das gespeicherte Gerät anhand seiner Kennung. Wird es nicht im Bluetooth-Cache gefunden, sucht die App ersatzweise nach der NUS-Dienst-UUID.
- GATT-Verbindung – stellt eine BLE-Verbindung zum Empfänger her.
- Diensterkennung – findet den Nordic UART Service auf dem Gerät.
- Erkennung der Charakteristiken – findet sowohl die NUS-TX-Charakteristik (Empfänger → Telefon) als auch die NUS-RX-Charakteristik (Telefon → Empfänger).
- Benachrichtigungen aktivieren – abonniert die TX-Charakteristik, um NMEA-Daten zu empfangen.
- MTU-Aushandlung – fragt die maximale Schreiblänge ab, um RTCM-Daten effizient zu übertragen.
- Verbindung bereit – die App meldet erst dann „verbunden“, wenn sowohl die TX- als auch die RX-Charakteristik gefunden und die Benachrichtigungen aktiviert sind.
Verbindungs-Timeout
Die Methode connect() von iOS CoreBluetooth wartet standardmäßig unbegrenzt. Damit die App nicht hängen zu bleiben scheint, setzt Mapit GIS ein Verbindungs-Timeout von 10 Sekunden durch. Sind GATT-Verbindung und Erkennung der Charakteristiken in dieser Zeit nicht abgeschlossen, wird der Verbindungsversuch abgebrochen und ein Wiederverbindungszyklus gestartet.
NMEA-Auswertung
BLE-GNSS-Empfänger senden auf derselben NUS-Charakteristik oft eine Mischung aus NMEA-Text und Binärdaten (z. B. proprietäre UBX-Nachrichten). Mapit GIS trennt die Sätze daher anhand der Prüfsumme statt anhand von Zeilenumbrüchen:
- Sucht nach
$oder!, gefolgt von mindestens zwei Großbuchstaben (Talker-ID), um den Satzanfang zu finden. - Sucht die Prüfsummenmarke
*HH(Sternchen gefolgt von zwei Hexadezimalziffern), um das Satzende zu finden. - Verwirft Binärdaten zwischen den Sätzen automatisch.
Dieses Verfahren ist robust gegenüber Binärdaten, die Zeilenenden beschädigen oder falsche $-Zeichen enthalten können.
Der Zeilenpuffer ist auf 4 KB begrenzt, damit der Speicherbedarf nicht unbegrenzt wächst, wenn der Empfänger neben NMEA große Mengen Binärdaten sendet.
RTCM-Korrekturdaten über BLE
Ist eine Sitzung des NTRIP-Clients aktiv, werden die RTCM-Korrekturdaten an den Empfänger gesendet, indem sie in die NUS-RX-Charakteristik geschrieben werden. Die App führt dabei automatisch Folgendes aus:
- Aufteilen der RTCM-Daten in Segmente, die in die ausgehandelte MTU passen (abzüglich 3 Byte ATT-Overhead, mindestens 20 Byte).
- Serielle Warteschlange für Schreibvorgänge – BLE erlaubt jeweils nur einen ausstehenden Schreibvorgang. Jedes Segment wird erst gesendet, wenn das vorherige abgeschlossen ist.
- Verwendung von Write Without Response für eine geringere Latenz, die für RTK-Korrekturdaten in Echtzeit wichtig ist.
Automatische Wiederverbindung
Bricht die BLE-Verbindung unerwartet ab (z. B. weil der Empfänger kurz außer Reichweite ist), versucht die App automatisch mit exponentiell wachsender Wartezeit, die Verbindung wiederherzustellen:
| Versuch | Wartezeit |
|---|---|
| 1 | 2 Sekunden |
| 2 | 4 Sekunden |
| 3 | 8 Sekunden |
| 4 | 16 Sekunden |
| 5+ | 30 Sekunden (Obergrenze) |
Der Wiederverbindungszyklus läuft, solange BLE GPS aktiviert bleibt. Wird das Gerät beim Wiederverbinden nicht im Bluetooth-Cache gefunden, sucht die App ersatzweise nach der NUS-Dienst-UUID, um es erneut zu finden.
Trennt der Benutzer die Verbindung absichtlich, erfolgt kein Wiederverbindungsversuch.
Umgang mit dem Bluetooth-Status
Die App reagiert auf Änderungen des Bluetooth-Status unter iOS:
| Status | Verhalten |
|---|---|
| Eingeschaltet | Verbindet sich automatisch mit dem gespeicherten Gerät |
| Ausgeschaltet | Betrachtet die Verbindung als verloren und meldet „getrennt“ |
| Nicht autorisiert | Protokolliert einen Fehler – der Benutzer muss die Bluetooth-Berechtigung in den iOS-Einstellungen erteilen |
TCP/IP-Verbindung
TCP/IP ist eine alternative Möglichkeit, unter iOS einen externen GNSS-Empfänger zu verbinden. Das funktioniert mit netzwerkfähigen Empfängern, NTRIP-Castern oder GNSS-Daten, die über WLAN von einem PC oder Begleitgerät weitergeleitet werden.
Konfiguration
- Öffnen Sie Einstellungen - Vermessungseinstellungen.
- Setzen Sie GPS-Quelle auf TCP/IP NMEA.
- Geben Sie den Host ein (Hostname oder IP-Adresse).
- Geben Sie die Port-Nummer ein.
- Aktivieren Sie optional Automatisch verbinden, um abgebrochene Verbindungen automatisch wiederherzustellen.
Die App verbindet sich mit dem angegebenen TCP-Endpunkt und beginnt, NMEA-Sätze aus dem Datenstrom zu lesen.
So funktioniert es
Viele GNSS-Empfänger bieten einen WLAN-Hotspot oder können NMEA-Daten über ein lokales Netzwerk streamen. Einige gängige Konfigurationen:
| Konfiguration | Beschreibung |
|---|---|
| WLAN-Hotspot des Empfängers | Verbinden Sie Ihr iPhone/iPad mit dem WLAN des Empfängers und geben Sie dessen IP-Adresse ein |
| NTRIP-Relay | Ein PC oder Begleitgerät leitet NTRIP-Korrekturdaten und die NMEA-Ausgabe über TCP weiter |
| Lokales Netzwerk | Empfänger und iOS-Gerät befinden sich im selben WLAN |
Wenn Ihr Empfänger eine eigene Begleit-App hat, die NMEA über einen TCP-Port ausgeben kann, können Sie diese App parallel zu Mapit GIS verwenden. Konfigurieren Sie die Begleit-App so, dass sie auf einem TCP-Port lauscht, und richten Sie Mapit GIS dann auf localhost (oder die IP-Adresse des Geräts) und diesen Port aus.