shajen / rtl-sdr-scanner

Automatically scan and record selected frequencies ranges using rtl-sdr.
GNU General Public License v3.0
57 stars 14 forks source link

support for RtlSdrTcpClient #12

Open evcatalyst opened 3 years ago

evcatalyst commented 3 years ago

would like to have support to enable an external rtl_tcp server connection. for example I have a raspberry pi with an rtlsdr dongle on it, and want to remotely access it to scan frequencies. I really like what you have done.

I have tried to modify it to switch the device = rtlsdr.RtlSdr() to device = rtlsdr.rtlsdrtcp.RtlSdrTcpClient(hostname=...) but it seems you are doing some probing of the device. would be good to have an escape hatch that allows you to add the hostname/ip into the config.json and it will bypass the device centric probing/enumeration, etc and get right to the scanning..

i like what you have put together, let me know if you have any questions on this, more than happy to help.

shajen commented 3 years ago

Great idea! I thought about this feature. If you replace device = rtlsdr.RtlSdr() with code that you sent RtlSdrTcpClient it should work.

Second place that need changes is sources/sdr/recorder.py. You need to add hostname or ip tortl_fm. I don't know how to do it excatly, but this is the place that needs to be corrected:

p1 = subprocess.Popen(
    ["rtl_fm", "-p", ppm_error, "-g", tuner_gain, "-M", modulation, "-f", str(frequency),"-s", samples_rate, "-l", squelch],
    stdout=subprocess.PIPE,
    stderr=subprocess.DEVNULL,
)

Feel free to make it and send pull request!

If I have time I will do it, but I can not said when it be.