Es stand ja auch "schicken" da. Auf so einer runden Scheibe lässt sich das ganz bequem verschicken. Außerdem sollte man ja auch auf kompakten Distros aufsetzen können, oder?
;-)
Gruß,
Funkwart
Druckbare Version
Es stand ja auch "schicken" da. Auf so einer runden Scheibe lässt sich das ganz bequem verschicken. Außerdem sollte man ja auch auf kompakten Distros aufsetzen können, oder?
;-)
Gruß,
Funkwart
Zunächst danke für euere Hilfe.
Ich bekomme die Filter einfach nicht zum laufen. Kann es eventuell an der Version von Raspbian liegen? Ich verwende die aktuelle (vom 25.5.13).
Im Frühjahr habe ich ja schließlich alles (mehr oder weniger) auf anhieb zum Laufen bekommen...
Gruss
matt
Also das es an der Pi version liegt glaub ich nicht.
Klingt jetzt blöd aber beim start bekommst du schon die meldung das die LUA Skripte geladen wurden?
So ein einfaches script für den socketfilter :
function filter ()
print ("Socketfilter script gestartet");
end
bzw. pluginfilter
function pluginfilter()
print ("Pluginfilter script gestartet");
end
sollte ja immer funktionieren.
Hallo carrier,
laut der DEBUG Ausgabe auf meinem Bildschirm ist mit den LUA-Skripten alles in Ordnung.
Mit solchen einfachen print Befehlen habe ich es auch schon versucht. Dann habe ich mit dem BOS-Tool auf meinem Windows-Rechner Meldungen simuliert, die ich direkt in die Soundkarte eingespeisst habe. Monitord hat zwar ausgewertet (Ausgabe auf dem Bildschirm vorhanden), aber ich habe da keine zusätzliche Ausgaben von den print-Befehlen bekommen.
Gruss
matt
Moin,
ich habe jetzt auch mal monitord auf dem Raspberry installiert, wie auf den ersten beiden Seiten zu finden war.
Anschliessend habe ich mittels
den Funk auf die interne Soundkarte ausgeben.Code:rtl_fm -f xx.xxxM -s 20000 -g 14 -l 16 -C - | aplay -r 20k -f S16_LE -t raw -c 1 &
Diese habe ich mit einem Kabel an Mic von einer popels-USB-Soundkarte gehangen, welche ich hier noch rumfliegen hatte.
Konfiguration im monitord ist wie folgt:
Wenn ich monitord starte, bekomme ich folgende Ausgabe:PHP-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<monitordconfig version="1.0">
<name> Monitord </name>
<logfile>screen</logfile> <!-- screen = Bildschirm -->
<loglevel>INFO</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="poc512">
<crc-check> 1 </crc-check>
<ecc> 0 </ecc>
</module>
</channel>
<!-- Rechter Kanal -->
<channel part="right">
<name>Kanal 2</name>
</channel>
</soundcard>
<dataplugins>
</dataplugins>
</monitordconfig>
Woran sehe ich jetzt, ob es funktioniert? Sollten hier jetztz FMS-Meldungen erscheinen?Code:pi@raspberrypi ~ $ monitord
20:45:41.204 INFO: monitord/Monitor.cpp(70) Logging with loglevel INFO
20:45:41.209 INFO: monitord/Monitor.cpp(113) monitord 2.0svn READY
monitord 2.0svn running...
20:45:41.228 INFO: monitord/Monitor.cpp(217) starting soundcard #0
20:45:41.230 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0
20:45:41.233 INFO: monitord/SndPipe.cpp(156) creating decoder for soundcard #0L:FMS
20:45:41.235 INFO: monitord/SndPipe.cpp(201) creating decoder for soundcard #0L:POC512
20:45:41.237 INFO: monitord/MonitorModulePocsag512.cpp(66) (2) sample - crc - ecc - minpreambel - maxerrors - algo:22050 - 1 - 0 - 300 - 10 - 1
20:45:41.238 INFO: monitord/MonitorModulePocsag512.cpp(79) Algorithmus:1
20:45:41.241 INFO: monitord/MonitorModulePocsag512.cpp(86) SPHASE_INC is:1521
20:45:41.243 INFO: monitord/SndPipe.cpp(263) loading audioplugins for left channel
20:45:41.245 INFO: monitord/SndPipe.cpp(265) loading audioplugins for right channel
20:45:41.276 INFO: monitord/posix/MonitorAudioALSA.cpp(107) [ALSA] Using pcm_buffer_size=16384 periods=2
20:45:41.286 INFO: monitord/Monitor.cpp(225) Soundcard #0 started - complete
20:45:41.290 INFO: monitord/Monitor.cpp(147) monitord socketserver started
20:45:41.297 INFO: monitord/Monitor.cpp(153) fms32pro socketserver started
20:45:41.303 INFO: monitord/Monitor.cpp(158) crusader socketserver started
20:45:41.306 INFO: monitord/PluginThread.cpp(326) reading plugin configuration
ä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 das <dataplugin> aus 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:
http://www.funkmeldesystem.de/foren/...1&d=1376062651
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 <verzeichnisname>
dahin. Dann sollte der Aufruf von configure auch möglich sein.
Moin, kann mir einer helfen und sagen wie ich eine Funkaufzeichnung triggern kann?
Gruß Jockel
Update: Wer lesen kann...: "Voraussichtlich werden Aufnahme- und Datenbank-Plugin bereits im 2.0er-Release bestehen; das Datenbank-Modul läuft einwandfrei, die Aufnahme-Funktion ist noch nicht komplett implementiert."
Hallo zusammen,
kann mir einer sagen welche Parameter ich für LUA5.2 verwenden muss?
./configure --enable-plugins --with-mysql --with-lua-includes=... --with-lua-libraries=/...
Ich verdende Raspbian 7
Auf dem PI B mit 512 MB Ram
Danke und Gruß Jockel
Ich habe heute mal versucht, den Service mittels chkconfig monitord 345 als automatisch startenden Servic einzurichten. Aber irgendwie funktioniert das nicht.
Eingerichtet isser, aber er startet nicht:
Irgendwelche Ideen woran es liegen kann?Code:pi@raspberrypi ~ $ chkconfig monitord
monitord on
Hey,
ich habe den Monitor auf dem PI soweit nun zum laufen bekommen.
Wenn ich im XML auf Debug stelle kommt auch im Log die FMS und ZVEI Meldungen durch.
Wie bekomme ich nun eine MySQL Integration (MySQL Server läuft ebenfalls auf dem PI) hin?
Ich habe zum Test eine eigene DB die wie in dem Beispiel monitord (user und pw ebenfalls monitord) heißt, da ich unsere bisher laufende DB noch nicht benutzen möchte.
Steh da so ein bisschen auf dem Schlauch, bzw hat mir die Doku die ich bisher gefunden habe nicht wirklich weitergeholfen.
vielen Dank
Du muss monitord wie hsk.oLLi beschreiben hat kompilieren.
Dann ein Datenbankschema namens monitord erstellen, dort rein drei Tabellen monitord_fms, monitord_zvei und monitord_pocsag. Columns, siehe unten.
In der monitord.xml die
einfügen.PHP-Code:
<dataplugins>
<plugin name="mysql">
<file> /usr/local/lib/monitord/libmplugin_mysql.so.0</file>
<parameters>
<logfile> mysql.log </logfile>
<loglevel> DEBUG </loglevel>
<hostname> ip</hostname>
<port> 3306 </port>
<username> user </username>
<password> pass </password>
<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>
</mapping>
<mapping typ="pocsag">
<table> monitord_pocsag </table>
<field name="uhrzeit" source="mysql"> now() </field>
<field name="kennung"> ric </field>
<field name="sub"> sub </field>
<field name="text"> text </field>
<field name="quelle"> channelnum </field>
</mapping>
<mapping typ="zvei">
<table> monitord_zvei </table>
<field name="uhrzeit" source="mysql"> now() </field>
<field name="typ"> weckton </field>
<field name="kennung"> zvei </field>
<field name="text"> text </field>
<field name="quelle"> channelnum </field>
</mapping>
</parameters>
</plugin>
</dataplugins>
compiliert war es schon richtig, in der XML hatte ich aber das von der Beispielseite übernommen und da war für
<code><file> /usr/local/lib/monitord/libmplugin_mysql.so.0</file> </code>
noch das Windows Modul gestanden.
sorry mein Fehler.
Nabend,
ich bekomms einfach nicht zum laufen...
Ich habe mich hier durch die 19 Seiten gearbeitet, aber leider erfolglos... Ich versuche monitord mit mysql arbeiten zu lassen. Dei Komponenten dafür sind installiert und die Datenbank ist eingerichtet.
Dann habe ich
sudo apt-get install build-essential mysql-server mysql-client libmysqlclient-dev subversion autoconf libtool g++-4.6 medit libasound2-dev
ausgeführt und die Scriptdatei
#!/bin/bash
rm /usr/bin/cpp
ln -s /usr/bin/cpp-4.6 /usr/bin/cpp
echo ln -s cpp-4.6 cpp
rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.6 /usr/bin/gcc
echo ln -s gcc-4.6 gcc
rm /usr/bin/cc
ln -s /usr/bin/gcc-4.6 /usr/bin/cc
echo ln -s gcc-4.6 cc
rm /usr/bin/g++
ln -s /usr/bin/g++-4.6 /usr/bin/g++
echo ln -s g++-4.6 g++
rm /usr/bin/c++
ln -s /usr/bin/g++-4.6 /usr/bin/c++
echo ln -s g++-4.6 c++
rm /usr/bin/gcov
ln -s /usr/bin/gcov-4.6 /usr/bin/gcov
echo ln -s gcov-4.6 gcov
erstellt und mit
sudo chmod a+x skript
sudo sh skript
ausgeführt.
Dann kam der monitord-Teil:
sudo apt-get update
sudo apt-get install autoconf libtool subversion libalsa2-dev
svn co http://svn.monitord.de/monitor/trunk monitord
cd monitord
autoreconf -fi
./configure --enable-plugins --with-mysql --with-alsa
make
sudo make install
cd
cp monitord/sample-config/monitord.xml.linux monitord.xml
Lief alles ohne Probleme. Dann habe ich die XML angepasst und soundkarte 1 ausgewählt und die dekodierung von FMS und ZVEI auf beiden kanälen aktiviert. Als Soundkarte nutze ich eine Behringer U-Control UCA202.
Was habe ich falsch gemacht? Ich kann nirgendwo die monitord.log finden, im Taskmanager ist monitord nicht zu finden, ein Dekodierungstest blieb erfolglos und ich habe keine Ahnung, ob die Soundkarte funktioniert, da ich nicht weiß, wie ich diese testen soll... Ich weiß auch nicht, ob ich die Sktiptdatei richtig erstellt und ausgeführt habe. Es kam keine Fehlermeldung.
Ich bin noch ziemlicher Anfänger mit dem Pi, aber ich hoffe ihr könnt mir das hier einigermaßen gut vermitteln..
Einen schönen Abend noch
Keano
Dein Script habe ich nicht benötigt, also kann ich dazu nichts sagen.
Speicher mal die monitord.xml in /monitordtrunk/monitord, gehe danach in genau dieses Verzeichnis und führe ./monitord aus.
Habe './monitord' eingegeben, aber dann kommt '-bash ./monitord: Datei oder Verzeichnis nicht gefunden'.
Wird die ausführbare Datei denn überhaupt bei einem "ls" angezeigt? --> Ist sie evtl. gar nicht vorhanden?
Okay, nach erneuter Installation konnte ich monitord starten und es läuft jetzt auch :D Hatte lediglich Probleme mit der Datenbankverbindung, da ich den Benutzer falsch erstellt hatte.
Gut ich habe bis jetzt monitord auf dem Pi ausgiebig getestet und die dekodierung läuft perfekt. Aber ist es überhaupt möglich den Monitord-Prozess im Hintergrud laufen zu lassen? Ich habe nämlich nachdem ich ./moniord eingegeben habe keine Möglichkeit mehr den Pi in irgendeiner Weise steuern.
Grüße
Keano
Hallo Keano,
hänge ein & an das Kommando um das Programm im Hintergrund weiterlaufen zu lassen. Also so:
./monitord &
Wenn du dann allerdings die SSH-Sitzung beendest wird auch monitord beendet. Abhilfe schafft hier z.B. das Programm screen, damit kannst du dich bei SSH abmelden und monitord läuft trotzdem weiter und du kannst dich das nächste Mal wieder zum Pi verbinden um die (noch laufende) Sitzung wieder aufzunehmen.
screen ist zum Beispiel hier erklärt: http://wiki.ubuntuusers.de/Screen
Viele Grüße,
Christoph
Vielen Dank! Funktioniert einwandfrei. Interessanter Tipp mit der Wiederaufnahme der SSH Sitzung. Werde ich mir in nächster Zeit mal genauer anschauen.
Hallo,
könnte jemand einmal so nett sein und für die Nachwelt zusammenfassen, wie ein monitord-Dekoder mit RaspberryPi aufzzubauen ist?
Es wäre gut, dabei auch funktionierende Hardware aufzulisten (speziell die USB-Soundkarte und ihre Stromversorgung).
Dann nur kurz einmal den finalen Kompilationsvorgang mit mysql.
Um den Stimmen wie "Lies Dir den Thread durch, dann lernst Du jedenfalls was dabei" vorzubeugen: Klar kann man das auch alles nachlesen. Nur muss man dann durch alle Irrwege, die im Laufe der Entwicklung hier aufgetaucht sind, komplett durch und diesen Weg muss jeder gehen, der das Projekt nachvollziehen will. Das verbrennt Ressourcen, die vielleicht besser für eine Weiterentwicklung des Projektes verwendet werden könnten.
Viele Grüße und Riesendank an alle, die hier zur Lösung beigetragen haben.
Funkwart
Installation rtl_fm:
# Install dependencies
# Fetch and compile rtl-sdr sourceCode:sudo apt-get update
sudo apt-get -y install git cmake build-essential libusb-1.0 qt4-qmake libpulse-dev libx11-dev
# Installation mysql:Code:mkdir -p ~/src/
cd ~/src/
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
# Einrichtung monitord:Code:sudo apt-get install mysql-server
sudo apt-get install libmysqlclient-dev
## nur mit MySQLCode:sudo apt-get update
sudo apt-get install autoconf libtool subversion libasound2-dev
sudo svn co http://svn.monitord.de/monitor/trunk monitord
cd monitord
sudo autoreconf -fi
##Alternativ mit LUA und MySQLCode:sudo ./configure --with-alsa --enable-plugins --with-mysql
sudo make
sudo make install
# Starten von monitordCode:sudo apt-get install liblua5.1-dev
sudo ./configure --enable-plugins --with-alsa --with-mysql --with-lua-includes=/usr/include/lua5.1 --with-lua-suffix=5.1
sudo make
sudo make install
# Monitord als Dienst einrichtenCode:monitord > monitord.log 2>&1
chkconfig - system tool to enable or disable system services
Erstellen einer Datei monitord unter /etc/init.d:Code:sudo apt-get install chkconfig
# Staren der Auswertung mittels SDR:Code:### BEGIN INIT INFO
# Provides: monitord
# Required-Start: $local_fs $network $mysql
# Required-Stop: $local_fs $mysql
# 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"
pid=$(pidof monitord)
echo "PID: $pid"
;;
stop)
pid=$(pidof monitord)
echo "PID: $pid"
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
Verwendete Hardware:Code:rtl_fm -f xx.xxxM -s 22050 -g 14 -C - | aplay -r 22050 -f S16_LE -t raw -c 1 -D default:CARD=ALSA
- Raspberry Pi Version B
- SD Karte
- Cinergy TStick RC
- Belkin 4-Port USB 2.0 Hub, ultra-slim schwarz http://www.conrad.de/ce/de/product/9...f=searchDetail
- Conrad USB-Soundbox 7.1 von Conrad (http://www.conrad.de/ce/de/product/8...Box-71-Schwarz)
- FiiO L2 Kabel - 3,5mm Klinke auf 3,5mm Klinke - Stecker gerade - 10 cm (http://www.conrad.de/ce/de/product/4...omSuggest=true)
-USB-Anschlusskabel USB 2.0 Stecker A an USB 2.0 Stecker Micro-A Schwarz 1,8 m http://www.conrad.de/ce/de/product/9...f=searchDetail
Randbemerkungen:
- Raspberry Pi wird nicht mit eigenem Netzteil versorgt, sondern über den Hub
- externe Soundkarte und DVB-Stick stecken am Hub und nich am Pi
- Ausgang der Pi-Soundkarte ist mit Kabel auf Line-In der ext. Soundkarte verbunden
-- bsiher habe ich leider nur FMS-Auswertung hin bekommen... Am POCSAG bin ich noch am verzweifeln :-(
Hallo limberu,
kannst du vielleicht noch deine Config von Monitord zeigen? Ich weiss nicht, wie ich die Soundkarte darin einstelle...
Gruss
matt
UPDATE:
Hallo limberu,
jetzt habe ich verstanden, wie du den Audiostream von rtl_fm an monitord geleitet hast...
rtl_fm gibt das Audiosignal mit der externen Soundkarte aus und monitord holt sich das Signal wieder vom Eingang der Soundkarte...
Kennt vielleicht jemand einen Weg, wie man das softwaretechnisch lösen kann?
Gruss
matt
Ich bin auch gerade dabei es mit snd-aloop zu versuchen. Prinzipiell läuft snd-aloop. Aber ich hab monitord noch nicht dazu bekommen was auszuwerten...
Hast du die Auswertung mit einer Soundkarte schon am laufen gehabt?
Kannst du mir mal die Konfig bzw. die einzelnen Einrichtungsschritte für snd-aloop, wie du es verwendest, aufschreiben, dann könnte ich das testen, ob die Auswertung damit funktionioert
Vor einigen Monaten hatte ich die Auswertung über eine Soundkarte schon am Laufen. Allerdings habe ich dort einen Scanner verwendet.
Über RTL-SDR hatte ich noch keine Auswertung am Laufen.
Im Moment spiele ich etwas mit dem Gain von rtl_fm herum. Vorhin hat monitord zwei mal einen Sync gefunden. Jetzt gehe ich systematisch mit unterschiedlichen Einstellungen vor und versuche so eine funktionierende Kombination zu finden.
Nach langem Suchen habe ich im Forum unter raspberrypi.org erfahren, dass snd-aloop bereits im Kernel von wheezy enthalten ist. Man muss es nur mit dem Befehl
aktivieren muss. Damit snd-aloop beim Systemstart aktiviert wird, muss die ZeileCode:sudo modprobe snd-aloop
in die Datei "/etc/rc.local" vor die ZeileCode:modprobe snd-aloop
eingetragen werden.Code:exit 0
Mehr Informationen zu snd-aloop findet man auf http://www.alsa-project.org/main/ind...x:Module-aloop.
POCSAG oder FMS?
Hallo Forum mitglieder,
leider weiß ich aktuell nicht, wie man hier code segmente macht, sorry.
vielen Dank für die Aufschlussreichen Beiträge hier in diesem Forum.
Mir haben sie sehr geholfen meinen PI mit monitord zum laufen zu bringen.
Für alle, bei denen es nicht Funktioniert mein Setup:
-Ich benutze die in diesem Forum gegebenen Install routinen und sie funktionieren (incl. MYSQL) jedoch bei der Verwendung von MYSQL gibt es einen BUG in der XML Datei. Hier muss der Pfad, welcher auf die mysql dll zeigt gegen folgenden ausgetauscht werden:
<file>/usr/local/lib/monitord/libmplugin_mysql.so.0</file>
Mein Kanal Setup sieht folgendermaßen aus:
- Als soundkarte benutze ich die UCA 202 von Behringer'Code:channel part:"left"
module type:poc1200
algorithmus: 1
channel part:"right"
module type:poc1200
algorithmus: 0
- Als Scanner benutze ich einen Uniden Bearcat UBC 69XLT-2, zu empfehlen (wenn man nicht basteln möchte) wäre ein UBC 69XLT-2D, denn monitord benötigt DEFINITIV einen Diskriminator ausgang.
Meinen UBC69XLT-2 habe ich hardware "gehacked" das heißt ich habe einen 6pol anschluss (flachband Kabel), welches aus dem Scanner auf eine Platine geleitet wird. Hier versorge ich den Scanner mit seinen nötigen 6V und kann über die GPIO pins den einschalt knopf überbrücken d.H. ich kann meinen Scanner remote Starten, ohne ihn sehen zu müssen. Zudem gebe ich über den 6Pol meinen Diskriminator auf eine Platine, wo meine Sound karte dran hängt. Das alles benötigt man jedoch nicht und ich habe es nur just for fun gemcht.
Wichtig ist jedoch der Diskriminator ausgang. Ein nützliches tutorial über die Einrichtung eines Dirktriminator Ausgangs findet man unter folgendem link:
http://www.juene-tronic.de/Startseit...kriminator.htm
Da der Uniden identisch mit dem Albrecht ist (die kompletten Platinen sind Identisch), kann dieses Tutorial auch auf den Uniden angewendet werden.
Sinnvoll ist es zudem auch noch das loglevel auf DEBUG zu stellen also aus:
<loglevel> INFO </loglevel> wird zu: <loglevel> DEBUG </loglevel>
Gruß
GnR
Hi,
so, habe mich über die Feiertage auch mal wieder mit diesem Thema beschäftigt.
Habe den monitord jetzt auf einem Cubieboard 3 (Cubietruck) laufen.
Als Soundkarte verwende ich die USB Sound Blaster SB1140.
Damit funktioniert FMS und ZVEI ganz gut.
Das interne SoundDevice hat auch einen LineIn, allerdings muß ich den noch an den PINs abgreifen.
Wer von euch kann mir mal bei dem LUA Filter behilflich sein.
Ich möchte die Doppelalarmierungen von ZVEI nicht in die MySQL-Datenbank bekommen. :-)
Mit dem RTL-SDR habe ich auch noch ein bisschen gebastelt.
Irgendwie ist mein DVB-T Stick sehr schlecht (Gibt es da Qualitätsunterschiede?)
Wenn ich den Stick mit externer Hochantenne bewege, schwankt der Empfang sehr stark.
Außerdem bringt rtl_fm immer "underrun!!! (at least -954262319.900 ms long)"
Gruß
Marcel
Hi,
hier ist es ziemlich ruhig geworden. Hat es vielleicht mal jemand geschafft POCSAG zuverlässig auszuwerten?
Gruss
matt
Hat schon einmal jemand dieses Projekt in Angriff genommmen:
http://www.mikrocontroller.net/artic...AG_Decoder_AVR
Es sollte damit mit geringfügiger Änderung im Code möglich sein, die bereits decodierten Daten über UART an den Raspberry zu schicken, der dann die weitere Verarbeitung übernimmt.
Was meint Ihr dazu, wäre das nicht ein gangbarer Weg?
Ich habe mich bislang nur noch nicht an den Nachbau des Projekts gewagt.
Gruß,
Funkwart
Hallo zusammen ....
Behringer hin, Logilink her ... USB ... ja, nein, Treiber, Line-In, Microfon ???!
Der Mißerfolg der Decodierung und Auswertung auf dem RASPI liegt doch, so meine bisherigen Erfahrungen, an der ungenügenden Qualität der Soundkarte.
Ob FMSCrusader oder Monitord ... Es steht und fällt mit der Soundkarte.
Ob nun vielleicht das Ende der Problem naht ?! Ich kann es euch im Laufe des morgigen Tage berichten.
http://www.ebay.de/itm/Wolfson-Pi-Au...item1c3d1e332c
Der RASPI bekommt eine eigens für ihn konzipierte Soundkarte. Ausserdem ein SW Image mit den entsprechenden Treibern und dem ganzen Zip und Zap.
Man darf gespannt sein ob es das hält was es verspricht.
Denn nach wie vor ... so ein RASPI als 24/7 Maschine (ups .. hab ich Maschine geschrieben ;-)) macht irgendwie Sinn.
Grüsse aus dem Rheinland
Freddy