consists of two parts:freqwatch.py
, which scans the RF spectrum with rtl_power and records what it finds in a database tablefreqs
, and a modified rtl_fm that outputs to database tableintercepts
. The modified rtl_fm, like the regular rtl_fm, supports scanning multiple frequencies with squelch.
Combined, these two tools let you keep tabs onand document
the airwaves. Here's the freqwatch.py 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...
Freqwatch.py 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.
select data from intercepts where freq=95955000 order by date, time into outfile "dbout" fields escaped by '';This method has problems.
Instead, use theintercept.py
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 -