de:Plugins:MySQL - Schrolli91/BOSWatch GitHub Wiki
Plugin: MySQL
Realisiert die Anbindung an eine mySQL-Datenbank.
Voraussetzungen
Für den Betrieb des Plugins sind folgende Voraussetzungen zu schaffen:
- MySQL installieren:
sudo apt-get install mysql-server
- das root-Passwort bitte merken - Die Datei
plugins/MySQL/boswatch.sql
einspielen:mysql --host=localhost --user=root --password=PASSWORT -vvf datenbank_name < boswatch.sql
Hinweis: Beim Einspielen der Datenbank-Datei wird das Passwort für den Benutzer 'boswatch' auf 'root' gesetzt.
Funktionsweise
Eingehende Alarme oder Status werden in die jeweilige Tabelle der Datenbank boswatch
(default) eingetragen. Die Menge der Informationen ist vom dekodierten Signal abhängig.
Für POCSAG-Netze besteht weiterhin die zyklischen Netz-RIC (Signal-RIC) in einer separaten Tabelle einzutragen; der Zeitstempel zeigt dann den Zeitpunkt der letzten Dekodierung an.
Config
Im Part [MySQL]
der config.ini befindet sich die Konfiguration für das MySQL-Plugin.
# Verbindung zur Datenbank und auswahl der Datenbank
dbserver = localhost //Datenbankserver - IP oder 'localhost'
dbuser = root //Datenbankuser
dbpassword = root //Passwort für Datenbankuser
database = boswatch //BOSWatch Datenbank
# Datenbanktabellen für FMS/ZVEI/POCSAG
tableFMS = bos_fms
tableZVEI = bos_zvei
tablePOC = bos_pocsag
table = bos_signal
Datenbank im Detail
Im Folgenden werden die Strukturen der Datenbank und der darin enthaltenen Tabellen dargestellt. Daraus leiten sich die abgespeicherten Informationen ab.
Für alle Tabellen gilt:
id
: Fortlaufender Zähler für die Einträgetime
: Zeitstempel des Eintrags
Tabelle bos_fms
CREATE TABLE IF NOT EXISTS `bos_fms` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`time` DATETIME NOT NULL,
`fms` VARCHAR(8) NOT NULL,
`status` VARCHAR(1) NOT NULL,
`direction` VARCHAR(1) NOT NULL,
`directionText` TEXT(10) NOT NULL,
`tsi` VARCHAR(3) NOT NULL,
`description` TEXT NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MYISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;
fms
: 8stellige FMS-Kennung (HiOrg, Bundesland, Ortsbereich, Fahrzeug, lfd. Nummer)status
: Übermittelter Statusdirection
: 1 oder 0directionText
: Fzg->LSt oder umgekehrttsi
: Taktische Kurzinformation (I-IV)description
: Sollte in derfms.csv
ein Eintrag für die FMS-Kennung hinterlegt sein, so wird an dieser Stelle der Wert angegeben
Tabelle bos_zvei
CREATE TABLE IF NOT EXISTS `bos_zvei` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`time` DATETIME NOT NULL,
`zvei` VARCHAR(5) NOT NULL DEFAULT '0',
`description` TEXT NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MYISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;
zvei
: 5-Ton-Folgedescription
: Sollte in derzvei.csv
ein Eintrag für die ZVEI-Kennung hinterlegt sein, so wird an dieser Stelle der Wert angegeben
Tabelle bos_pocsag
CREATE TABLE IF NOT EXISTS `bos_pocsag` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`time` DATETIME NOT NULL,
`ric` VARCHAR(7) NOT NULL DEFAULT '0',
`function` INT(1) NOT NULL,
`functionChar` TEXT(1) NOT NULL,
`msg` TEXT NOT NULL,
`bitrate` INT(4) NOT NULL,
`description` TEXT NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MYISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;
ric
: Radio Identification Code - 7stellige Zifferfunction
: 1..4, entspricht der SubRICfunctionChar
: A..D, siehefunction
msg
: Dekodierter Textbitrate
: Bitrate des Netzesdescription
: Sollte in derpoc.csv
ein Eintrag für die POCSAG-Kennung hinterlegt sein, so wird an dieser Stelle der Wert angegeben
Table bos_signal
CREATE TABLE IF NOT EXISTS `bos_signal` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`time` DATETIME NOT NULL,
`ric` VARCHAR(7) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`)
) ENGINE=MYISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;
Die Besonderheit: Die Daten werden in der Sektion [POC]
in der config.ini
beschrieben; eine Dekodierung führt nicht zu einem neuen Datenbankeintrag, sondern zu einer Aktualisierung des vorhandenen.