Raspberry Pi Freq Show RTL-SDR scanner

I like to check what signal I may get from the RTL-SDR dongle via gqrx or SDR#, but I did not found a tool to do that on RPi. Recently I come across the “Raspberry Pi Freq Show RTL-SDR scanner” project ( learn.adafruit.com/freq-show-ra … r/overview ), but at first it did not work as I do not have the PiTFT. So I had to tweak the code a little bit to run the FreqShow on RPi 2 via RDP. PM me if interested.

Alex

You could always run rtl_tcp on the pi and connect remotely with SDR# or other program. It works quite well, albeit with a slight latency for tuning.

Not quite the same thing but along similar lines.

I wanted to listen to the local air traffic on my tablet or phone. A bit of searching came up with this website
http://zr6aic.blogspot.co.uk/2013/02/setting-up-my-raspberry-pi-as-sdr-server.html

There are others
http://www.hamradioscience.com/raspberry-pi-as-remote-server-for-rtl2832u-sdr/
http://photobyte.org/auto-start-rtl-sdr-server/

I had a spare Pi so went through the install and it all installed fine.


pi@raspberrypi ~ $ rtl_tcp -a 192.168.1.253 -p 1234
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Tuned to 100000000 Hz.
listening...
Use the device argument 'rtl_tcp=192.168.1.253:1234' in OsmoSDR (gr-osmosdr) sou                                                                                        rce
to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...).
client accepted!
set direct sampling 0
Disabled direct sampling mode
set freq correction 0


On my tablet I installed SDR Touch and the driver from the Google Play store

https://play.google.com/store/apps/details?id=marto.rtl_tcp_andro
https://play.google.com/store/apps/details?id=marto.androsdr2

SDR Touch has a menu option of selecting a Networked URL, it is called Open.

Just put in the IP address of the RPi and the port you selected above eg 192.168.1.253:1234 :smiley:

Some gotchas

I couldn’t get it to work with wireless on the RPi so had to connect via ethernet.
Direct connection of the dongle to the RPI didn’t work so I used a USB hub.
The antenna needs to be a good one for the frequency you want to listen to. I wanted to listen to my local control tower on 127.15MHz so I connected it to my 5 element FM yagi on the roof. It comes in loud and clear.
I had to fiddle with the Gain on SDR Touch. I have it set to Auto AGC.
Not all phones and tablets will work, so check the free version first before you purchase it.
I get some strange looking waterfalls so I just stop and start SDR Touch.

If you have a Windows machine then it works with SDR Sharp (SDR#) also. Lots of fiddling with sample rates, gain settings and squelch.

I can’t offer any sort of support for this as I only follow instructions without knowing what I’m doing :open_mouth: :open_mouth:

Just added a second dongle to one of my FllightAware RPis and used the following command

rtl_tcp -a 192.168.1.110 -p 1234 -d 1

All seems to be running at the moment. rtl_tcp adds about an extra 10% CPU.

Edit} Sorry forgot to say that you don’t need to do the install in my post above if you are already feeding FlightAware as rtl_tcp is already installed.

A couple of questions for those in the know :wink:

How does the RPi know which dongle is which? How are they addressed? I used the command rtl_tcp -a 192.168.1.110 -p 1234 -d 1 to use the second dongle I’d just attached. If I attach a third dongle do I just use -d 2?

Is there a way to start/stop rtl_tcp once I have the process automatically starting as part of the startup process?

[EDIT] For those of you who use SDRTouch, is there a way to store the url permanently behind the “Open” button? It goes back to a default setting each time I restart the app. I have paid my $10 for the full version.

How does the RPi know which dongle is which?

You can use rtl_eeprom to write unique serial numbers to your devices then just use that with rtl_tcp’s -d option.
http://manpages.ubuntu.com/manpages/xenial/man1/rtl_eeprom.1.html
Be warned, aparently you can brick the dongle by getting rtl_eeprom wrong

Is there a way to start/stop rtl_tcp

Quite a while ago I tried running multiple rtl_tcp daemons at boot via individual init.d scripts, cant find the scripts right now but it was a bit to unstable on my old OPI system (pre Armbian) so I went back starting and stopping from a ssh terminal. It may well be a bit more stable on Raspberrian so your mileage may vary.

@ ieand
Many thanks for your help. If there is any chance of bricking the dongle, I’ll leave well alone.

Up to you! I have done around 6 so far with no problems but my dongles are all the cheap $10 variaty so im never too worried and it’s worth it be able to simply distinguish between dongles on a remote server.
There are stories of the eeprom writes going bad over on https://www.reddit.com/r/RTLSDR/ but have never really looked into the circumstances.