GPS via IP/TCP

Hi, i was just wondering if it would be possible to feed the gps signal into AgOpenGPS over IP rather than a COM port?

I have been using rtklib to generate an rtk-corrected gps signal (and log raw position data), then sending the data to AgOpenGPS via a COM port, which for the most part has been working really well . However, i have been having issues where occasionally i go outside of LTE coverage which stops the rtk corrections signal being received over the internet. this causes rtklib to briefly freeze, then for what i think are COM port related reasons, causes AgOpenGps to freeze. Sometimes this ends up locking both programs if the LTE doesn’t reconnect quick enough. What i have observed is that rtklib doesn’t seem to have the same freeze/locking issue when it outputs via TCP connections.

I realise this is an edge case, and the issue isn’t being caused by AgOpenGPS, but i was wondering if GPS->AgOpenGPS communication via IP could be a part of a future AgOpenGPS release similar to the current UDP->steering communication.

Hello,

Yes, I do that way, I’ve RPI Zero W with M8T on the roof ot the cab
configured as Wifi AP and running rtknavi.
The TCP output steam is converted to UDP port 9999 (socat) and the tablet with
AOG in the cab receives it. And all is automatic at startup
francois

1 Like

ah okay, that sounds like a great idea - i’ll give it a go. thanks!

Quick update for anyone who might want to do the same thing:

I had missed that rtklib already has a UDP server - its just doesn’t appear to be present in the ‘rtknavi’ part of the program. The ‘strsvr’ utility contains options for UDP input/output.

The process i’m now using:

  1. rtknavi outputs NMEA strings to a TCP Server on a local ip address/port (eg 127.0.0.1:20)
  2. this address is then used as the ‘input’ stream in the strsvr utility (as a TCP Client).
  3. the output stream of strsvr is set to UDP Client with the address: 127.0.0.1:9999
  4. Remember to tick the ‘UDP On’ box in AgOpenGPS and it should be good to go.
1 Like