APRS RX IGate with RTL-SDR and Raspberry Pi

Compile programs

This will install the necessary programs needed to download, compile, and install the drivers and software. I generally followed this procedure for installing these programs. I did not install Kalibrate as the examples didn’t work for me and I knew (I think) a better way to calibrate the dongle.

aprs_rx_rtl-sdr_pi_igate-06_sources-01_apt-get_update

Connect via SSH to the Pi.

Update the repository archives by entering

sudo apt-get -y update

For a description of this command see the Updating Wheezy Raspbian section.

aprs_rx_rtl-sdr_pi_igate-06_sources-02_apt-get_install_dependencies

Install the program dependencies by entering

sudo apt-get --no-install-recommends -y install git cmake libusb-1.0-0-dev libpulse-dev libx11-dev screen qt4-qmake libtool autoconf automake libfftw3-dev

Newer versions of Raspberry Pi OS require additional packages:

sudo apt-get --no-install-recommends -y install git cmake libusb-1.0-0-dev libpulse-dev libx11-dev screen qt4-qmake libtool autoconf automake libfftw3-dev qt4-default make g++

For a description of this command see the Updating Wheezy Raspbian section.
no-install-recommends: only installs the main dependencies for the package(s) and no suggested dependencies.

RTL-SDR drivers

This will install drivers and programs for the RTL-SDR dongle.

aprs_rx_rtl-sdr_pi_igate-07_compile_rtl-sdr-01_prep_git_cmake

Create a temporary place to compile the programs by entering

mkdir -v /home/pi/sources/

cd /home/pi/sources/

git clone git://git.osmocom.org/rtl-sdr.git

Git: version control system which includes the ability to make code changes to a repository and submit the changes for approval. It will be used to make copies of repositories (source code) from the Internet to the Pi.

cd /home/pi/sources/rtl-sdr/

Create a place to store compiled (built) code (binary files).

mkdir -v /home/pi/sources/rtl-sdr/build/

cd /home/pi/sources/rtl-sdr/build/

cmake ../ -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=ON

Cmake: checks details about the machine on which the software is going to be installed. This script checks for dependencies. It generates Makefile. Makefile indicates the sequence that Linux must follow to build various components / sub-programs of the software. This is similar to ‘configure’ (details from: codecoffee).

aprs_rx_rtl-sdr_pi_igate-07_compile_rtl-sdr-02_make

make

make: takes Makefile and compiles the code to generate executable programs (details from: codecoffee).

aprs_rx_rtl-sdr_pi_igate-07_compile_rtl-sdr-03_make_install

sudo make install

make install: also uses Makefile and copies the execrable into the required directories (details from: codecoffee). This must be run as root so permissions will be correct.

aprs_rx_rtl-sdr_pi_igate-07_compile_rtl-sdr-04_ldconfig

sudo ldconfig

ldconfig: creates the necessary links and cache to the most recent shared libraries. We just installed new libraries for the RTL-SDR dongle and ldconfig will make them active.

MultimonNG

This will install MultimonNG which decodes digital transmissions. It is a fork of Multimon with added features. A list of supported modes is available in their README.

aprs_rx_rtl-sdr_pi_igate-08_compile_multimon-ng-01_prep_git_qmake_make

cd /home/pi/sources/

git clone https://github.com/EliasOenal/multimonNG.git

cd /home/pi/sources/multimonNG/

mkdir -v /home/pi/sources/multimonNG/build/

cd /home/pi/sources/multimonNG/build/

qmake ../multimon-ng.pro

make

For a description of these command see the RTL-SDR drivers section. qmake is similar to cmake.

aprs_rx_rtl-sdr_pi_igate-08_compile_multimon-ng-02_make_install

sudo make install

For a description of this command see the RTL-SDR drivers section.

Pymultimonaprs

This will install pymultimonaprs which relays decoded data to the APRS-IS network.

aprs_rx_rtl-sdr_pi_igate-09_install_pymultimonaprs-01_prep_git_python_install

cd /home/pi/sources/

git clone https://github.com/asdil12/pymultimonaprs.git

cd /home/pi/sources/pymultimonaprs/

sudo python setup.py install

python: is a programming language interpreter.
setup.py: script written by the author which python executes.
install: parameter telling setup.py which command set to run.

aprs_rx_rtl-sdr_pi_igate-09_install_pymultimonaprs-02_reboot

Reboot once we’re done to get everything in place.

sudo reboot

Programs are installed!