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.
# TODO: Make this diagram prettier
master ground station <=======IP/TCP====> base station <==XBee==> plane
tertiary ground station <===|
tertiary ground station <===|
. |
. |
. |
tertiary ground station <===/
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).
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 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.
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