- Support for client tagging (differentiate clients in the db)
- Support for GPS (still testing, need feedback from users)
consists of two parts: freqwatch.py
, which scans
the RF spectrum with rtl_power and records what it finds in a database
, and a modified rtl_fm that outputs to database
. 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
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
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:
This method has problems.
select data from intercepts where freq=95955000 order by date, time into outfile "dbout" fields escaped by '';
Instead, use the intercept.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 -
- GPS support is experimental and not tested