share by nanoops
Hi all,
today i got my banapi running software defined radio. I just want to share all the information with you - maybe someone else is trying and stuck in the middle
Based on Igor Pecovnik (www.igorpecovnik.com) Debian Jessy BananaPi Image with Kernel 3.19.0. He has done an awesome work. Please visit http://www.igorpecovnik.com/2014/09/07/banana-pi-debian-sd-image/ for all details about. Software Defined Radio on BananaPi (rtl2832U / gnuradio)
[ https://github.com/NanoOps/BananaSDR ] This repo is a simple way of getting into the rtl-sdr topic with hopefully useful tipps to get it up and running quickly …
Please check if it is legal in your country doing some or all of the things here. I am under no circumstances be responsible for what you doing. I only show you this for educational purpose.
Some useful links:
http://www.rtl-sdr.com/
https://www.youtube.com/results?search_query=hak5+rtl+sdr
Hardware required:
rtl2832U 820t usb stick
BananaPi
Example Amazon:
Salcar® TV Stick DVB-T Empfänger FM-Radio & Digitalradio Empfänger, Chip RTL2832U & R820T, SDR (~15 Euro)
Allnet Banana Pi Bundle 4GB SDHC Karte + Gehäuse +Netzteil 2A weiß Bananapi Mini PC-System/Mediaplayer (~ 59 Euro)
Base System Installation
First you need to copy the image onto a sd-card. A writer for windows is included inside the zip.
After the first boot new ssh keys and resize of the sd-card is done automaticly - so the first boot will be a little bit longer then the usual one (included a reboot after resize sd card). The password for the root account (ssh) is 1234 and you will be asked for a new one on first login.
Driver Installation rtl2832
aptitude update
aptitude install libusb-1.0-0-dev
cd /usr/local/src/repositories
git clone https://github.com/steve-m/librtlsdr.git
cd librtlsdr
mkdir build
cd build
cmake ../
make install
ldconfig
You could test the driver after re-plugged in the rtl usb stick with rtl_test from the command line.
rtl_test
# Found 1 device(s):
# 0: Generic, RTL2832U, SN: xxxxxxxxxxxxxxxxx
# Using device 0: Generic RTL2832U
# Found Rafael Micro R820T tuner
# ....
ADS-B: Airplane tracking
mkdir -p /usr/local/src/repositories
cd /usr/local/src/repositories
git clone https://github.com/antirez/dump1090.git
cd dump1090
make
cp ./dump1090 /usr/local/bin/
You could test the installation quick from command line. More options like visual representation (builtin webserver) are available - just check --help
dump1090 --aggressive --interactive --enable-agc
RDS: RDS from FM stations
Documentation: http://www.windytan.com/2015/02/receiving-rds-with-rtl-sdr.html
cd /usr/local/src/repositories
git clone https://github.com/windytan/redsea.git
cd redsea
make
The perl script isnt already ready to be installed somewhere, so leave it inside the repo or fix the paths to your needs. A simple test from the command line:
cd /usr/local/src/repositories/redsea
./redsea.pl 102.39M -l # 102.39M change frequency to your local FM Station
# D391 0A TP:0 PTY:10 TA:1 MS:M AF:105.5MHz AF:107.7MHz PS:' 1LIVE '
GNURadio Installation
Documentation for GNURadio can be found: http://gnuradio.org/redmine/projects/gnuradio/wiki
aptitude install gnuradio gnuradio-doc gnuradio-dev libgl1-mesa-dri libgtk2.0-bin python-matplotlib python-networkx python-qt4 python-qwt5-qt4 python-scipy python-tk python-zmq python-gtk2 hicolor-icon-theme xorg lightdm xfce4 xfce4-goodies tango-icon-theme gnome-icon-theme gnome-themes-standard libuhd-dev uhd-host python-swiginac swig3.0 swig libcppunit-dev libboost1.55-all-dev liblog4cpp5-dev
cd /usr/local/src/repositories/
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR
git submodule init # enable OsmoSupport/gr-osmosdr (Osmocom RTLSDR)
git submodule update
mkdir build
cd build
cmake ../
make
make install
ldconfig
SoapySDRUtil --info
cd /usr/local/src/repositories/
git clone https://github.com/pothosware/gr-sdr.git
cd gr-sdr
mkdir build
cd build
cmake ../
make
make install
ldconfig
cd /usr/local/src/repositories/
git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
mkdir build
cd build
cmake ../
make
make install
ldconfig
Last but not least you need to adjust your environment variables ~/.bashrc
cat >> /root/.bashrc << "EOF"
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages/PYTHONPATH
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/PKG_CONFIG_PATH
export GRC_BLOCKS_PATH=/usr/local/share/gnuradio/grc/blocks/GRC_BLOCKS_PATH
"EOF"
If you like you could install tightvncserver for remote X-Desktop (xrdc for linux client) but you could also X11 forward by using ssh with the -X option.
gnuradio-companion is the tool you really want. Since you have installed python bindings for ZeroMQ you could pipe all the data you fetch on your bananapi to any remote system. Its all implemented in gnuradio
If you work only local on your bananapi then gqrx-sdr from default jessie repository is a look worth. ( http://gqrx.dk/ )