Skip to content
This repository has been archived by the owner on Aug 2, 2021. It is now read-only.

UWARG/data-relay-station

Repository files navigation

Base Station

This project contains the base station code for communicating with the aircraft. It acts as an intermediary, collecting information from the data link (the xbee), buffering the most recent telemetry blocks and sending them out to as many client ground stations as desired.

Architecture

# TODO: Make this diagram prettier

master ground station <=======IP/TCP====> base station <==XBee==> plane
tertiary ground station <===|
tertiary ground station <===|
   .                        |
   .                        |
   .                        |
tertiary ground station <===/

Install

Runs on Linux and Windows

Requires python2.7

It is recommended to use pip to install the dependencies from the requirements.txt.

$ pip install -r requirements.txt

Probably even better to use virtualenv.

If you can't do that, you will need Twisted, pySerial, python-xbee and argparse (argparse is probably already installed with python, but not always).

Running

To run the base station, open a shell or command prompt and change directory into the project root.

To display help

$ python2.7 data_relay.py -h

To run the base station with the xbee connected

$ python2.7 data_relay.py

To run the base station without an XBee (useful for testing).

python2.7 data_relay.py --simfile FILENAME.csv

A successful data-relay-station connection may look as such: data-relay-station connection

Sample Flight Data

Data collected from all flights is stored here. The data collected is stored in folders that are in alphabetical-sequential order, and all files are time stamped.

MultiEcho

A server to re-echo any data sent to it. It will also transmit the history of data sent on initial connection.

To run the multi echo server

$ python2.7 multi_echo.py

You can set the size of the history (default is 200)

# Set the history to 69
$ python2.7 multi_echo.py --max_history 69