TUTORIAL HOW RECEIVE SSTV WITH RASPBERRY PI2 AND RTL-SDR V3 📺
- Install RTL-SDR drivers
sudo apt-get update
sudo apt-get install libusb-1.0-0-dev git cmake -y
git clone https://github.com/keenerd/rtl-sdr
cd rtl-sdr/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig
echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf
Now reboot to apply the blacklist, and plug in your RTL-SDR
- Install PulseAudio & Mplayer for playing the audio
sudo apt-get install pulseaudio pavucontrol mplayer -y
- Install CSDR
sudo apt-get install libfftw3-dev -y
cd ~
git clone https://github.com/simonyiszk/csdr
cd csdr
make
sudo make install
- Install NCAT for TCP server (Multi channel receiver)
- Install QSSTV
sudo apt-get install qsstv
- Create virtual audio
sudo leafpad /etc/pulse/default.pa
Add the following lines to the end of the file:load-module module-null-sink sink_name=Virtual0
sink_properties=device.description="Virtual0"
Now in a terminal window run the command below to set up an RTL-SDR TCP server with ncat.
rtl_sdr -s 1200000 -f 14230000 -D 2 - | csdr convert_u8_f | ncat -4l 4952 -k --send-only --allow 127.0.0.1
In a second terminal window/tab run this command:
ncat -v 127.0.0.1 4952 | csdr shift_addition_cc `python -c "print float(14230000-14230000)/1200000"` | csdr fir_decimate_cc 25 0.05 HAMMING | csdr bandpass_fir_fft_cc 0 0.5 0.05 | csdr realpart_cf | csdr agc_ff | csdr limit_ff | csdr convert_f_s16 | mplayer -nocache -rawaudio samplesize=2:channels=1:rate=48000 -demuxer rawaudio -
Open pavucontrol either by going to the Raspberry Pi Start Menu -> Sound & Video -> PulseAudio Volume control, or by simply typing "pavucontrol" in at the command line. Click on the Playback tab, and set MPlayer to use the "Virtual 0" audio sink.
- Setting QSSTV
You adjust the audio input for a better reception of the image.
You can use this system to receive SSTV from the ISS (International Space Station)
You can use this system to receive SSTV from the ISS (International Space Station)
at 145.800 Mhz.
You must change these values in the terminal:
You must change these values in the terminal:
rtl_sdr -s 1200000 -f 145800000 - | csdr convert_u8_f | ncat -4l 4952 -k --send-only --allow 127.0.0.1
And:
ncat -v 127.0.0.1 4952 | csdr shift_addition_cc `python -c "print float(145800000-145800000)/1200000"`
| csdr fir_decimate_cc 25 0.05 HAMMING | csdr bandpass_fir_fft_cc 0 0.5
0.05 | csdr realpart_cf | csdr agc_ff | csdr limit_ff | csdr
convert_f_s16 | mplayer -nocache -rawaudio
samplesize=2:channels=1:rate=48000 -demuxer rawaudio -
Good reception
Comments
I get an error with netcat:
netcat: invalid option -- '-'
Then some initialization of device and tuning
Signal Caught, exiting
Signal Caught, exiting
Short write, samples lost, exiting
User Cancel, exiting
Any ideas?
Says bash: ncat: command not found
Changing the ncat to netcat: gives the exact same error reported by Bill Levien above.
Now off to a different approach I guess. Raspian Buster
I believe the line
sudo apt-get install nmap -y
should be
sudo apt-get install ncat -y
Also the blog posting software separates many of the long command lines into more than one line. For example. the last "ncat -v ..." line looks like 5 lines on the blog page; but it is, in fact, are one long command line which should not be broken up with carriage returns.