| config | ||
| includes | ||
| plugins | ||
| sql | ||
| www | ||
| .gitignore | ||
| boswatch.py | ||
| install.sh | ||
| LICENSE | ||
| plugin_test.py | ||
| README.md | ||
Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG
Notice:
The intercept of the German BOS radio is strictly prohibited and will be prosecuted. the use is only authorized personnel permitted. The software was developed using the Multimon-NG code, a function in the real operation can not be guaranteed.
Please only use Code from master-Branch - thats the only stable!
unless you are developer you can use the develop-Branch - may be unstable!
Features
Implemented Features:
- FMS, ZVEI and POCSAG512/1200/2400 decoding and Displaying
- Plugin support for easy Functions extension
- Filtering double alarms with adjustable time
- Filtering Allowed, Denied and Range of POCSAG RIC´s
- Filtering Data for each Typ/Plugin combination with RegEX
- All configurations in seperate config File
- Data validation (plausibility test)
- Logfiles for better Troubleshooting
- verbose/quiet Mode for more/none information
Features for the Future:
- more Plugins
###Plugins
Implemented Plugins:
- MySQL (insert Data into MySQL Database [FMS|ZVEI|POC])
- BosMon (send Data to BosMon Server [FMS|ZVEI|POC])
- httpRequest (send a request with parameter to an URL [FMS|ZVEI|POC])
for more Information to the Plugins see
config.ini
Plugins for the Future:
- E-mail Notification
- Other Ideas per Issues
Configuration
boswatch.py
Take a look into the Folder /config/
Rename config.template.ini to config.ini
In the Section [BOSWatch] you can set double_alarm_time etc.
In the Section [Plugins] you can activate or deactivate the Plugins
For each Plugin that requires configurations a own Section with his Name is available
For the other Functions see "Usage" below.
Filtering Functions (RegEX)
For the RegEX Filter Functions see Section [Filters]
http://www.regexr.com/ - RegEX Test Tool an Documentation
No Filter for a Typ/Plugin Combination = all Data pass
Syntax: INDIVIDUAL_NAME = TYP;DATAFIELD;PLUGIN;FREQUENZ;REGEX (separator ";")
- TYP = the Data Typ (FMS|ZVEI|POC)
- DATAFIELD = the field of the Data Array (See interface.txt)
- PLUGIN = the name of the Plugin to call with this Filter (* for all)
- FREQUENZ = the Frequenz to use the Filter (for more SDR Sticks (* for all))
- REGEX = the RegEX
only ZVEI to all Plugins with 25### at 85.5MHz testfilter = ZVEI;zvei;*;85500000;25[0-9]{3}
only POCSAG to MySQL with the text "ALARM:" in the Message pocTest = POC;msg;MySQL;*;ALARM:
Web Frontend
Put the Files in Folder /wwww/ into your local Webserver Folder (/var/www/). Now you must edit the "config.php" with your Userdata to your local Database. For the Parsing Functions take a look into the parser.php
Usage
sudo python boswatch.py -f 85.235M -a FMS ZVEI
Starts boswatch at Frequency 85.235 MHz with the Demodulation Functions FMS and ZVEI.
Parameter -f/--freq and -a/--demod are required!
Help to all usable Parameters with sudo python boswatch.py -h
usage: boswatch.py [-h] -f FREQ [-d DEVICE] [-e ERROR] -a
{FMS,ZVEI,POC512,POC1200,POC2400}
[{FMS,ZVEI,POC512,POC1200,POC2400} ...] [-s SQUELCH] [-v]
optional arguments:
-h, --help show this help message and exit
-f FREQ, --freq FREQ Frequency you want to listen
-d DEVICE, --device DEVICE Device you want to use (Check with rtl_test)
-e ERROR, --error ERROR Frequency-Error of your Device in PPM
-a {FMS,ZVEI,POC512,POC1200,POC2400} [{FMS,ZVEI,POC512,POC1200,POC2400} ...],
--demod {FMS,ZVEI,POC512,POC1200,POC2400} [{FMS,ZVEI,POC512,POC1200,POC2400} ...]
Demodulation Functions
-s SQUELCH, --squelch SQUELCH Level of Squelch
-v, --verbose Shows more Information
-q, --quiet Shows no Information. Only Logfiles
Installation
You can easy install BOSWatch with the install.sh Script.
- Download the install.sh in any Folder you want.
- Make it executeable
sudo chmod +x install.sh - And use the script
sudo sh install.sh
Now the script downloads and compile all needed data.
At the end you can find BOSWatch in ~/boswatch/
Rename config.template.ini to config.ini and configure
In case of an Error during the Installation, check the Logfile in ~/boswatch/install/setup_log.txt
Caution, script don't install a Webserver with PHP and MySQL. So you have to make up manually if you want to use MySQL support.
Requirements
- RTL_SDR (rtl_fm)
- Multimon-NG
- Python Support
- MySQL Connector for Python
