/kerberossdr

KerberosSDR Demo software for direction finding and passive radar

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Note:

You'll need to set your Station ID, Latitude, and Longitude in the `run.sh` file or set the software to use gpsd.

Change Log

  • Added gpsd integration. Gets location directly from the pi if a GPS receiver is plugged in. USB GPS receivers are surprisingly cheap.

    • Set up gpsd per your OS's Instructions
    • You'll need the gpsd-py3 library. Run pip3 install gpsd-py3
    • edit the LAT and LON values in run.sh to say "gpsd"
    • If you are configuring a stationary receiver HEADING should reflect the orientation of your array.
    • If you are configuring a mobile receiver HEADING should say "gpsd"
  • Added expanded XML format which can transmit location and heading data if supplied by the user. Added location and heading to run.sh.

    • This new format does not break app compatibility.

Ubuntu 20.04 Users NOTE:

The Qt5 Expanded XML version is available here: https://github.com/ckoval7/kerberossdr/tree/PyQt5_Extended_XML

  • git clone https://github.com/ckoval7/kerberossdr.git
  • cd kerberossdr
  • git checkout PyQt5_Extended_XML

Please see the software tutorial at www.rtl-sdr.com/ksdr

KerberosSDR Demo Software

Installing the software

  1. Install Dependencies via apt:

sudo apt update
sudo apt install python3-pip python3-pyqt4 pyqt4-dev-tools build-essential gfortran libatlas3-base libatlas-base-dev python3-dev python3-setuptools libffi6 libffi-dev python3-tk pkg-config libfreetype6-dev php7.2-cli

  1. Uninstall any preinstalled numpy packages as we want to install with pip3 to get optimized BLAS.

sudo apt remove python3-numpy

  1. Install Dependencies via pip3:

pip3 install gpsd-py3 numpy matplotlib scipy cairocffi pyapril pyargus pyqtgraph peakutils bottle paste

  1. Install RTL-SDR-Kerberos Drivers

Our Kerberos RTL-SDR driver branch contains code for slightly modified Osmocom RTL-SDR drivers that enable GPIO, disable dithering, and disable zerocopy buffers which seems to cause trouble on some ARM devices.

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

git clone https://github.com/rtlsdrblog/rtl-sdr-kerberos

cd rtl-sdr-kerberos
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf

  1. Reboot the Pi.

  2. Test 4x Tuners

At this stage we recommend first testing your four tuners with rtl_test. Open four terminal windows, or tabs, and in each window run "rtl_test -d 0", "rtl_test -d 1", "rtl_test -d 2" and "rtl_test -d 3". Ensure that each unit connects and displays no errors. Install KerberosSDR Demo Software

  1. Clone or unzip the software

git clone https://github.com/ckoval7/kerberossdr
cd kerberossdr
sh setup_init.sh

  1. Now you can run the software by typing

./run.sh

Full software tutorial at www.rtl-sdr.com/ksdr

TROUBLESHOOTING:

Edit the run.sh file and comment out the >&/dev/null parts on the last line to show any errors to the terminal.

This software was 95% developed by Tamas Peto, and makes use of his pyAPRIL and pyARGUS libraries. See his website at www.tamaspeto.com