This guide is written using a Raspberry Pi Model 1b with RTLSDR dongle using the R820T tuner. Any Unix like system should work if you've got access to the rtl_fm tool.
This guide contains steps for both [[https://downloads.raspberrypi.org/raspbian/images/raspbian-2015-05-07/2015-05-05-raspbian-wheezy.zip|Raspbian Wheezy (5/5/2015)]] and [[https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-02-29/2016-02-26-raspbian-jessie-lite.zip|Raspbian Jessie Lite (26/02/2016)]].
===== First Steps =====
If using a Raspbian image you'll want to install it onto the SD card with a suitable disk imager, boot the Pi and expand the filesysyem. You'll likely want to install the relevant updates, change hostname and change the password for the pi user.
On Raspbian Jessie Lite you'll need to install git.
sudo apt-get install git
===== Getting the RTL Tools =====
==== Jessie image ====
On Jessie images there is a package with the required tools.
sudo apt-get install rtl-sdr
It should now be safe to plug in the dongle (if it was plugged in previously you may need to reboot to clear out the dvb drivers)
==== Wheezy image ====
You will need to compile the rtl-sdr tools manually as they're not packaged.
Install required build tools.
sudo apt-get install cmake libusb-1.0-0 libusb-1.0-0-dev
Get the Source code.
git clone git://git.osmocom.org/rtl-sdr.git
Setup the build environment
mkdir rtl-sdr/build
cd rtl-sdr/build
Build the tools
cmake ../ -DINSTALL_UDEV_RULES=ON
make
and install
sudo make install
sudo ldconfig
Blacklist the DVB drivers (based on the jessie package)
sudo tee /etc/modprobe.d/rtl-sdr-blacklist.conf >/dev/null << _EOF
# This system has librtlsdr0 installed in order to
# use digital video broadcast receivers as generic
# software defined radios.
blacklist dvb_usb_rtl28xxu
blacklist e4000
blacklist rtl2832
_EOF
It should now be safe to plug in the dongle (if it was plugged in previously you may need to reboot to clear out the dvb drivers)
==== Testing the dongle works ====
You can test the dongle with the rtl_test tool, this will give an output like:
pi@raspberrypi ~ $ rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.
Reading samples in async mode...
You can press Ctrl-C to exit this test.
If you get lots of errors it might indicate the dvb drivers are also loaded.
===== Software Decoder =====
Install the required libraries
sudo apt-get install libcurl4-openssl-dev
Get the code
git clone https://github.com/UKHASnet/UKHASnet-decoder.git
Compile
cd UKHASnet-decoder/
make
To decode and upload packets use:
rtl_fm -f 869500000 -s 64k -p 0 -r 8000 | ./UKHASnet-decoder -s 8000 -w
Fixes to apply include:
* Change the gateway name (currently change in the source code)
* See if we can provide an RSSI value
* Integrate some of the forked versions changes
* install target