Git Product home page Git Product logo

pi_sdr's Introduction

Pi_SDR

DIY SDR for the Raspberry Pi 3b and 4b

I wanted a dedicated, portable SDR package that was physicaly small in size for field work. There are several Amature Radio linux distros available for PC's and the Pi with SDR but I wanted to start from scratch and slowly make something that everyone wants and likes for the Pi by giving you a say in it. As not all apps are available in the software repository I thought that I could detail the buid instructions on this site so everyone else can do it. Get everyone not just those who can.

Development environment and dependencies courtesy of f4exb of sdrangel fame. Thanks mate. :)

$ sudo apt-get update && sudo apt-get -y install build-essential
git cmake g++ pkg-config autoconf automake libtool libfftw3-dev libusb-1.0-0-dev libusb-dev libhidapi-dev libopengl-dev
qtbase5-dev qtchooser libqt5multimedia5-plugins qtmultimedia5-dev libqt5websockets5-dev qt5-qmake qt5-qmake-bin
qttools5-dev qttools5-dev-tools libqt5opengl5-dev libqt5quick5 libqt5charts5-dev
qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2
qml-module-qtquick-dialogs qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts
libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev libqt5texttospeech5-dev
qtwebengine5-dev qtbase5-private-dev
libfaad-dev zlib1g-dev libboost-all-dev libasound2-dev pulseaudio libopencv-dev libxml2-dev bison flex
ffmpeg libavcodec-dev libavformat-dev libopus-dev doxygen graphviz libsndfile1 libsndfile1-dev

** The following installs the SoapySDR libs. $ sudo apt install libsoapysdr-dev libsoapysdr0.7 soapysdr-module-all

########################################## SigDiger latest main release. Now we download and build sigutils, suscan, SuWidgets and SigDigger. Make a temporary directory to download and build the code. ** We will get everything in one hit. $ cd ~ $ mkdir tmp;cd tmp $ git clone https://github.com/BatchDrake/sigutils $ git clone https://github.com/BatchDrake/suscan $ git clone https://github.com/BatchDrake/SuWidgets $ git clone https://github.com/BatchDrake/SigDigger

(3) Building and installing sigutils First, you must create a build directory and configure it with:

$ cd ~/tmp/sigutils $ mkdir build $ cd build $ cmake ..

(4) If the previous commands were successful, you can start the build by typing: $ make

(5) And proceed to install the library in your system by running as root: $ sudo make install $ sudo ldconfig

(6) Building and installing suscan.

$ cd ~/tmp/suscan $ mkdir build $ cd build $ cmake .. $ make

(7) If all is well. $ sudo make install $ sudo ldconfig

(8) You can verify your installation by running: $ suscan.status

(9) Building and installing SuWidgets. $ cd ~/tmp/SuWudgets $ qmake SuWidgetsLib.pro $ make $ sudo make install

(10) Building and installing SigDigger. $ cd ~/tmp/SigDigger $ qmake SigDigger.pro $ make -j5 $ sudo make install

(11) To run. $ ./SigDigger

##############################

By executing the following, you will download and compile the latest dev release. This release fixed the issue of the DC spike you see in the middle of the spectrum display. And if you like, you can keep up with the latest.

Grab the script SD.sh from the releases section and save it into ~/tmp Now

  1. cd ~/tmp; chmod +x SD.sh
  2. ./SD.sh
SDRPlusPlus

Source code for the latest nightly build. https://github.com/AlexandreRouma/SDRPlusPlus/archive/refs/heads/master.zip Source and binaries for stable releases https://github.com/AlexandreRouma/SDRPlusPlus/releases Source and binaries for nightly release. https://github.com/AlexandreRouma/SDRPlusPlus/releases/tag/nightly

***** If you dont have the C compiler installed execute the following. *****

$ sudo apt update && sudo apt -y install git cmake g++ pkg-config autoconf automake libtool libfftw3-dev libusb-1.0-0-dev libusb-dev libhidapi-dev libopengl-dev qtbase5-dev qtchooser libqt5multimedia5-plugins qtmultimedia5-dev libqt5websockets5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev libqt5quick5 libqt5charts5-dev qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev libqt5texttospeech5-dev qtwebengine5-dev qtbase5-private-dev libfaad-dev zlib1g-dev libboost-all-dev libasound2-dev pulseaudio libopencv-dev libxml2-dev bison flex ffmpeg libavcodec-dev libavformat-dev libopus-dev doxygen graphviz libsndfile1 libsndfile1-dev $ sudo apt install libfftw3-dev libglfw3-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev $ sudo apt install libzstd1 libzstd-dev libairspy-dev librtlsdr-dev

Setting up a RTL_TCP SERVER

Use ifconfig to get your local IP address. In our example eth0 is 192.168.45.183

Default port number is 1234

$ sudo apt install librtlsdr0 librtlsdr-dev rtl-sdr

$ cd ~/tmp

$ rtl_tcp -a 192.168.45.183 2>&1 >./rtl_tcp.log &

To check if it's running and listening. user@debian:~/tmp$ sudo netstat -natp | grep LIST

tcp 0 0 192.168.1.102:1234 0.0.0.0:* LISTEN 31860/rtl_tcp

Now just setup the IP and PORT number in your SDR app and your ready to go.

LIVE RTL_SDR Server to test your SDR App.

HOST: rtlsdr.tplinkdns.com PORT: 1234

If there is something else that you want made available, please feel free to contact me. Feel free to report any issues or if you'd like to see something else added. In the releases section you'll find a little video demo and Ver 1.0 of Pi_SDR.

And most importantly I'd like to thank the authors and open source community for allowing us amatuers to partake in this ever expanding technology.

Regards, John Telek.

pi_sdr's People

Contributors

john-telek avatar

Stargazers

Timothy avatar Alexander avatar

Watchers

Tim Makins avatar Kostas Georgiou avatar  avatar

Forkers

slippery62

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.