RTKlib, Probleme bei TCP Verbindung

Fragen und Hinweise zu Software, die mit dem Thema GPS zu tun hat. Egal ob PC oder Handheld.

Moderator: Roland

Antworten
Benutzeravatar
spunky
Beiträge: 172
Registriert: 06.10.2013 - 11:30

RTKlib, Probleme bei TCP Verbindung

Beitrag von spunky » 24.03.2016 - 22:12

folgende Situation, ich verbinde mein M8T per Bluetooth mit meinen Smartphone, ich schicke die Rohdaten per TCP Verbindung an RTKlib, das holt sich die Korrekturdaten per NTRIP und das Smartphone holt sich am Ende per TCP die korrigierten Daten als NMEA ab. Soweit funktioniert alles wunderbar :D

Beende ich die App auf dem Smartphone, wird die Verbindung zu RTKlib scheinbar nicht richtig getrennt. Eine Neuverbindung geht zwar, aber ich kann keine Rohdaten senden, da der Port wohl von der ersten Verbindung blockiert wird. :(

Bild 1: die normal funktionierende Verbindung
rtk1.png
rtk1.png (38.32 KiB) 17625 mal betrachtet
Bild2: die gestörte Verbindung (wegen 2 Clients)
rtk2.png
rtk2.png (38.89 KiB) 17625 mal betrachtet
Bild 3: die Konfiguration
rtk3.png
rtk3.png (23.49 KiB) 17625 mal betrachtet
Das ist kein Problem der App, das gleiche Verhalten kann ich beobachten, wenn ich eine Verbindung mit Hyperterminal aufbaue, beim Trennen und Wiederverbinden wird ein neuer Client bei RTKlib angezeigt. :?

Wie kann ich das Problem lösen, wer weiß Rat :?:

Bisher einzige Lösung, ich muss RTKlib per VNC beenden und neu starten, dann mit der App neu verbinden. :?

MfG.

Benutzeravatar
spunky
Beiträge: 172
Registriert: 06.10.2013 - 11:30

Re: RTKlib, Probleme bei TCP Verbindung

Beitrag von spunky » 19.04.2016 - 21:37

Kann das Verhalten jemand bestätigen oder widerlegen oder bin ich der Einzige in der deutschsprachigen Welt der über TCP verbindet :?:

hat schon mal jemand RTKlib kompiliert? was braucht man da an Software?
ich will versuchen den Fehler selber raus zu frickeln.
Oder kann/will das jemand anderes versuchen?

MfG.

123-flip
Beiträge: 40
Registriert: 20.09.2015 - 16:01

Re: RTKlib, Probleme bei TCP Verbindung

Beitrag von 123-flip » 24.04.2016 - 11:19

Unter Linux kann ich immer wieder beobachten, dass RTKRCV oder STR2STR nicht starten, weil der geöffnete Port wohl nicht richtig geschlossen wurde.
Dies betrifft allerdings meistens den Neustart des Applikation bzw. des Prozesses.

Zum Kompilieren der GUI-Versionen von RTKLIB benötigst du den Embarcadero Compiler (https://www.embarcadero.com/de/products/cbuilder)
https://rtklibexplorer.wordpress.com/20 ... comment-48

Benutzeravatar
spunky
Beiträge: 172
Registriert: 06.10.2013 - 11:30

Re: RTKlib, Probleme bei TCP Verbindung

Beitrag von spunky » 24.04.2016 - 23:31

hab mich registriert und runtergeladen, läuft jetzt, rtknavi kompiliert.

muss jetzt den fehler suchen.

weißt du wo ich suchen sollte?


Es müsste nur eine Prüfung stattfinden, ob eine zweite Verbindung über die gleiche IP reinkommt, dann muss die erste Verbindung unterbrochen werden und die zweite Verbindung zugelassen werden.

hab hier mal ein Problem gemeldet, vielleicht findet es Beachtung: https://github.com/tomojitakasu/RTKLIB/issues

monokultur
Beiträge: 4
Registriert: 16.07.2014 - 11:00

Re: RTKlib, Probleme bei TCP Verbindung

Beitrag von monokultur » 25.04.2016 - 08:21

Hallo Spunky,

der Fehler in rtknavi ist das unter "input" überhaupt ein TCP-Server zur Auswahl angeboten wird. Bei Input immer nur TCP-Client.

Dein Aufbau müsste eigentlich so aussehen:
GPS-Rohdaten > M8T > bluetooth > smartphone: TCP-Server > rtknavi: TCP-Client
berechnete Position > rtknavi: TCP-Server > smartphone: TCP-Client

Probleme bei diesem Aufbau:
- rtkgps+ bietet keinen TCP-Server
- der TCP-client von rtknavi macht keinen automatischen reconnect
- wenn das ganze übers Mobilfunknetz laufen soll und nicht über wlan > die IP-Adresse des Handys ist nicht von außen erreichbar

Lösung:
GPS-Rohdaten > M8T > bluetooth > smartphone: Ntrip-Server > Ntrip-Caster > rtknavi: Ntrip-Client
berechnete Position > rtknavi: Ntrip-Server > Ntrip-Caster > smartphone: Ntrip-Client

Vorteile:
- PC mit Caster von außen erreichbar
- automatisches reconnect
- stabiler als TCP

Einen Ntrip-Caster für Win findest du hier: http://lefebure.com/software/ntripcaster/
!Wichtig vor dem Mountpointnamen in rtknavi muss ein "/" stehen!

Gruß Peter

Benutzeravatar
spunky
Beiträge: 172
Registriert: 06.10.2013 - 11:30

Re: RTKlib, Probleme bei TCP Verbindung

Beitrag von spunky » 25.04.2016 - 10:51

aber lefebure kann die GPS Daten nur Seriell empfangen, oder verstehe ich da was falsch?

---

hab unter stream.c fünf Einträge gefunden die die TCP Server behandeln:
/* generate tcp socket -------------------------------------------------------*/
/* disconnect tcp ------------------------------------------------------------*/
/* open tcp server -----------------------------------------------------------*/
/* close tcp server ----------------------------------------------------------*/
/* update tcp server ---------------------------------------------------------*/

---

zwei mal eine Server Verbindung (In/Out) über RTKlib ist eigentliche eine feine Sache, ohne weitere Software dazwischen. Ich war jetzt 3 Stunden über Mobilfunk unterbrechungsfrei mit RTKlib verbunden, ich denke mal damit kann ich leben, jetzt muss noch ein Feldtest gemacht werden, wenn der gut läuft kann ich mir das bearbeiten sparen.

monokultur
Beiträge: 4
Registriert: 16.07.2014 - 11:00

Re: RTKlib, Probleme bei TCP Verbindung

Beitrag von monokultur » 25.04.2016 - 17:23

aber lefebure kann die GPS Daten nur Seriell empfangen, oder verstehe ich da was falsch?
jap tust du. :wink: Der Lefebure Ntripcaster kann Daten sowohl von einer seriellen Verbindung als auch von unbegrenzt vielen IP-Verbindungen erhalten.
So wie es in der Beschreibung auf der verlinkten Seite steht
Description
This program is designed for the farmer that has one or two RTK base stations and wants to make the correction data available via the Internet for NTRIP Clients. The Caster has a built in Server so you can connect one RTK base station directly via serial port. It will also support other NTRIP Servers connecting via IP. There is no restriction on number of concurrent connections or base stations.
Der Weg über einen Ntripcaster ist meiner Meinung nach die bei weitem einfachste, sicherste und stabilste Lösung.

Der TCP-Server von rtknavi funktioniert so wie er soll. Er passt halt nur nicht zu deinem Anforderungsprofil.
Denn der TCP-Server soll Daten an viele Clients senden (1 > n).

Wenn es alles wie bei deiner config nur über rtknavi gehen soll müsstest du den code so abändern das der TCP-Server max. eine Verbindung zulässt und ein automatisches Reset ausführt wenn keine Daten mehr ankommen, eventuell mit Timeout.

Benutzeravatar
spunky
Beiträge: 172
Registriert: 06.10.2013 - 11:30

Re: RTKlib, Probleme bei TCP Verbindung

Beitrag von spunky » 03.05.2016 - 13:26

der Ntripcaster kann mehrere Rover verwalten und kann auch mehrere Korrekturdaten von RTKlib abfragen?

Kannst du eine bebilderte Anleitung erstellen (mit 1 Rover), ich blick da noch nicht 100% durch, wo ich welche Daten eintragen muss (bei Caster und RTKlib) :(

Benutzeravatar
spunky
Beiträge: 172
Registriert: 06.10.2013 - 11:30

Re: RTKlib, Probleme bei TCP Verbindung

Beitrag von spunky » 22.08.2016 - 19:27

so, das Verbindungsproblem wurde behoben: https://github.com/tomojitakasu/RTKLIB/issues/153 :D

Antworten