mattsnow / gr-ogn

An Open Glider Network Transport Protocol (OGNTP) receiver and decoder for GNU Radio
MIT License
0 stars 0 forks source link

gr-ogn

Python framer and decoder for processing OGNTP messages in GNU Radio. Includes example flow graph for end-to-end processing of messages.

Installation

The following instructions will take a clean install of Ubuntu 16.04.2 to a point where the example can be run.

Prerequisites

sudo apt-get install gnuradio
sudo apt-get install libusb-1.0-0-dev
sudo apt install cmake
sudo apt install git

rtl-sdr

git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

gr-osmosdr

sudo apt-get install gr-osmosdr

gr-ogn

git clone https://github.com/mattsnow/gr-ogn.git
cd gr-ogn/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

Usage

  1. Open the GRC flowchart found in the /examples directory.
  2. Modify the File Source block to point to test_data.bin, which is also in the /examples directory.
  3. Execute the flowgraph. The program will decode the OGN packet recorded in the sample data.
  4. The decoded output will be displayed in the GRC Reports Panel.
  5. The decoded output will be logged to two log files that are located in the /build directory.

The decoded positions can also be viewed in a Google Maps window. To do this, webserver.sh needs to be made executable. This can be set in the properties window. Then to start the web server, navigate a console window to the same directory and enter:

./webserver.sh

Navigating to http://127.0.0.1:8000 will show the directory listing. The "ogn_json" log file needs to be copied from the /build directory into the same directory as ogn_map.html. Then simply load ogn_map.html to view the plotted positions.

To change from a simulated input to actual hardware, the blocks at the start can be enabled or disabled as appropriate.

More detailed documentation is available in "Aircraft Collision Avoidance Systems.pdf" in the /docs folder.