TCP Aircraft Server
The tcp aircraft server (in sw/tools/tcp_aircraft_server/) is an agent that re-broadcasts the ivy telemetry stream from a specified vehicle over tcp to a specified remote ip which hosts its own local ground segment ivy network. This allows the broadcast of a vehicle telemetry stream over the internet to a remote party without the need for VPNs.
Usage
Broadcast Ground Station
If you have not done so already, set your Paparazzi src and home directories:
export PAPARAZZI_SRC=~/path/to/paparazzi export PAPARAZZI_HOME=~/path/to/paparazzi
Then, from your Paparazzi directory, run:
./sw/ground_segment/tmtc/ivy_tcp_aircraft -id <ac_id_number> -h <remote IP>
Recipient Computer, option #1
Run:
./sw/tools/tcp_aircraft_server/tcp_aircraft_server.py
Then open Paparazzi Center using the -n option for the Server unless you wish to log messages locally, and use the tools within Paparazzi Center as you would do normally.
The recipient side of the setup broadcasts locally over the default Paparazzi ivy bus 127.255.255.255:2010
Recipient Computer, option #2
This allows for a multiple tier control architecture.
Designate one computer as the server and run these 2 programs. First one communicates with remote controllers and second one with ground stations.
./sw/ground_segment/tmtc/broadcaster -f TM -t DL -p 4243 ./sw/ground_segment/tmtc/broadcaster
Designate the same or another or several other computers as remote controller and run:
./sw/ground_segment/tmtc/ivy_tcp_controller -h <ip address of server computer>
On the controller open Paparazzi Center using the -n option for the Server unless you wish to log messages locally, and use the tools within Paparazzi Center as you would do normally.
You can connect multiple ground stations to the same server.
All of these programs accept a --help argument and will show more options.
NOTE: For this to work it is necessary to synchronize the compiled code in the aircraft, the controller and the ground station.