I’ve created a pretty crazy python script that does the following:
- With a properties file, you configure an rtl_survey
- It runs an rtl_power broadband survey and dumps the result into a CSV file
- Automatically processes the CSV file and generates the heatmap using keenerd’s script (github.com/keenerd/rtl-sdr-misc). The heatmaps are “split” into a range you desire (ex: one image every 900 mhz, all configurable through the ppty file)
- Looks up all seen frequencies stronger than a given threshold and looks them up (per geographical location) on on the Industry Canada Spectrum Direct Website, where we get the licensee information, frequency, and loads more information about who is transmitting.
- Generates an HTML report of the frequencies observed, and a graphical “heatmap” with which frequency belongs to whom. Also notes frequencies that were observed which don’t have a published license.
- (configurable) e-mails you the whole shabang (without the CSV file).
- (configurable) reboots the machine.
I also will give scripts how to make this into a CRON job. Its running on a weekly basis for me and its going pretty good!
- Uses mostly stock Python3 libraries, but you will need http2 installed. I provide instructions.
- Currently only uses Industry Canada Spectrum Direct, but its based on “handler” pattern where you will specify your frequency handler in the config file according do your country and it returns a standard class result. So we can “plug in” as many handlers for different countries as we want without having to rewrite any of the original code.
- Works on the rpi because that’s where I use it
I’ll publish it here soon!