@ Matt, die POCSAG Messages möchte ich eigentlich nicht über LUA filtern, da die RIC Liste über eine Datenbank aktualisiert wird und über das PHP-Script direkt ein Abgleich erstellt wird.
Das Startscript im init.d allerdings würde mich schon sehr interessieren, wie schon beschrieben, ist nicht das SH-Script das Problem, sondern der aufruf beim start.
Mein Script, dass im init.d liegt wird nicht beim start ausgeführt.
In /etc/init.d/ habe ich die Datei monitord liegen. Mit ihr starte und beende ich Monitord als Daemon. Ist noch nicht perfekt, aber funktioniert.
Um das Skript beim Booten des Raspberrys auszuführen habe ich in der Datei /etc/rc.local vor der ZeileCode:case "$1" in start) /home/pi/monitord/monitord/monitord -c /home/pi/monitord/monitord/monitord.xml >> /dev/null & echo "Monitord wurde gestartet" ;; stop) pid=$(pidof monitord) kill $pid echo "Monitord wurde beendet" ;; restart) pid=$(pidof monitord) kill $pid echo "Monitord wurde beendet" /home/pi/monitord/monitord/monitord -c /home/pi/monitord/monitord/monitord.xml >> /dev/null & echo "Monitord wurde gestartet" ;; *) echo "usage $0 start|stop|restart" ;; esac exit 0
die ZeileCode:exit 0
eingefügt. Damit wird Monitord automatisch beim Booten gestartet.Code:/etc/init.d/monitord start
Ich hab mir einen cronjob bzw. ein Skript geschrieben:
es setzt die Einstellungen im alsamixer und startet monitord
zudem wird jede minute geprüft ob monitord läuft und bei bedarf neugestartet. das ganze wird natürlich dann auch protokolliert.
zudem will ich noch einbauen das geprüft wird wie alt die letzten änderungen in der monitord.log sind. solten diese älter als 2 minuten sein, so soll ebenfalls eine meldung an mich per mail kommen.
monitord.log wird einmal im monat gelöscht.
damit sollte soweit mal alles abgedeckt sein das dafür sorgt das monitord immer ordnungsgemäß läuft
Was hast du alles gemacht damit der cronjob lief?
Weil ich hab das versucht und irgendwie wollte der das Script nicht ausführen.
Oder muss das Script an einer bestimmten stelle liegen?
@Matt, danke für das scirpt läuft wunderbar.
@DeLocke, ist das ein sh script? Kannst du es mir eventuell mal schicken, wenn es fertig ist?
@MueThoS: sudo crontab -e
Dann kommt es drauf an welches script du ausführen willst, wenn du ein sh script ausführen willst, sieht das ganze so aus (script wird alle 5Minutes ausgeführt):
*5 * * * * sh /home/pi/monitod/monitord/scriptname.sh
STRG + X anschließend J oder Y drücken, je nach Keyboard Layout und schon sollte es gehen.
Wichtig hierbei eine Zeitangabe unter 1 Minute ist im Cronjob nur über mehrere mit Timer möglich.
Sollte es immer noch nicht gehen, post mal dein Script.
Wie habt ihr das denn gelöst das der alsamixer seine Einstellungen nach einem booten behält?
mit alsactl store ist es nach dem booten immer wieder weg und erst mit alsactl restore wieder da?
Ich hab mir das jetzt halt in das cron-Skript geschrieben.
Script hab ich mit deinen Tips hin bekommen.
Macht aber im mom erst mal nicht viel.
Ausser meiner Webseite zu sagen das der Pi läuft und der Monitord noch läuft.
Also bei mir behält der Alsamixer die Einstellungen, da gabs diese Befehl zum setzen der Werte des Alsamixers, weiter vorne im Thread.
Wie schon bemerkt, gibt es noch einige Bugs beim Einlesen der monitord.xml.
Dazu gehören wohl auch einige Werte für POCSAG1200.
In der Datei MonitorModulPocsag1200.cpp habe ich den Konstruktor
durch die folgenden Zeilen ergänzt:Code:MonitorModulePocsag1200::MonitorModulePocsag1200(int sampleRate, bool crccheck, bool errorcorrection, int minpreambel, int maxerrors, int algorithmus)
Damit konnte ich in der monitord.log sehen, dass nicht alle Angaben aus der xml-Datei übernommen wurden.Code:FILE_LOG(logDEBUG) << "POCSAG Parameter" ; FILE_LOG(logDEBUG) << "sample : " << sampleRate ; FILE_LOG(logDEBUG) << "crc : " << crccheck ; FILE_LOG(logDEBUG) << "ecc : " << errorcorrection ; FILE_LOG(logDEBUG) << "min_Pre: " << minpreambel ; FILE_LOG(logDEBUG) << "max_err: " << maxerrors ; FILE_LOG(logDEBUG) << "Algo : " << algorithmus ;
Deswegen habe ich den Variabeln "crccheck", "errorcorrection", "maxerrors" und "algorithmus" direkt in der Funktion deren Werte zugewiesen.
Mal schauen ob sich damit was an der Auswertequalität verbessert.
Leider ändert sich durch die Änderung im Quellcode bei mir nichts an der Auswertequalität.
Hier ein Beispiel:
Die Alarmierungen werden mehrfach hintereinander gesendet. Bei manchen fehlen dann einfach mal ein paar Zeichen.
Meldung 1: 123456789ABCDEFGHIJKLMOPQRSTUVWXYZ
Meldung 2: 123456789ABC
Meldung 3: 123456789ABCDEFGHIJKLMOPQRSTUVWXYZ
Die zweite Meldung wurde folglich nicht korrekt ausgewertet.
Ein allgemeines Zeichen, welches die Meldungen abschließt (wie z.B. NULL) ist vorhanden. Sonst könnte man das ganz einfach prüfen.
Hallo Zusammen!
Ich lese hier jetzt nun schon seit einiger Zeit mit und interessiere mich für die Auswertung. Mittels Raspberry. Habe das Thema aber selbst aber aufgrund mangelnder Linuxkenntnisse und manges Zeit noch nicht angegangen.
Bei uns werden alle Meldungen mitabgeschlossen, so das man doch darüber eine Prüfung machen könnte.
Die in Matts Beitrag angesprochene Mehrfachauswerung mit teils abgehackten Texten werden meiner Meinung nach am Empfang von von merheren DAUs liegen. Den einen empfängt der Scanner sehr gut und einer der weiter weg steht liefert den abgehackten Text.
Gruß
Reissdorf
Ich habe eine kurze Frage am Rande:
Ich meine, dass in diesem Thread mal jemand den Namen eines Programms erwähnt hat, mit dem man POCSAG- und FMS-Meldungen erzeugen kann (so wie mit dem BOS-Tool).
Allerdings kann ich nichts finden. Kann mir vielleicht jemand helfen?
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)