Moin Peter,
dann poste bitte mal deine monitord.xml.
Moin Peter,
dann poste bitte mal deine monitord.xml.
HTML-Code:<?xml version="1.0" encoding="ISO-8859-1"?> <monitordconfig version="1.0"> <name> Monitord </name> <logfile> monitord.log </logfile> <!-- screen = Bildschirm --> <loglevel> DEBUG </loglevel> <!--<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:0,1</device> <!-- ALSA: die erste Soundkarte --> <status>1</status> <!-- 1=aktiv, 0=deaktivert --> <baud>22050</baud> <name> Erste Sondkarte </name> <!-- Linker Kanal --> <channel part="left"> <!-- Audio Plugin --> <!-- <plugin name="audiorecorder"> <file> monitord/plugins/.libs/libmplugin_audiorecorder.so.0.0.0 </file> <parameters> <path> rec/ </path> --> <!--- Ein existierender (!) Ordner MIT Schraegstrich am Ende --> <!-- </parameters> </plugin> --> <!-- Audio Plugin --> <name>Kanal 1</name> <module type="fms"> <syncbits> 12 </syncbits> <crc-check> 1 </crc-check> <algorithmus> 0 </algorithmus> <maxerrors> 3 </maxerrors> </module> <module type="poc512"> <crc-check> 1 </crc-check> <ecc> 0 </ecc> </module> <module type="poc1200"> <crc-check> 1 </crc-check> <ecc> 0 </ecc> </module> <module type="zvei"> </module> </channel> <!-- Rechter Kanal --> <channel part="right"> <name>Kanal 2</name> <module type="zvei"> </module> </channel> </soundcard> <soundcard num="1"> <device>/dev/dsp1</device> <status>0</status> <!-- 1=aktiv, 0=deaktivert --> <baud>22050</baud> <name> Zweite Sondkarte </name> <!-- Linker Kanal --> <channel part="left"> <name>Kanal 1</name> <module type="fms"> <syncbits> 8 </syncbits> <crc-check> 1 </crc-check> </module> <module type="poc512"> <crc-check> 1 </crc-check> <ecc> 0 </ecc> </module> <module type="zvei"> </module> </channel> <!-- Rechter Kanal --> <channel part="right"> </channel> </soundcard> <dataplugins> <!-- Daten Plugin --> <plugin name="mysql"> <file> plugins/.libs/libmplugin_mysql.so.0.0.0</file> <parameters> <logfile> mysql.log </logfile> <loglevel> DEBUG </loglevel> <hostname> localhost</hostname> <port> 3306 </port> <username> monitord </username> <password> monitord </password> <database> monitord </database> <ssl>0</ssl> <!-- 0: ssl disabled - 1: ssl enabled --> <ssl-cacert>/etc/mysql/ssl/ca-cert.pem</ssl-cacert> <ssl-cert>/etc/mysql/ssl/client-cert.pem</ssl-cert> <ssl-key>/etc/mysql/ssl/client-key.pem</ssl-key> <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> </monitordconfig>
Moin,
ist jetzt nur so ne idee. Aber versuch mal ne andere Baudrate. Ansonsten solltest du plughw:0,0 und nicht 0,1 angeben.
Es kann sein, dass monitord irgenwelche Einstellungen (wie Baudrate) setzen möchte, die dein Treiber oder Sounkarte nicht kann/möchte.
Da du ohne lua compiliert hast, solltest du die lua Scripts auch auskommentieren. Das hat aber nichts mit deinem Alsa Problem zu tun.
Gruß
Hugch
Hi,
auch mit anderen Raten (48000 anstatt 22050 z.B.) - immer noch die gleiche Meldung :-(
Vielleicht will ich mir eine andere Soundkarte kaufen... *seufz*
Viele Grüße,
Peter
Rehi,
mit neuer Soundkarte geht es nun :-)
Trotzdem vielen Dank!
Weiss deine Hilfe zu schätzen!
Viele Grüße,
Peter
Hatte in letzter Zeit auch immer mal wieder Probleme mit einer USB Soundkarte, dass Alsa verschiedene Parameter nicht setzen wollte usw.
Das Problem lag schlicht und einfach darin, dass nicht genügend Strom über die USB Schnittstelle zur Verfügung gestellt wurde.
Also das nächste mal bei Problemen mit USB Soundkarten vielleicht einfach mal mit einem aktiven USB Hub testen.
Gruß
Hugch
Noch eine kurze Frage (nachdem nun alles läuft). Muss ich bei der Wahl eines Funkscanners irgend etwas besonderes beachten? Denn eingerichtet ist alles, aber es wird nichts "empfangen"... :-(
Viele Grüße,
Peter
Hi,
kann mir jemand mit dem LUA Scripting helfen? Ich blicke das echt ned.
Habe 2 akute Probleme, wie kann ich Status 15 unterdrücken (kein schreiben in die MYSQL Datenbank)
Wie kann ich Status 6 als J in die DB schreiben wenn der Status von der Lst kommt?
Danke für eure Hilfe.
Hallo Gemeinde,
da es ab 2.0 keine monrc mehr gibt, ich aber leider nur Beispiele für die Aufzeichnung mittels Audiorecorder in der monrc gefunden habe, frage ich mich wie das wohl in LUA aussieht?
Gruß
DO4ARM
Hio...
du kannst in der MySQL Datenbank nen TRIGGER erstellen
Den Sinn dahinter versteh ich aber noch nicht ganz, wenn du nicht willst, dass sie angezeigt wird, dann filter es im SQL aus. Den Trigger kannst du natürlich nach Belieben bearbeiten.Code:CREATE TRIGGER del_fms_status_15_0 AFTER INSERT ON monitord_fms FOR EACH ROW DELETE FROM monitord_fms WHERE status = 15 AND richtung = 0;
Zum zweiten Problem hab ich mir ne Referenztabelle gebaut, die mit Status und Richtung an die monitord_fms gejoint wird.
Dort legst du die 32 Kombinationen an, 16 für Richtung 0, also Fahrzeug-> Leitstelle und 16 für Richtung 1 also Leitstelle->Fahrzeug
Felder brauchste dann mindestens:
status (smallint(2)), richtung (tinyint(1)), ausgabe_kurz (text(1)), optional: ausgabe_lang (text(40))
6,0 wäre dann: '6', 'Nicht einsatzklar'
6,1 wäre dann: 'J', 'Sprechaufforderung'
...
15, 0 = 'F', 'Sprechtaste'
15, 1 = '-', 'Quittung'
Wahlweise kannst du dort alle 32 Stati hinterlegen oder nur die die du auch angezeigt bekommen willst. Mit einem INNER JOIN werden dir dann auch nur die ausgegeben...
Geändert von c0bRa (20.12.2014 um 02:01 Uhr)
Hallo zusammen,
also ich kann monitord nun auf der raspberry über ssh starten. Aber es läuft halt nur solange die ssh Session aktiv ist.
Am besten wäre es, beim Starten des Raspberry, startet monitord auch im Hintergrund.
Wie lässt sich das am besten realisieren?
Danke und Gruß
Hannes
Hallo,
hat zufällig noch jemand monitord kompiliert für Ubuntu und/oder Raspbian auf der Festplatte liegen?
Möchte es mal testen und bin nicht so der Experte...
Wäre mir eine große Hilfe :-)
Noch eine Frage: Könnt ihr eher das SVN-Rep oder das Github-Rep empfehlen?
SVN http://www.monitord.de/?article=7 bzw. http://svn.monitord.de/monitor/
Github https://github.com/schakko/monitord
Viele Grüße
Hallo zusammen,
vielleicht kann jemand helfen...
Wir setzten bis jetzt FMS32pro als Server ein, dort verbinden sich 3 Applikationen - ist also damit am Ende und die Auswertung ist auch nicht zu 100% gut!
Nun haben wir mal zum Test monitord installiert und in Betrieb genommen. Soweit hat alles gut Funktioniert lediglich haben wir ein Problem mit dem FMS32 Protokoll
Bei FMS werden die Felder 14 und 15 immer mit "0" ausgegeben genau so bei
ZVEI Felder 3 und 3 immer mit "0"
Hier sollte eigentlich die Soundkarte [0,1,2,3] und der Kanal [0,1] ausgegeben werden.
Wird aber immer die erste Karte und da der linke Kanal angezeigt also 0 0
Hat da jemand eine Idee??
Dankeschön
Grüße
Holger
Hallo Holger,
dafür braucht eis eine kleine Änderung im QuellCode des FMS32 Moduls. Die Kanalnummer wird intern weitergereicht, aber im FMS32 "Konverter" wird es nicht benutzt. Da wird es schlicht immer auf "0" gesetzt. Ist aber leicht anzupassen. In der SocketThreadFMS32.cpp in der Funktion createFMSOutputString() muss man Feld 14 und 15 setzen. Die Kanalnummer wird im Monitor 0 ..7 gezählt. 0/1 = Links/Rechts erste Karte, 2/3 = Links/Rechts zweite Karte usw. Diese Kanalnummer wird im MonitorResultSet durch den Auswerter im Datensatz eingetragen:
In der createFMSOutputString() aber nicht weiter verwendet. Dort muss dann nur wieder zurück auf Karte + Kanal gerechnet werden. Ich habe dafür aktuell nicht die Entwicklerumgebung installiert. Aber im Groben dann so (untested):Code:pRes->set("channelnum",convertIntToString(m_iChannelNum));
Im ZVEI dann genauso anpassen. Da sind es wohl die \t0\t0 = {Tab} 0 {Tab} 0 . Die immer Karte + Kanal 0 angeben.Code:std::string SocketThreadFMS32::createFMSOutputString(ModuleResultBase Result) { std::string socketText ; std::string Feld10="0"; std::string Feld11="0" ; std::string Feld12="0" ; std::string Feld13="" ; std::string Feld14="0" ; std::string Feld15="0" ; int SndKarte=0 ; int Channel=0 ; int temp ; // Kanal in Soundkarte und Links/Rechts zurückrechnen temp=convertToInt( Result["channelnum]) ; SndKarte= temp / 2 ; Channel= temp % 2 ; Feld14 = convertIntToString(SndKarte) ; Feld15 = convertIntToString(Channel) ; socketText = std::string("FMSTlg") + "\t" + Result["fmskennung"] //fahrzeugKennung + "\t" + Result["bosdezimal"] //bosDezimalString // kein HEX + "\t" + Result["landdezimal"] //landDezimalString // kein HEX + "\t" + Result["bos"]+Result["land"]+Result["ort"] // bosString + landString + ortString + "\t" + Result["kfz"] + "\t" + Result["statusdezimal"] // kein HEX + "\t" + Result["baustufe"] //baustufeString + "\t" + Result["richtung"] //richtungString + "\t" + Result["tki"] //tkiString ; if (Result["textuebertragung"].size()>0) { if (convertToInt(Result["richtung"])==0) { // Vom Fahrzeug, Ortstaste wird im Moment // nicht unterstuetzt Feld10="2"; Feld11="0" ; Feld12="0" ; Feld13=Result["textuebertragung"] ; } else if (convertToInt(Result["richtung"])==1) { // Von der Leitstelle Feld10="0"; Feld11="-1" ; Feld12="0" ; Feld13=Result["textuebertragung"] ; } } socketText +="\t"+Feld10 // 10: Folgetelegramm vom Fzg 0=Nein,1=Ort,2=Sonst + "\t"+Feld11 // 11: Folgetelegramm von der Lst 0=Nein, 1=ja + "\t"+Feld12 // 12: Folgenummer dezimal (Feld10=1, Ortstaste) + "\t"+Feld13 // 13: Folgetelegramm (vom Fzg in Hex, von der Lst in ASCII + "\t"+Feld14 // 14: Soundkarte(0..3) + "\t"+Feld15 // 15: Kanal (0,1) ; ; return socketText ; }
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)