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:
Auf dem Webserver: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"
- php
- mysql
- Das Script
poc_in.php
die Mysql DB muss nach dem Script oben folgende Spalten enthalten: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:
?>
id, ric, funktion, text
per phpmyadmin mit SQL Befehl:
Testen kann man zum Schluss eben per Hand mit: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 ;
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.Code:http://hier-gehts-zum-Server.de/poc_in.php?alarm_ric=1234567&alarm_sub=a&alarm_text=Testnachricht zur Datenbank&passwort=ef4b25b358927c035a546f5115e63333
Läuft hier super.
Grüße
Smith




Zitieren