Keeping tabs on the airwaves with RTL-SDR

Update v0.2


Freqwatch consists of two parts:, which scans the RF spectrum with rtl_power and records what it finds in a database table freqs, and a modified rtl_fm that outputs to database table intercepts. The modified rtl_fm, like the regular rtl_fm, supports scanning multiple frequencies with squelch.

Combined, these two tools let you keep tabs on and document the airwaves. Here's the configuration file. Notice it's configured to use three rtl-sdr sticks as scanners:

You can look at the output by connecting to the sql server:

Or by using something like Splunk. Splunk can be used to find trends in the data and let you know when something changes, for example. You could get a baseline for a general area, then move on to a target of interest's location and see what pops up that wasn't there before... will run until you interrupt it, your database fills up, or something bad happens.

The modified rtl_fm works like the regular rtl_fm, except that it outputs to the database you specified in freqwatch.conf. All the cool features of rtl_fm are available to help you sort out the data you want.


Extract data from the intercept database to a file, so you can process (e.g. listen to) it:
select data from intercepts where freq=95955000 order by date, time into outfile "dbout" fields escaped by '';

This method has problems. Instead, use the program that comes with freqwatch to get data from the monitor table.

Here's how you might play it if it's WBFM audio:
cat file | play -t raw -r 32k -e signed-integer -b 16 -c 1 -V1 -



The code is beta. If you want to help out, email freqwatch -!-