Can RTK EVK / RTK Everywhere upload sd card files to a server?

I’m hoping to leave the RTK EVK installed with a vehicle and wifi hotspot for months at a time without interacting with it, logging the location data. Is it possible for it to periodically upload the logged data off the sd card to a server, so I can analyze the data remotely?

Hi @cberman ,

It’s not possible to upload the files ‘automatically’ (periodically).

If you could put the EVK into WiFi Config mode, you could download the files manually.

It might be possible to use TCP Server (or Client) mode to track the EVK. The TCP mode provides a stream of NMEA messages - over WiFi. You could extract the vehicle’s location from that stream in real time.

A much bigger project would be to write your own firmware and have the EVK ‘phone home’ periodically…

I hope this helps,
Paul

Yes thank you, after further reading the docs I found the page on TCP SparkFun_RTK_Everywhere_Firmware/docs/menu_tcp_udp.md at main · sparkfun/SparkFun_RTK_Everywhere_Firmware · GitHub
I have ordered the RTK EVK and am waiting on shipping for it to arrive.
Is there any more info available about TCP Client / TCP Server? The doc page only shows a screenshot of TCP Server.
It seems to me this might be the solution. I can have a server running in the cloud with a fixed IP address and port. If TCP Client can stream data to an IP/Port, I could collect it with a script running the server. I will have a 4G hotspot together with the EVK in an enclosure so it will have a reliable wifi connection.

If TCP Client doesn’t work that way, I also found that the EVK will output GNSS data over USB Serial and over Bluetooth. So I could have a 2nd esp32 device running my own firmware that connects over bluetooth, collects the GNSS stream, and uploads to a server. That is a little less ideal as it requires a 2nd device, but not the end of the world.

I have the RTK EVK now and am trying to use TCP Client but I can’t seem to get it to output anything.

I have a wifi hotspot (alcatel linkzone 2). The RTK EVK and my laptop are both connected to that wifi network.
I have my laptop running TCP_Server.py
The RTK EVK config has TCP Client enabled with the address and port of my laptop’s TCP Server.
The RTK EVK is outdoors, connected to over 20 satellites and accuracy around 0.035 so that seems to be working fine.

But my TCP Server script just never gets any incoming connection.

Hi,

I’ll try to replicate this in the morning.

One quick thought: have you tried passing your laptop’s WiFi IP address to TCP_Server.py?

python TCP_Server.py -server 192.168.0.nnn

Also, please try setting the default network to WiFi, and disable Ethernet to WiFi failover. I think you can only do this through the e Ethernet serial menu. I don’t think you can do it through web config. But I’ll check in the morning.

Best wishes,
Paul

I’ve got it working now. The RTK EVK is streaming messages over TCP client to a python script running on google cloud vm. Woohoo!
I could not get it to work on my laptop, with them on the same local network and using local IP addresses. But using the external IP of the cloud vm, the EVK is able to connect.

Thanks for the update Corey. Glad TCP is working. BLE too.

Best wishes,
Paul