mirror of
https://github.com/Schrolli91/BOSWatch.git
synced 2025-12-06 07:42:03 +01:00
163 lines
6.6 KiB
Markdown
163 lines
6.6 KiB
Markdown
**Codacy - static code analysis:**
|
||
|
||
|branch|quality|
|
||
|---|---|
|
||
|master-branch|[](https://www.codacy.com/app/Schrolli91/BOSWatch/dashboard?bid=3763821)|
|
||
|develop-branch|[](https://www.codacy.com/app/Schrolli91/BOSWatch/dashboard?bid=3763820)|
|
||
|
||
**Achtung:** Die readme ist veraltet - Neue Informationen werden im Laufe der Zeit in das Github Wiki integriert!
|
||
|
||
**Attention:** This readme is outdated - New informations will be integrated in the Github Wiki!
|
||
|
||
|
||

|
||
|
||
:satellite: Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG :satellite:
|
||
|
||
#### 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 functional extension
|
||
- Filtering double alarms with adjustable time and check width
|
||
- Filtering allowed, denied and range of POCSAG RIC´s
|
||
- Filtering data for each typ/plugin combination with RegEX
|
||
- All configurations in a seperate config file
|
||
- Data validation (plausibility test)
|
||
- Description look-up from csv-files
|
||
- Logfiles for better troubleshooting
|
||
- verbose/quiet mode for more/none information
|
||
- Ready for use BOSWatch as daemon
|
||
- possibility to start plugins asynchron
|
||
- NMA Error Handler
|
||
|
||
##### Features for the future:
|
||
- more plugins
|
||
- other Ideas per Issues please
|
||
|
||
|
||
###Plugins
|
||
If you want to code your own Plugin, see `plugins/README.md`.
|
||
|
||
##### Implemented plugins:
|
||
|
||
|Plugin|Function|FMS|ZVEI|POC|
|
||
|-----|---------|:-:|:--:|:-:|
|
||
|MySQL|insert data into MySQL database|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|
||
|httpRequest|send a request with parameter to an URL|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|
||
|eMail|send Mails with own text|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|
||
|BosMon|send data to BosMon server|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|
||
|firEmergency|send data to firEmergency server|:x:|:white_check_mark:|:white_check_mark:|
|
||
|jsonSocket|send data as jsonString to a socket server|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|
||
|NMA|send data to Notify my Android|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|
||
|
||
- for more Information to the plugins see `config.ini`
|
||
|
||
##### Plugins for the Future:
|
||
- Ideas per Issues please
|
||
|
||
|
||
### 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 combination typ/plugin = all data will 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 readme.md in plugin folder)
|
||
- `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 (obsolete)
|
||
old data in folder `/exampeAddOns/simpleWeb/`
|
||
|
||
~~Put the files in folder /wwww/ into your local webserver folder (f.e. /var/www/).
|
||
Now you must edit the "config.php" with your userdata to your local database.
|
||
Take a look into the parser.php for the parsing functions~~
|
||
|
||
|
||
### 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
|
||
-u, --usevarlog Use '/var/log/boswatch' for logfiles instead of subdir 'log' in BOSWatch directory
|
||
-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.
|
||
Database Structure `boswatch.sql` in the MySQL Plugin Folder
|
||
|
||
If you want to use BOSWatch as a daemon, you have to set your
|
||
configuration in `service/boswatch.sh` and copy it to `/etc/init.d`.
|
||
Then you can start BOSWatch with `sudo /etc/init.d/boswatch.sh start`.
|
||
For configuration-details see `service/README.md`.
|
||
|
||
### Requirements
|
||
- RTL_SDR (rtl_fm)
|
||
- Multimon-NG
|
||
- Python Support
|
||
- MySQL Connector for Python (for MySQL-plugin)
|
||
|
||
Thanks to smith_fms and McBo from Funkmeldesystem.de - Forum for Inspiration and Groundwork!
|
||
|
||
|
||
### Code your own Plugin
|
||
See `plugins/README.md`
|