Code Monkey home page Code Monkey logo

boswatch's Introduction

# BOSWatch

πŸ“‘ 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 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
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 βœ… βœ… βœ…
httpRequest send a request with parameter to an URL βœ… βœ… βœ…
eMail send Mails with own text βœ… βœ… βœ…
BosMon send data to BosMon server βœ… βœ… βœ…
firEmergency send data to firEmergency server ❌ βœ… βœ…
jsonSocket send data as jsonString to a socket server βœ… βœ… βœ…
  • 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 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 (obsolete)

New version in future - old data in folder /www/

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

boswatch's People

Contributors

schrolli91 avatar jhcd avatar smith-fms avatar daguich avatar imsoftware avatar tauebenuss avatar

Watchers

Ricardo Krippner avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.