ändere den Loglevel mal auf DEBUG
ändere den Loglevel mal auf DEBUG
So, hab die Ausgabe auf Debug gestellt und so einiges rumprobiert...
Hab das Ding nach der Anleitung in Post #22 neu installiert.
Danach diverse test mit USB-Soundcard und loopbackadapter etc gmacht.
Letzter Test:
Kabel von interner Soundkarte auf USB-Soundkarte gestöpselt... (hw:1,0)
Zuletzt habe ich folgende Konfig gehabt:
Nach der letzten Anpassung habe ich monitord neu gestartet.PHP-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<monitordconfig version="1.0">
<name> Monitord </name>
<logfile>screen</logfile> <!-- screen = Bildschirm -->
<loglevel>DEBUG</loglevel>
<SocketFilterScript> socketfilter.lua </SocketFilterScript>
<PluginFilterScript> pluginfilter.lua </PluginFilterScript>
<auth>
<login>
<name>test</name>
<password>test</password>
</login>
<login>
<name>crusader</name>
<password>pw</password>
</login>
<!-- Bisher nur IP Adressen. Keine Netze oder Bereiche ! -->
<!-- Mehrfachnennungen sind aber moeglich, sofern sie Sinn machen -->
<!-- Suchreihenfolge: allow, login, deny -->
<ip action="allow">192.168.0.1</ip> <!-- Diese IPs muessen sich nicht einloggen -->
<ip action="allow">192.168.0.2</ip> <!-- Diese IPs muessen sich nicht einloggen -->
<ip action="allow">192.168.0.3</ip> <!-- Diese IPs muessen sich nicht einloggen -->
<ip action="allow">127.0.0.1</ip> <!-- Diese IPs muessen sich nicht einloggen -->
<ip action="login"> any </ip> <!-- Diese IPs muessen sich einloggen -->
<ip action="deny">any</ip> <!-- Diese IPs koennen sich nicht einloggen -->
</auth>
<!-- -->
<tcpsocket>
<bind> * </bind>
<port mode="monitord"> 9333 </port>
<port mode="fms32pro"> 9300 </port>
<port mode="crusader"> 7778 </port>
</tcpsocket>
<soundcard num="0">
<!-- <device>/dev/dsp0</device> --> <!-- OSS: die erste Soundkarte -->
<device>plughw:1,0</device> <!-- ALSA: die erste Soundkarte -->
<status>1</status> <!-- 1=aktiv, 0=deaktivert -->
<baud>22050</baud>
<name> Erste Sondkarte </name>
<!-- Linker Kanal -->
<channel part="left">
<name>Kanal 1</name>
<module type="fms">
<syncbits> 12 </syncbits>
<crc-check> 1 </crc-check>
<algorithmus>1</algorithmus>
<maxerrors> 3 </maxerrors>
</module>
<module type="poc1200">
<crc-check> 1 </crc-check>
<ecc> 0 </ecc>
</module>
</channel>
<!-- Rechter Kanal -->
<channel part="right">
<name>Kanal 2</name>
<module type="fms">
<syncbits> 12 </syncbits>
<crc-check> 1 </crc-check>
<algorithmus>1</algorithmus>
<maxerrors> 3 </maxerrors>
</module>
<module type="poc1200">
<crc-check> 1 </crc-check>
<ecc> 0 </ecc>
</module>
</channel>
</soundcard>
<dataplugins>
</dataplugins>
</monitordconfig>
Getestet habe ich mittels
cat poc1200.raw | aplay -r 22050 -f S16_LE -t raw -c 1
die folgende POC-Meldung:
http://dekar.wc3edit.net/wp-content/...05/poc1200.zip
Und das ist die Ausgabe:
Sind das jetzt FMS-Kennungen??? Hatte doch eigentlich gerade mit POC1200 getestet... Und den Empfang gar nicht aktiv gehabt nach dem letzte NeustartCode:pi@raspberrypi ~ $ monitord 00:46:23.565 INFO: monitord/Monitor.cpp(70) Logging with loglevel DEBUG 00:46:23.568 DEBUG: monitord/MonitorModulesResults.cpp(51) Dispatcher startet 00:46:23.571 INFO: monitord/Monitor.cpp(113) monitord 2.0svn READY monitord 2.0svn running... 00:46:23.587 INFO: monitord/Monitor.cpp(217) starting soundcard #0 00:46:23.588 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0 00:46:23.590 INFO: monitord/SndPipe.cpp(156) creating decoder for soundcard #0L:FMS 00:46:23.592 DEBUG: monitord/MonitorModuleFMS.cpp(100) FMS Parameter 00:46:23.593 DEBUG: monitord/MonitorModuleFMS.cpp(101) sample : 22050 00:46:23.595 DEBUG: monitord/MonitorModuleFMS.cpp(102) syncbits: 12 00:46:23.596 DEBUG: monitord/MonitorModuleFMS.cpp(103) crc : 1 00:46:23.598 DEBUG: monitord/MonitorModuleFMS.cpp(104) level : 0.15259 00:46:23.599 DEBUG: monitord/MonitorModuleFMS.cpp(105) Algo : 1 00:46:23.600 DEBUG: monitord/MonitorModuleFMS.cpp(106) ignW : 0 00:46:23.601 DEBUG: monitord/MonitorModuleFMS.cpp(107) ignQ : 0 00:46:23.602 DEBUG: monitord/MonitorModuleFMS.cpp(108) ErrC : 0 00:46:23.603 DEBUG: monitord/MonitorModuleFMS.cpp(109) force : 0 00:46:23.604 INFO: monitord/SndPipe.cpp(166) creating decoder for soundcard #0R:FMS 00:46:23.606 DEBUG: monitord/MonitorModuleFMS.cpp(100) FMS Parameter 00:46:23.608 DEBUG: monitord/MonitorModuleFMS.cpp(101) sample : 22050 00:46:23.609 DEBUG: monitord/MonitorModuleFMS.cpp(102) syncbits: 12 00:46:23.611 DEBUG: monitord/MonitorModuleFMS.cpp(103) crc : 1 00:46:23.612 DEBUG: monitord/MonitorModuleFMS.cpp(104) level : 0.15259 00:46:23.613 DEBUG: monitord/MonitorModuleFMS.cpp(105) Algo : 1 00:46:23.614 DEBUG: monitord/MonitorModuleFMS.cpp(106) ignW : 0 00:46:23.614 DEBUG: monitord/MonitorModuleFMS.cpp(107) ignQ : 0 00:46:23.615 DEBUG: monitord/MonitorModuleFMS.cpp(108) ErrC : 0 00:46:23.616 DEBUG: monitord/MonitorModuleFMS.cpp(109) force : 0 00:46:23.617 INFO: monitord/SndPipe.cpp(228) creating decoder for soundcard #0L:POC1200 00:46:23.620 INFO: monitord/SndPipe.cpp(239) creating decoder for soundcard #0R:POC1200 00:46:23.646 INFO: monitord/posix/MonitorAudioALSA.cpp(107) [ALSA] Using pcm_buffer_size=16384 periods=2 00:46:23.654 INFO: monitord/Monitor.cpp(225) Soundcard #0 started - complete 00:46:23.657 INFO: monitord/Monitor.cpp(147) monitord socketserver started 00:46:23.660 DEBUG: monitord/SocketServer.cpp(851) SocketManager erstellt 00:46:23.664 INFO: monitord/Monitor.cpp(153) fms32pro socketserver started 00:46:23.670 INFO: monitord/Monitor.cpp(158) crusader socketserver started 00:48:39.861 DEBUG: monitord/MonitorModuleFMS.cpp(777) baustufe = "0" bos = "6" bosdezimal = "6" channelnamehex = "4b616e616c2031" channelnum = "0" datum = "03.08.13" fmskennung = "xxxxxxxx" kfz = "xxxx" land = "E" landdezimal = "14" ort = "FD" richtung = "0" servernamehex = "4d6f6e69746f7264" status = "9" statusdezimal = "9" textuebertragung = "" timestamp = "1375483719" tki = "2" typ = "fms" uhrzeit = "00:48:39" ----- 00:48:39.894 DEBUG: monitord/MonitorModuleFMS.cpp(777) baustufe = "0" bos = "6" bosdezimal = "6" channelnamehex = "4b616e616c2032" channelnum = "1" datum = "03.08.13" fmskennung = "xxxxxxxx" kfz = "xxxx" land = "E" landdezimal = "14" ort = "FD" richtung = "0" servernamehex = "4d6f6e69746f7264" status = "9" statusdezimal = "9" textuebertragung = "" timestamp = "1375483719" tki = "2" typ = "fms" uhrzeit = "00:48:39" -----
Sehe schon gespenster... Wird Zeit fürs Bett... Morgen nochmal schauen.
Da hat der FMS-Decoder, der auch auf dem Kanal 1 (channel 0) läuft, irgendwelche Phantommeldungen aus dem digitalen Wirrwarr erkannt. Nimm doch mal den FMS-Decoder aus Deiner Konfiguration heraus. (Alles zwischenundCode:module type="fms"im Kanal 1 weg).Code:/module
Dann wird auch nur noch auf POC1k2 gehört.
Gruß,
Funkwart
So, ich habe das Teil jetzt mal nen Tag mit der Konfiguration oben mit der externen Soundkarete (Ausgabe auf interner Soundkarte, Aufnahme auf externer Soundkarte(USB)) laufen lassen... FMS wird erkannt.
Bleiben nur noch x Punkte auf meiner ToDo zum rausfinden:
- Einrichten POCSAG-Messages
- Einrichten Übergabe an MySQL
- Einrichten LUA-Skripte zur Übergabe der Daten (FMS und evtl. POCSAG an FirEmergency)
- Einrichten des Abhörens nicht über externe Soundkarete, sondern über Loopback (Stichwort: snd-aloop)
Ich hab gerade nochmal versucht meine LUA-Skripte zum Laufen zu bringen.
Dabei dachte ich, ich richte den Raspberry mal komplett ein. Das heisst:
- MySQL-Server eingerichtet
- Monitord installiert
- monitord.xml angepasst
- einfache print("...") Befehl in die Skripte eingefügt
Damit haben die Skripte sofort funktioniert. Wenn ich dasaus der monitord.xml aber entferne werde die Skripte nicht mehr ausgeführt...
Hat das jemand gewusst?
Hallo Matt,
das bestätig was ich ein paar posts früher geschrieben habe.
das plugin script macht auch nur sinn wenn ein plugin aktiv ist , genau so das client script.
Gruß
carrier92
Nachdem ich die FMS-Sachen am laufen habe inkl. Datenbank, nun Probleme bei POCSAG:
Unsere Leitstelle nutzt POC512 auf einer Frequenz (sagen wir mal) 199.910M
Wenn ich diese Frequenz mit SDRSharp auf dem USB-Stick, welcher am Pi hängt und mittels RTL_TCP aufrufe, dann kann ich sehen, dass die POCSAG-Meldungen nur auf einer Seite bei 20kHz kommen. Wenn ich das ganze sauber einstelle im SDRSharp, sodass POC32 auf der Windowskiste die Sachen auswertet, dann habe ich folgende Einstellungen:
Wie muss ich das ganze jetzt bei rtl_fm und monitord einstellen, dass ich hier auch eine Auswertung hinbekomme?
Weder ein
noch einCode:rtl_fm -f xxx.907M -s 10000 -g 14 -C - | aplay -r 10000 -f S16_LE -t raw -c 1 -D default:CARD=ALSA &
führt zu einer auswertung in monitord.Code:rtl_fm -f xxx.914M -s 22050 -g 14 -C - | aplay -r 22050 -f S16_LE -t raw -c 1 -D default:CARD=ALSA &
Konfiguration im monitord:
PHP-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<monitordconfig version="1.0">
<name> Monitord </name>
<logfile>screen</logfile> <!-- screen = Bildschirm -->
<loglevel>DEBUG</loglevel>
<SocketFilterScript> socketfilter.lua </SocketFilterScript>
<PluginFilterScript> pluginfilter.lua </PluginFilterScript>
<auth>
<login>
<name>test</name>
<password>test</password>
</login>
<login>
<name>crusader</name>
<password>pw</password>
</login>
<!-- Bisher nur IP Adressen. Keine Netze oder Bereiche ! -->
<!-- Mehrfachnennungen sind aber moeglich, sofern sie Sinn machen -->
<!-- Suchreihenfolge: allow, login, deny -->
<ip action="allow">192.168.0.1</ip> <!-- Diese IPs muessen sich nicht einloggen -->
<ip action="allow">192.168.0.2</ip> <!-- Diese IPs muessen sich nicht einloggen -->
<ip action="allow">192.168.0.3</ip> <!-- Diese IPs muessen sich nicht einloggen -->
<ip action="allow">127.0.0.1</ip> <!-- Diese IPs muessen sich nicht einloggen -->
<ip action="login">any</ip> <!-- Diese IPs muessen sich einloggen -->
<ip action="deny">any</ip> <!-- Diese IPs koennen sich nicht einloggen -->
</auth>
<!-- -->
<tcpsocket>
<bind> * </bind>
<port mode="monitord">9333</port>
<port mode="fms32pro">9300</port>
<port mode="crusader">7778</port>
</tcpsocket>
<soundcard num="0">
<device>plughw:1,0</device> <!-- ALSA: die erste Soundkarte -->
<status>1</status> <!-- 1=aktiv, 0=deaktivert -->
<baud>22050</baud>
<name> Erste Sondkarte </name>
<channel part="left">
<name>Kanal 1</name>
<!--
<module type="fms">
<syncbits>12</syncbits>
<crc-check>1</crc-check>
<algorithmus>1</algorithmus>
<maxerrors>3</maxerrors>
</module> -->
<module type="poc512">
<algorithm>1</algorithm>
<crc-check>1</crc-check>
<ecc>0</ecc>
</module>
</channel>
</soundcard>
<dataplugins>
<plugin name="mysql">
<file>/usr/local/lib/monitord/libmplugin_mysql.so.0.0.0</file>
<parameters>
<logfile>screen</logfile>
<loglevel>DEBUG</loglevel>
<hostname>localhost</hostname>
<port>3306</port>
<username>root</username>
<password>password</password>
<database>monitord</database>
<ssl>0</ssl> <!-- 0: ssl disabled - 1: ssl enabled -->
<mapping typ="fms">
<table>monitord_fms</table>
<field name="uhrzeit" source="mysql">now()</field>
<field name="status">statusdezimal</field>
<field name="kennung">fmskennung</field>
<field name="richtung">richtung</field>
<field name="text">textuebertragung</field>
<field name="tki">tki</field>
<field name="quelle">channelnum</field>
<field name="bos">bos</field>
<field name="land">land</field>
<field name="ort">ort</field>
<field name="kfz">kfz</field>
</mapping>
</parameters>
</plugin>
</dataplugins>
</monitordconfig>
Hi ich möchte hier auch mal noch n Part dazu beitragen. Und zwar registriere ich monitord auf meinem Raspberry PI als Service.
Hierzu erstelle ich eine Datei monitord im Verzeichnis /etc/init.d
Danach registriere ich die soeben erstellte Datei als Service.HTML-Code:### BEGIN INIT INFO # Provides: monitord # Required-Start: $local_fs $network # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: monitord # Description: monitord ### END INIT INFO cd /home/pi/ case "$1" in start) monitord >> /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" monitord >> /dev/null & echo "Monitord wurde gestartet" ;; *) echo "usage $0 start|stop|restart" ;; esac exit 0
Das war eigentlich schon das ganze Hexenwerk.HTML-Code:update-rc.d monitord defaults
Jetzt kann ich gemütlich mit
monitord steuern.HTML-Code:service monitord start|stop|restart
Hallo,
ich habe daheim auch so ein Raspberry Pi rumliegen. Jetzt möchte ich mit diesem schönen Teil FMS Kennungen und Zvei auswerten. Nebenbei soll aber ALLFms und firemergency laufen.
Hat da einer schon einen am laufen wenn ja wie ? Eine Kurzanleitung zum einrichten werde ratsam!
Keiner eine Idee ?
Wir haben ähnliches vor. Allerdings ist nun die Frage wie die Anbindung an den Raspberry gemacht wird. USB Soundkarte brauch ja wieder soviel Strom %) Mir wäre eine Analoge variante an den GPIO Ports lieber.
Als Software für FMS/ZVEI würde FMSCrusader Server oder monitord zum einsatz kommen, wobei ich monitor noch nicht zum laufen bekommen habe.
firEmergency wäre auch denkbar. Wir wollen auch mit dem Raspberry noch gleichzeitig einen Alarmmonitor realisieren.
Gruß ninharp
Nach langer Zeit melde ich mich hier auch mal wieder. Mittlerweile habe ich wieder einen Raspberry mit monitord am laufen.
Allerdings bekomme ich beim Empfangen von POCSAG-Meldungen folgende Fehler:
Die LUA-Skripte werden beim Programmstart korrekt eingelesen. Hat jemand eine Idee woher die beiden Fehler stammen können?Code:00:42:54.483 ERROR: monitord/PluginThread.cpp(342) Fehler beim Aufruf lua dispatcher POST script:attempt to call a nil value 00:42:54.492 ERROR: monitord/PluginThread.cpp(349) nicht-numerische Antwort vom lua dispatcher script
Für die Fehlersuche habe ich die Filter so einfach wie möglich gehalten.
Socketfilter:
Pluginfilter:Code:function filter() print("socketFilter gestartet"); return 0; end
Danke!Code:function pluginFilter() print("pluginFilter gestartet"); return 0; end
Hi,
ich habe nun auch auf einem Raspberry monitord installiert.
In der LOG Datei sehe ich auch, dass zumindest Stati und ZVEI ausgewertet werden.
Aktuell scheiter ich noch an der FMS Textübertragung und an der Anbindung von Clients über das Netzwerk.
Ich kann mich sowohl mit FMS32Pro als auch mit Crusader auf den monitord verbinden, beide Programme zeigen auch an, dass eine Verbindung besteht. Es werden allerdings keine Stati übergeben. Ich glaub die Probleme gab es hier schonmal. Hat jemand eine Vermutung woran es liegen könnte?
MYSql habe ich nicht mitinstalliert, da ich nur die Liveüberwachung wollte. Wird das für die Client Anbindung benötigt?
Danke und Gruß
Martin
Hey,
ich versuche gerade Monitord auf dem Raspi mit Hilfe der Anleitung von dataflash auf Seite 11 (http://www.funkmeldesystem.de/foren/...=55948&page=11) zu installieren. Dabei bin ich jetzt bei:
cd ..
sudo autoreconf -fi
sudo ./configure --enable-plugins --with-alsa --with-mysql
sudo make
sudo make install
sudo cp sample-config/monitord.xml.linux monitod/monitord.xml
angekommen doch ich bekomme folgende fehlermeldungen:
pi@raspberrypi ~ $ sudo autoreconf -fi
autoreconf: 'configure.ac' or 'configure.in' is required
pi@raspberrypi ~ $ sudo ./configure --enable-plugins --with-alsa --with-mysql
sudo: ./configure: command not found
pi@raspberrypi ~ $ sudo autoreconf -fi
autoreconf: 'configure.ac' or 'configure.in' is required
pi@raspberrypi ~ $ sudo ./configure --enable-plugins --with-alsa --with-mysql
sudo: ./configure: command not found
pi@raspberrypi ~ $ sudo make
make: *** No targets specified and no makefile found. Stop.
pi@raspberrypi ~ $ sudo make install
make: *** No rule to make target `install'. Stop.
pi@raspberrypi ~ $ sudo cp sample-config/monitord.xml.linux monitod/monitord.xml
cp: cannot stat `sample-config/monitord.xml.linux': No such file or directory
pi@raspberrypi ~ $
Was mache ich falsch und brauche ich wirklich alles ( Apache, PHP5, mySQL und phpMyAdmin) auf dem Raspi zu installieren? Könnte vllt. jemand eine funktionierende fertige monitord.xml hochladen?
schonmal danke für eure Hilfe
Gruß Tobi
Du befindest dich da wohl im falschen Verzeichnis.
Mit ls -l kannst du dir alle Dateien/Verzeichnisse anzeigen lassen.
Guck doch mal, ob du da sinngemäß ein monitordtrunk bzw. monitord Unterverzeichnis findest und wechsle dann mit
cd
dahin. Dann sollte der Aufruf von configure auch möglich sein.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)