Ich will an BosMon nicht mitarbeiten :)
Und ein eigenes Programm habe ich auch nicht geschrieben. Es ist nur ein kleines PHP-Skript. Programm wäre schon fast übertrieben *g*
Ich stelle es einfach mal ein. Für Fehler übernehme ich keine Garantie oder Haftung etc...
Vorraussetzung:
Auf dem Windows Alarm PC:
- BosMon
- wget (google nach wget Windows)
In BosMon unter Telegram Ereignisse als Programm ausführen:
Code:
C:\wget\wget.exe -O log.txt "http://hier-gehts-zum-Server.de/poc_in.php?alarm_ric=%adresse%&alarm_sub=%funktion%&alarm_text=%meldung%&passwort=ef4b25b358927c035a546f5115e63333"
Auf dem Webserver:
- php
- mysql
- Das Script
poc_in.php
PHP-Code:
<?php
/* POCSAG Schnittstelle für Alarmierung
Einfügen einer DME-Alarmierung in MySQL-Datenbank per URL:
poc_in.php?alarm_ric=%adresse%&alarm_sub=%funktion%&alarm_text=%meldung%&passwort=ef4b25b358927c035a546f5115e63333
Variabelen:
$alarm_ric RIC des DME
$alarm_sub Sub-RIC
$alarm_text Meldung
*/
// Zum Fehlerfinden nächste Zeile auskommentieren:
// error_reporting(E_ALL);
// Fixe Zugangsdaten mysql
$db_server = 'localhost'; // Datenbankserver
$db_user = "DBUSER"; // Datenbankuser
$db_password = "DBPASSWORT"; // Passwort zum Datenbank User
$db_database = "POCSAG"; // Datenbank
$db_table = "pocsag_table"; // Tabelle
$passwort = "ef4b25b358927c035a546f5115e63333" // Passwortschutz um Daten einzutragen
// URL Vars
$alarm_ric = $_GET["alarm_ric"]; // RIC
$alarm_sub = $_GET["alarm_sub"]; // Sub-RIC
$alarm_text_get = $_GET["alarm_text"]; // Alarmtext ins urlencode
$alarm_text = urldecode($alarm_text_get); // alarmtext in DB
// Wenn Subric als Zahl benötigt wird, so lassen. Ansonsten auskomentieren, dann als Buchstabe a bis d
// RIC Subric von Text in Integer
$alarm_sub = str_replace("a", "1", $alarm_sub);
$alarm_sub = str_replace("b", "2", $alarm_sub);
$alarm_sub = str_replace("c", "3", $alarm_sub);
$alarm_sub = str_replace("d", "4", $alarm_sub);
// Password und Leerabfrage
if(!empty($_GET['alarm_text']) && !empty($_GET['alarm_ric'])) {
if($_GET['passwort'] == "$passwort") goto weiter;
else {
echo "Passwort/Username falsch!";
goto ende;
}
}
else {
echo "Keine Vars übergeben!";
goto ende;
}
weiter:
$verbindung = mysql_connect("$db_server",
"$db_user", "$db_password")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("$db_database")
or die ("Die Datenbank existiert nicht.");
$eintrag = "INSERT INTO $db_table
(ric, funktion, text, einsatz)
VALUES
('$alarm_ric', '$alarm_sub', '$alarm_text')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Eintrag war erfolgreich";
}
else
{
echo "Fehler beim Speichern";
}
ende:
?>
die Mysql DB muss nach dem Script oben folgende Spalten enthalten:
id, ric, funktion, text
per phpmyadmin mit SQL Befehl:
PHP-Code:
CREATE TABLE `POCSAG`.`pocsag_table` (
`ID` INT( 5 ) NOT NULL ,
`time` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`ric` INT( 7 ) NOT NULL ,
`funktion` INT( 1 ) NOT NULL ,
`text` VARCHAR( 255 ) NULL
) ENGINE = MYISAM ;
Testen kann man zum Schluss eben per Hand mit:
Code:
http://hier-gehts-zum-Server.de/poc_in.php?alarm_ric=1234567&alarm_sub=a&alarm_text=Testnachricht zur Datenbank&passwort=ef4b25b358927c035a546f5115e63333
Ich hoffe ihr habt Spaß daran. Durch dieses Script und passenden Filtern lassen sich alle Alarme oder nur die der eigenenen Einheit in die Datenbank schreiben.
Läuft hier super.
Grüße
Smith