share by nanoops
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:
rtl2832U 820t usb stick BananaPi
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
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 '
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/ )