mirror of
https://github.com/Schrolli91/BOSWatch.git
synced 2026-01-10 10:30:01 +01:00
Merge branch 'develop' into dev-express-alarm
This commit is contained in:
commit
d45ff3b197
|
|
@ -1,6 +1,6 @@
|
|||
# Changelog
|
||||
|
||||
### __[Unreleased]__
|
||||
### __[v2.2.3]__ - unreleased
|
||||
##### Added
|
||||
- zuschaltbare POCSAG Multicast-Alarm Funktionalität
|
||||
##### Changed
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
Zum schreiben des Changelog's siehe:
|
||||
http://keepachangelog.com/de/1.0.0/
|
||||
|
||||
### __[Unreleased]__
|
||||
### __[version]__ - date
|
||||
##### Added
|
||||
##### Changed
|
||||
##### Deprecated
|
||||
|
|
|
|||
72
README.md
72
README.md
|
|
@ -16,6 +16,10 @@ In der Zukunft wollen wir die Möglichkeit schaffen, codierte Nachrichten zu ent
|
|||
|
||||
:satellite: Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG :satellite:
|
||||
|
||||
#### WICHTIG
|
||||
**Es wird darauf hingewiesen, dass für die Teilnahme am BOS-Funk nur nach den Technischen Richtlinien der BOS zugelassene Funkanlagen verwendet werden dürfen.**
|
||||
**Der BOS-Funk ist ein nichtöffentlicher mobiler Landfunk. Privatpersonen gehören nicht zum Kreis der berechtigten Funkteilnehmer.** _(Quelle: TR-BOS)_
|
||||
|
||||
#### 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.
|
||||
|
|
@ -23,10 +27,13 @@ The software was developed using the Multimon-NG code, a function in the real op
|
|||
|
||||
**Please** only use Code from **master**-Branch - thats **the only stable!**
|
||||
|
||||
beta-branch is for beta-test of new features
|
||||
|
||||
unless you are developer you can use the develop-Branch - may be unstable!
|
||||
|
||||
### Features
|
||||
##### Implemented features:
|
||||
**list is not complete!**
|
||||
- FMS, ZVEI and POCSAG512/1200/2400 decoding and displaying
|
||||
- Plugin support for easy functional extension
|
||||
- Filtering double alarms with adjustable time and check width
|
||||
|
|
@ -42,30 +49,12 @@ unless you are developer you can use the develop-Branch - may be unstable!
|
|||
- NMA Error Handler
|
||||
- multicastAlarm for transmission optimized networks
|
||||
|
||||
##### 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
|
||||
please look at the wiki page
|
||||
|
||||
|
||||
### Configuration
|
||||
|
|
@ -106,52 +95,15 @@ 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
|
||||
```
|
||||
|
||||
please look at the wiki page
|
||||
|
||||
### Installation
|
||||
Please follow the instructions written down in the wiki:
|
||||
|
||||
https://github.com/Schrolli91/BOSWatch/wiki
|
||||
|
||||
You just need to download a single file since the installer manages the whole process except the installation of a webserver and a database.
|
||||
please look at the wiki page
|
||||
|
||||
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`
|
||||
##### Big thanks
|
||||
to smith_fms and McBo from Funkmeldesystem.de - Forum for Inspiration and Groundwork!
|
||||
|
|
|
|||
|
|
@ -1,6 +1,17 @@
|
|||
########################
|
||||
# BOSWatch Config File #
|
||||
########################
|
||||
|
||||
# ____ ____ ______ __ __ __
|
||||
# / __ )/ __ \/ ___/ | / /___ _/ /______/ /_
|
||||
# / __ / / / /\__ \| | /| / / __ / __/ ___/ __ \
|
||||
# / /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / /
|
||||
# /_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/
|
||||
# German BOS Information Script
|
||||
# configuration file
|
||||
#
|
||||
# The intercept of the German BOS radio is strictly
|
||||
# prohibited and will be prosecuted.
|
||||
# The use is only authorized personnel permitted!
|
||||
#
|
||||
|
||||
|
||||
[BOSWatch]
|
||||
# set loglevel for logfile
|
||||
|
|
@ -31,6 +42,7 @@ processAlarmAsync = 0
|
|||
|
||||
# Using RegEx-filter (0 - off | 1 - on)
|
||||
# filter-configuration in section [Filters]
|
||||
# if you are using the RegEx filter you must add filter rules to forward alarms
|
||||
useRegExFilter = 0
|
||||
|
||||
# for double check save the last n IDs
|
||||
|
|
@ -51,6 +63,7 @@ doubleFilter_check_msg = 0
|
|||
# writes the multimon-ng raw data stream into a text file named mm_raw.txt
|
||||
writeMultimonRaw = 0
|
||||
|
||||
|
||||
[NMAHandler]
|
||||
# you can use a logging handler for sending logging records to NotifyMyAndroid
|
||||
# enableHandler (0|1) will enable the NMA handler
|
||||
|
|
@ -79,12 +92,14 @@ idDescribed = 0
|
|||
# Better use RegEX to verify the correct data
|
||||
checkCRC = 0
|
||||
|
||||
|
||||
[ZVEI]
|
||||
# look-up-table for adding a description
|
||||
# using description (0 - off | 1 - on)
|
||||
# descriptions are loaded from csv/zvei.csv
|
||||
idDescribed = 0
|
||||
|
||||
|
||||
[POC]
|
||||
# some very simple filters:
|
||||
# Allow only this RICs (empty: allow all, separator ",")
|
||||
|
|
@ -114,6 +129,7 @@ ricd = Unwetter
|
|||
# Usually sent periodically, separated by comma
|
||||
netIdent_ric = 0174760, 1398098
|
||||
|
||||
|
||||
[multicastAlarm]
|
||||
# Configure multicastAlarm if your POCSAG network uses an optimized transmission scheme for alarms with more than one RIC (often found in Swissphone networks).
|
||||
# The optimized transmission scheme sends a POCSAG telegram with each RIC that needs to be alarmed in a sequence. These telegrams are send without a text message. This sequence is directly followed by a telegram with a special RIC and the text message.
|
||||
|
|
@ -132,16 +148,17 @@ multicastAlarm_delimiter_ric =
|
|||
# multicastAlarm RIC that is used to send the text message
|
||||
multicastAlarm_ric =
|
||||
|
||||
|
||||
[Filters]
|
||||
# RegEX Filter Configuration
|
||||
# http://www.regexr.com/ - RegEX Test Tool an Documentation
|
||||
# No Filter for a Typ/Plugin Combination = all Data pass
|
||||
# INDIVIDUAL_NAME = TYP;DATAFIELD;PLUGIN;FREQUENZ;REGEX
|
||||
# If RegEX is enabled - only alloewd data will pass!
|
||||
# INDIVIDUAL_NAME = TYP;DATAFIELD;PLUGIN;FREQUENZ;REGEX
|
||||
# TYP = the Data Typ (FMS|ZVEI|POC)
|
||||
# DATAFIELD = the field of the Data Array (see readme.md in plugin folder)
|
||||
# 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
|
||||
# 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}
|
||||
|
|
@ -166,7 +183,7 @@ Pushover = 0
|
|||
Telegram = 0
|
||||
yowsup = 0
|
||||
|
||||
# for developing template-module
|
||||
# for developing - template-module
|
||||
template = 0
|
||||
|
||||
|
||||
|
|
@ -189,36 +206,18 @@ tableSIG = bos_signal
|
|||
|
||||
# multiple URLs can be separated by comma
|
||||
|
||||
# you can use the following wildcards in your URL as GET params:
|
||||
# you can use the wildcards in your URL as GET params:
|
||||
# http://en.wikipedia.org/wiki/Query_string
|
||||
|
||||
# %FMS% = FMS Code
|
||||
# %STATUS% = FMS Status
|
||||
# %DIR% = Direction of the telegram (0/1)
|
||||
# %DIRT% = Direction of the telegram (Text-String)
|
||||
# %TSI% = Tactical Short Information (I-IV)
|
||||
# %DESCR% = Description from csv-file
|
||||
# %TIME% = Time (by script)
|
||||
# %DATE% = Date (by script)
|
||||
#Wildcards can be used, see end of the file!
|
||||
#fms_url = http://www.google.de?code=%FMS%&stat=%STATUS%
|
||||
fms_url =
|
||||
|
||||
# %ZVEI% = ZVEI 5-tone Code
|
||||
# %DESCR% = Description from csv-file
|
||||
# %TIME% = Time (by script)
|
||||
# %DATE% = Date (by script)
|
||||
#Wildcards can be used, see end of the file!
|
||||
#zvei_url = http://www.google.de?zvei=%ZVEI%
|
||||
zvei_url =
|
||||
|
||||
# %RIC% = POCSAG RIC
|
||||
# %FUNC% = POCSAG function/Subric (1-4)
|
||||
# %FUNCCHAR% = POCSAG function/Subric as character (a-d)
|
||||
# %FUNCTEXT% = POCSAG function/Subric static massage definded in POCSAG section
|
||||
# %MSG% = Message of the POCSAG telegram
|
||||
# %BITRATE% = Bitrate of the POCSAG telegram
|
||||
# %DESCR% = Description from csv-file
|
||||
# %TIME% = Time (by script)
|
||||
# %DATE% = Date (by script)
|
||||
#Wildcards can be used, see end of the file!
|
||||
#poc_url = http://www.google.de?ric=%RIC%&subric=%FUNC%&msg=%MSG%
|
||||
poc_url =
|
||||
|
||||
|
|
@ -243,42 +242,15 @@ to = user@irgendwo, user2@woanders
|
|||
# normal|urgent|non-urgent
|
||||
priority = urgent
|
||||
|
||||
# %FMS% = FMS Code
|
||||
# %STATUS% = FMS Status
|
||||
# %DIR% = Direction of the telegram (0/1)
|
||||
# %DIRT% = Direction of the telegram (Text-String)
|
||||
# %TSI% = Tactical Short Information (I-IV)
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %BR% = Insert line wrap (only in message)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
fms_subject = FMS: %FMS%
|
||||
fms_message = %DATE% %TIME%: %FMS%%BR%Status: %STATUS% - Direction: %DIRT% - TSI: %TSI%
|
||||
|
||||
# %ZVEI% = ZVEI 5-tone Code
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %BR% = Insert line wrap (only in message)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
zvei_subject = Alarm: %ZVEI%
|
||||
zvei_message = %DATE% %TIME%: %ZVEI%
|
||||
|
||||
# %RIC% = POCSAG RIC
|
||||
# %FUNC% = POCSAG function/Subric (1-4)
|
||||
# %FUNCCHAR% = POCSAG function/Subric als character (a-d)
|
||||
# %FUNCTEXT% = POCSAG function/Subric static massage definded in POCSAG section
|
||||
# %MSG% = Message of the POCSAG telegram
|
||||
# %BITRATE% = Bitrate of the POCSAG telegram
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %BR% = Insert line wrap (only in message)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
poc_subject = Alarm: %RIC%%LPAR%%FUNCCHAR%%RPAR%
|
||||
poc_message = %DATE% %TIME% - %DESCR%: %MSG%
|
||||
|
||||
|
|
@ -433,36 +405,13 @@ RICforLocationAPIKey =
|
|||
# Required if you want to create a map based on location information received with the above RIC.
|
||||
GoogleAPIKey =
|
||||
|
||||
# %FMS% = FMS Code
|
||||
# %STATUS% = FMS Status
|
||||
# %DIR% = Direction of the telegram (0/1)
|
||||
# %DIRT% = Direction of the telegram (Text-String)
|
||||
# %TSI% = Tactical Short Information (I-IV)
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
FMS_message = %DATE% %TIME%: %FMS%
|
||||
|
||||
# %ZVEI% = ZVEI 5-tone Code
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
ZVEI_message = %DATE% %TIME%: %ZVEI%
|
||||
|
||||
# %RIC% = POCSAG RIC
|
||||
# %FUNC% = POCSAG function/Subric (1-4)
|
||||
# %FUNCCHAR% = POCSAG function/Subric als character (a-d)
|
||||
# %MSG% = Message of the POCSAG telegram
|
||||
# %BITRATE% = Bitrate of the POCSAG telegram
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
POC_message = %MSG%
|
||||
|
||||
|
||||
|
|
@ -474,36 +423,13 @@ sender =
|
|||
# password from this number
|
||||
password=
|
||||
|
||||
# %FMS% = FMS Code
|
||||
# %STATUS% = FMS Status
|
||||
# %DIR% = Direction of the telegram (0/1)
|
||||
# %DIRT% = Direction of the telegram (Text-String)
|
||||
# %TSI% = Tactical Short Information (I-IV)
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
fms_message = %DATE% %TIME%: %FMS%
|
||||
|
||||
# %ZVEI% = ZVEI 5-tone Code
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
zvei_message = %DATE% %TIME%: %ZVEI%
|
||||
|
||||
# %RIC% = POCSAG RIC
|
||||
# %FUNC% = POCSAG function/Subric (1-4)
|
||||
# %FUNCCHAR% = POCSAG function/Subric als character (a-d)
|
||||
# %MSG% = Message of the POCSAG telegram
|
||||
# %BITRATE% = Bitrate of the POCSAG telegram
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
#Wildcards can be used, see end of the file!
|
||||
poc_message = %MSG%
|
||||
|
||||
|
||||
|
|
@ -514,3 +440,43 @@ poc_message = %MSG%
|
|||
[template]
|
||||
test1 = testString
|
||||
test2 = 123456
|
||||
|
||||
|
||||
#####################
|
||||
##### WILDCARDS #####
|
||||
#####################
|
||||
|
||||
##### FMS
|
||||
# %FMS% = FMS Code
|
||||
# %STATUS% = FMS Status
|
||||
# %DIR% = Direction of the telegram (0/1)
|
||||
# %DIRT% = Direction of the telegram (Text-String)
|
||||
# %TSI% = Tactical Short Information (I-IV)
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %BR% = Insert line wrap (only in message)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
|
||||
##### ZVEI
|
||||
# %ZVEI% = ZVEI 5-tone Code
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %BR% = Insert line wrap (only in message)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
|
||||
##### POCSAG
|
||||
# %RIC% = POCSAG RIC
|
||||
# %FUNC% = POCSAG function/Subric (1-4)
|
||||
# %FUNCCHAR% = POCSAG function/Subric als character (a-d)
|
||||
# %MSG% = Message of the POCSAG telegram
|
||||
# %BITRATE% = Bitrate of the POCSAG telegram
|
||||
# %DESCR% = Description, if description-module is used
|
||||
# %DATE% = Date (by script)
|
||||
# %TIME% = Time (by script)
|
||||
# %BR% = Insert line wrap (only in message)
|
||||
# %LPAR% = (
|
||||
# %RPAR% = )
|
||||
|
|
|
|||
Loading…
Reference in a new issue