<categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Tools</categorytree>
__TOC__

The <tt>tcp aircraft server</tt> (in <tt>sw/tools/tcp_aircraft_server/</tt>) 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|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|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. 


[[Category:Tools]] [[Category:User_Documentation]]