Hi, I have successfully connected between UAV and GCS through UDP connection. But when I switch the setting to: TELEM1="-A tcp:PC_IP_address:14550"
# Options to pass to ArduPilot ARDUPILOT_OPTS="$TELEM1"
In the Mission Planner software I entered the IP address of the Raspberry Pi and port = 14550. But the software said it could not connect. I am using arducopter 3.6, Mission Planner 1.3.74. Will these 2 versions have TCP connection problems? I checked the firewall and found no problems. Thank you for your help.
First, why do you want to use TCP?
It adds overhead and it is connection based. This means, if the network connection goes out and comes back again, you will have to connect to the UAV again. UDP telemetry will simply be received again by the GCS.
If you still want to use TCP, change the telemetry line to:
“tcp:0.0.0.0:5760”. 0.0.0.0 will cause ardupilot to listen for incoming connections on all network devices.
5760 is just a different port to avpid confusion with UDP telemetry.
Thank you for the solution, I realize the main problem is that only port 5760 can be used. I want to use TCP because the link quality is better, the loss of packets is much less. I will try to compare video transmission in two ways UDP or TCP. One more time thank you very much.
Well, depending on the situation I will use UDP or TCP for control or live video transmission. This is just an experiment I want to practice. Can we judge UDP or TCP link quality based on Mission planner? Something like the RSSI of a radio. I usually ping the IP address of the RPI to check the latency on the channel, but I feel this is not very accurate.
I’ve checked ArduPilot documentation on Mission Planner functionality and haven’t found such built-in tools. As I understand, you may use some external tools only.
I believe using ping should be enough for checking your configuration since it’s a standard tool for measuring the round-trip time of the packet.