Moinmoin,
aso, dann hängts bei mir noch daran, dass ich den Kram ohne SSL-Support zu haben scheine (ich habe gerade nicht die Zeit, mich da so richtig tief reinzuknien :().
Verdammt ;). *done*.Zitat:
Zitat von Hugch
Martin
Druckbare Version
Guten Abend in die Runde!
Ich habe den monitord nun mal unter Ubuntu mit MySQL, Alsa und Lame kompiliert und make durchlaufen lassen (kein install).
Ich wollte ihn gerne mit einer Datenbank betreiben, die auf meinem Webserver liegt, auf dem das Web-Frontent installiert ist.
monitord startet tatsächlich auch ohne Fehlermeldung (ob er tatsächlich Daten annimmt, konnte ich bisher nicht überprüfen), sobald ich aber das MySQL-Dataplugin lade (wie auf der monitord-Webseite angegeben), steht im Log dass er sich nicht mit der Datenbank verbinden konnte.
Ein mysql-log legt das Programm trotz eintrag in der monitord.xml nicht an.
Ich habe sowohl monitord.xml als auch monitord.log mal angehängt.
Kann mir da jemand weiterhelfen? Habe ich die Config falsch verstanden? Oder wo kann es sonst haken?
Liebe Grüße!
Ach verdammt, danke.
Die Tabellen hatte ich natürlich angelegt, der Nutzer hatte auch die Rechte von externen Hosts zuzugreifen, nur der MySQL-Server lauschte nur an localhost. Wo ich ihm nun die echte IP zugewiesen habe, klappt es mit dem Login.
Jetzt bleibt noch ein Problem:
Es tut sich nichts. Wenn ich über Line oder Mic eine 5-Ton-Folge eingebe, passiert einfach nichts. Weder in der Konsole, noch in den Logs noch im Web-Frontend (mit dem monitord nun korrekt verbunden ist laut Log) gibt es etwas zu sehen.
Hallo kann mir jemand bei meinem Soundkarteproblem helfen?
monitord 2.0svn running...
09:17:23.811 INFO: monitord/Monitor.cpp(217) starting soundcard #0
09:17:23.811 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0
09:17:23.811 INFO: monitord/SndPipe.cpp(156) creating decoder for soundcard #0L:FMS
09:17:23.811 INFO: monitord/SndPipe.cpp(178) creating decoder for soundcard #0L:ZVEI
09:17:23.812 INFO: monitord/SndPipe.cpp(189) creating decoder for soundcard #0R:ZVEI
09:17:23.812 INFO: monitord/SndPipe.cpp(201) creating decoder for soundcard #0L:POC512
09:17:23.812 INFO: monitord/MonitorModulePocsag512.cpp(66) (2) sample - crc - ecc - minpreambel - maxerrors - algo:22050 - 1 - 0 - 300 - 10 - 1
09:17:23.813 INFO: monitord/MonitorModulePocsag512.cpp(79) Algorithmus:1
09:17:23.813 INFO: monitord/MonitorModulePocsag512.cpp(86) SPHASE_INC is:1521
09:17:23.813 INFO: monitord/SndPipe.cpp(228) creating decoder for soundcard #0L:POC1200
09:17:23.827 INFO: monitord/posix/MonitorAudioALSA.cpp(107) [ALSA] Using pcm_buffer_size=7526 periods=1
09:17:23.828 ERROR: monitord/posix/MonitorAudioALSA.cpp(113) [ALSA] Error setting HW params plughw:0. -22(Invalid argument)
09:17:23.828 ERROR: monitord/posix/MonitorAudioALSA.cpp(16) [ALSA] Error initializing PCM device plughw:0
Probiere es in der monitord.xml mal mit dem Device-Eintrag
plughw:0,0
anstatt deinem jetzigen
plughw:0
Moin,
hab heut mal Monitord installiert (Windows) und hab nun folgende Frage:
Ist es möglich das Monitord bestimmte RICs auswertet aber den Text nicht an FMS32 weitergibt.
Es geht um folgendes das nun bei uns bald IDEA Verschlüsselung im Nachbarkreis ansteht, und ich dort gern statt den Verschlüsselten Text, einfach das Wort Alarmierung oder einfach leer lassen würde in FMS32 (was dann weitergeht an Bos2Web)
Dies sollte aber nur für ein bestimmten Kreis von Rics sein. Da wir Ric 166xxxx und 167xxxx nicht verschlüsselt sind.
Also doof gefragt, wäre es möglich eine Textdatei oder dll oder wie auch immer im Monitord zu laden die ihm sagt, Ric 123**** ersetze POCSAG Text durch "Alarmierung" ?
Hallo Leute,
habe mir heute mal euer sehr interessantes Projekt angeschaut.
Auswertung funktioniert super. Allerdings bekomme ich es nicht hin, das Datenformat für die TCP/IP Verbindung zu ändern. Weder "fms32pro" noch "crusader" funktionieren. Es wird immer das Standardformat des monitord angezeigt.
Habt ihr eine Idee was es noch sein könnte?
Gruß
MeisterM
Hi,
ich gehe mal davon aus, du hast http://monitord.de/?article=3 gelesen.
Hast du deine Firewall überprüft, dass der entsprechende Port auch offen ist? Hast du den gleichen Port mehrmals eingestellt?
Fragen über Fragen..
Wenn du mal deine config postest, könnten wir dir vielleicht besser helfen :)
Hallo leute hab auch probleme auf meinem Debian mit dem Sound hab schon vieles Probiert nix will so richtig hin hauen:
21:40:10.755 ERROR: monitord/posix/MonitorAudioALSA.cpp(56) [ALSA] Error opening PCM device plughw:0,0 ret:-2No such file or directory
21:40:10.755 ERROR: monitord/posix/MonitorAudioALSA.cpp(16) [ALSA] Error initializing PCM device plughw:0,0
hat jmd einen Tip???
Hallo,
ich hätte da mal eine Frage zum monitord und zwar haben wir ein Projekt zu laufen und unserer Problem ist das wir die Alarmtexte nicht richtig ausgewertet bekommen.
Wenn man monitord auf Windows Server 2003 hat funktioniert es dort richtig oder gibt es dabei irgentwelche Probleme?!
Über eine Antwort würde ich mich freuen.
Hallo,
auch wenn die Antwort extrem spät kommt: Mir sind keine Probleme bekannt, und da sich niemand sonst geäußert hat, sollte das grundsätzlich tun. Entscheidend für die Auswertung ist ein sauberes Eingangssignal, möglichst rauscharm und brummfrei. Ein Trenntrafo ist hier hilfreich.
Viele Grüße
Martin
Hallo zusammen,
ich hab mich die letzten Stunden auch mal am monitord versucht, da wir in unserem Feuerwehrhaus den letzten Alarm anzeigen möchten mit Anfahrtsweg etc.
Die Installation hat mit der Anleitung hier:
http://www.funkmeldesystem.de/foren/...ad.php?t=55762
auch soweit alles recht gut geklappt :-)
Das einzige, was nun nicht will ist scheinbar der sound.
Ich Rufe den monitord auf und erhalte immer folgendes:
In der Config steht folgendes bzw. ein lspci wirft mir folgendes aus:Code:root@stbl:/opt/monitord/monitord# monitord
monitord 2.0svn running...
Logging in Logfiles, keine weiteren Ausgaben hier. root@stbl:/opt/monitord/monitord#
root@stbl:/opt/monitord/monitord# tail monitord.log
22:18:18.949 INFO: monitord/SndPipe.cpp(189) creating decoder for soundcard #0R:ZVEI
22:18:18.949 INFO: monitord/SndPipe.cpp(201) creating decoder for soundcard #0L:POC512
22:18:18.949 INFO: monitord/MonitorModulePocsag512.cpp(66) (2) sample - crc - ecc - minpreambel - maxerrors - algo:22050 - 1 - 0 - 300 - 10 - 1
22:18:18.949 INFO: monitord/MonitorModulePocsag512.cpp(79) Algorithmus:1
22:18:18.949 INFO: monitord/MonitorModulePocsag512.cpp(86) SPHASE_INC is:1521
22:18:18.949 INFO: monitord/SndPipe.cpp(228) creating decoder for soundcard #0L:POC1200
22:18:18.949 INFO: monitord/SndPipe.cpp(263) loading audioplugins for left channel
22:18:18.949 INFO: monitord/SndPipe.cpp(265) loading audioplugins for right channel
22:20:58.967 INFO: monitord/posix/MonitorAudioALSA.cpp(107) [ALSA] Using pcm_buffer_size=7526 periods=1
22:20:58.967 ERROR: monitord/posix/MonitorAudioALSA.cpp(113) [ALSA] Error setting HW params plughw:0,0. -22(Invalid argument)
22:20:58.968 ERROR: monitord/posix/MonitorAudioALSA.cpp(16) [ALSA] Error initializing PCM device plughw:0,0
root@stbl:/opt/monitord/monitord#
Ich hab schon alles mögliche da eingetragen, von plughw:0 (steht hier im Threat irgendwo), bis zu 2,7 (PCI-Nummer). Auch /dev/snd/... hab ich versucht. Einfach nur nix. Ich bin wirklich etwas verzweifelt und fände es toll wenn mir jemand von euch da weiterhelfen kann. :-/Code:<soundcard num="0">
<!-- <device>/dev/dsp0</device> --> <!-- OSS: die erste Soundkarte -->
<device>plughw:0,0</device> <!-- ALSA: die erste Soundkarte -->
<status>1</status> <!-- 1=aktiv, 0=deaktivert -->
<baud>22050</baud>
<name> Erste Sondkarte </name>
[...]
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] SiS7012 AC'97 Sound Controller (rev a0)
Im Gegenzug stelle ich gern mein Frontend zur Verfügung wenn ich es fertig habe - falls da Interesse besteht :-)
Viele Grüße,
Peter
was sagt denn aplay -l bzw. arecord -l?
Die Ausgabe von arecord -l ist interessant, da man so sehen kann, welche Geräte von Alsa benutzt werden können.
Es kann auch sein, dass schon auf das Gerät zugegriffen wird, oder deinem user die nötigen Rechte fehlen. Das heißt dein user sollte in der Gruppe audio sein. Dies ist aber je nach Betriebssystem unterschiedlich.
Gruß
Hugch
Hey, danke für eure Antwort. :-)
Hier die Ausgaben:
Viele Grüße,Code:root@stbl:~# aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: SI7012 [SiS SI7012], Gerät 0: Intel ICH [SiS SI7012]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
root@stbl:~# arecord -l
**** Liste der Hardware-Geräte (CAPTURE) ****
Karte 0: SI7012 [SiS SI7012], Gerät 0: Intel ICH [SiS SI7012]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: SI7012 [SiS SI7012], Gerät 1: Intel ICH - MIC ADC [SiS SI7012 - MIC ADC]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
root@stbl:~#
Peter
Versuch dann mal sowas wie:
arecord -D plughw:0,0 -f cd -V stereo > /dev/null
Wenn das nicht funktioniert, dann kannst du so auf die Aufnahmegeräte nicht zugreifen.
Schau dann mal in den alsamixer hinein:
alsamixer -c 0
Drücke anschließend F4. Wenn du dort keine Aufnahmegeräte siehst, dann sind auch keine vorhanden die Alsa kennt.
Gruß
Hugch
Hi,
ich bin leider grad nicht Zuhause um es genau zu testen, aber folgendes ist der Fall;
Ich versuche monitord als root zu starten, von daher sollte rechte technisch der Zugriff erlaubt sein.
Ich teste es dennoch wenn ich heim komme.
Was den Alsamixer angeht;
Ich hab einen Scanner auf Line-In hängen und höre auf Line-Out alles das, was der Scanner so quarkt.
Regeln kann ich im alsamixer auch alles, aber nach Mikro/Line-In hab ich nun noch nicht so genau geschaut. Das hole ich aber gerne später nach ;-)
Nochmal zu meiner Frage zurück;
Was sollte man denn in der config-Datei als Device genau eintragen?
plughw:0,0 oder plughw:0 bzw. für was stehen die Zahlen? Was gibt es noch als Option außer plughw?
Viele Grüße,
Peter
Die erste Zahl steht für die Soundkarte und die zweite für das Subdevice auf der Sounkarte.
Wie gesagt,versuche mal den arecord Befehl. Es kann auch sein, dass du ein anderes Programm bereits auf das Subdevice zugreift. Alsa erlaubt immer nur ein Zugriff pro Subdevice.
Gruß
Hugch
Rehi,
also dein Befehl geht mit beidem:
Im Alsamixer hab ich mir das ma angeschaut.Code:root@stbl:~# arecord -D plughw:0,0 -f cd -V stereo > /dev/null
Aufnahme: WAVE 'stdin' : Signed 16 bit Little Endian, Rate: 44100 Hz, stereo
^CAbbruch durch Signal Unterbrechung ...
root@stbl:~# arecord -D plughw:0 -f cd -V stereo > /dev/null
Aufnahme: WAVE 'stdin' : Signed 16 bit Little Endian, Rate: 44100 Hz, stereo
^CAbbruch durch Signal Unterbrechung ...
S/PDIF Playback kann ich auswählen und steuern.
Mic und Capture sind aber nur Rot und ich kann die Lautstärke da nicht ändern...
Ich vermute dass da das Problem liegt. Hast du ne Idee, was ich da noch machen kann?
Viele Grüße,
Peter
Das heißt, dass du wenigstens auf die Aufnamegeräte zugreifen kannst. Das du die Lautstärke nicht einstellen kannst ist nichts ungewöhnliches.
Dann wäre jetzt die Frage wie du monitord compiliert hast. Hast du überhaupt mit Alsa compiliert und hast du das nötige alsa development Paket vor dem compilieren installiert?
Gruß
Hugch
Hm,
also ich hab es tatsächlich 1:1 so installiert, wie unter dem Link beschrieben:
http://www.funkmeldesystem.de/foren/...ad.php?t=55762
Also so hier:
Viele Grüße,Code:./configure --enable-plugins --with-alsa --with-mysql
Peter
Moin,
versuche mal "libasound2-dev" zu installieren und dann noch mal zu compillieren. Wenn es dann immer noch nicht funktioniert, habe ich leider auch keine Idee mehr.
Gruß
Hugch
Ist es bereits :-(
So ein Mist. HAt jemand anders vielleicht noch ne Idee?Code:root@stbl:/# dpkg -l | grep libasound2
ii libasound2:amd64 1.0.25-4ubuntu3.1 amd64 shared library for ALSA applications
ii libasound2-dev:amd64 1.0.25-4ubuntu3.1 amd64 shared library for ALSA applications -- development files
root@stbl:/#
Viele Grüße,
Peter
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>
<!----
Attribut name=XYZ": Zielfeld in der mySQL Tabelle
Attribut source="mysql": Inhalt nicht aus dem Resultset nehmen,
sondern "AS IS", also im Klartext als Parameter einfuegen (default="result")
Wert des Tags: Feldname im Resultset oder Klartext(je nach Attribut source)
Beispiele:
<field name="Uhrzeit" source="mysql" > NOW() </field>
(laesst MySQL die aktuelle Uhr Zeit in das Feld "Uhrzeit" einfuegen)
<field name="Typ" source="mysql" > "T" </field>
(fuegt ein "T" in das Feld "Typ" ein)
<field name="Meldung"> text </field>
(fuegt das Element "text" aus dem Resultset in das Feld "Meldung" ein)
--->
<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...
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 ;
}
Ich habe das Problem gelöst
Hallo erstmal,
ich versuche seit längeren den Monitord auf Ubuntu 16.04 LTS zu kompilieren und stoße laufend auf Hindernisse, die ich zwar teilweise lösen konnte aber langsam gehen mir die Ideen aus.
erst ließen sich die scripte "configure" und "autogen.sh" nicht starten, was ich mit folgenden Einträgen in die "configure.ac" beheben konnte:
nun konnte ich das autogen.sh script starten und erhielt folgende Ausgabe:Code:m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
LT_INIT
das habe ich gelöst, indem ich in der Makefile.am den doppelpunkt vor dem "=" gelöscht habe.Code:automake-1.15: warnings are treated as errors
Makefile.am:2: warning: ':='-style assignments are not portable
/usr/share/automake-1.15/am/ltlibrary.am: warning: 'monitord/plugins/libmplugin_audiorecorder.la': linking libtool libraries using a non-POSIX
/usr/share/automake-1.15/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
Makefile.am:117: while processing Libtool library 'monitord/plugins/libmplugin_audiorecorder.la'
/usr/share/automake-1.15/am/ltlibrary.am: warning: 'monitord/plugins/libmplugin_audiorecorderSOX.la': linking libtool libraries using a non-POSIX
/usr/share/automake-1.15/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
Makefile.am:113: while processing Libtool library 'monitord/plugins/libmplugin_audiorecorderSOX.la'
/usr/share/automake-1.15/am/ltlibrary.am: warning: 'monitord/plugins/libmplugin_mysql.la': linking libtool libraries using a non-POSIX
/usr/share/automake-1.15/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
Makefile.am:130: while processing Libtool library 'monitord/plugins/libmplugin_mysql.la'
Makefile:501: die Regel für Ziel „Makefile.in“ scheiterte
make: *** [Makefile.in] Fehler 1
nun habe ich versucht das ganze Procedere nochmal durchgeführt und bin bei dem Befehl "make" hängen geblieben wo ich folgende Ausgabe bekam:
wenn ich ehrlich bin, gehen mir so langsam die Ideen aus wie ich das Programm noch ans Laufen bekomme...Code:make all-am
make[1]: Verzeichnis „/home/stephan“ wird betreten
g++ -DHAVE_CONFIG_H -I. -Ijthread-1.2.1/src -D_DEBUG -Wall -g -O2 -MT monitord/monitord_monitord-Monitor.o -MD -MP -MF monitord/.deps/monitord_monitord-Monitor.Tpo -c -o monitord/monitord_monitord-Monitor.o `test -f 'monitord/Monitor.cpp' || echo './'`monitord/Monitor.cpp
mv -f monitord/.deps/monitord_monitord-Monitor.Tpo monitord/.deps/monitord_monitord-Monitor.Po
g++ -DHAVE_CONFIG_H -I. -Ijthread-1.2.1/src -D_DEBUG -Wall -g -O2 -MT monitord/monitord_monitord-MonitorAudio.o -MD -MP -MF monitord/.deps/monitord_monitord-MonitorAudio.Tpo -c -o monitord/monitord_monitord-MonitorAudio.o `test -f 'monitord/MonitorAudio.cpp' || echo './'`monitord/MonitorAudio.cpp
mv -f monitord/.deps/monitord_monitord-MonitorAudio.Tpo monitord/.deps/monitord_monitord-MonitorAudio.Po
g++ -DHAVE_CONFIG_H -I. -Ijthread-1.2.1/src -D_DEBUG -Wall -g -O2 -MT monitord/monitord_monitord-MonitorConfiguration.o -MD -MP -MF monitord/.deps/monitord_monitord-MonitorConfiguration.Tpo -c -o monitord/monitord_monitord-MonitorConfiguration.o `test -f 'monitord/MonitorConfiguration.cpp' || echo './'`monitord/MonitorConfiguration.cpp
In file included from monitord/MonitorConfiguration.cpp:16:0:
./simpleopt/SimpleGlob.h: In instantiation of ‘int CSimpleGlobTempl<SOCHAR>::Add(const SOCHAR*) [with SOCHAR = char]’:
./simpleopt/SimpleGlob.h:687:22: required from ‘int CSimpleGlobTempl<SOCHAR>::Add(int, const SOCHAR* const*) [with SOCHAR = char]’
monitord/MonitorConfiguration.cpp:334:62: required from here
./simpleopt/SimpleGlob.h:623:41: error: ‘GetFileTypeS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
SG_FileType nType = GetFileTypeS(a_pszFileSpec);
^
./simpleopt/SimpleGlob.h:623:41: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:623:41: note: use ‘this->GetFileTypeS’ instead
./simpleopt/SimpleGlob.h:644:28: error: ‘FindFirstFileS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
int rc = FindFirstFileS(a_pszFileSpec, m_uiFlags);
^
./simpleopt/SimpleGlob.h:644:28: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:644:28: note: use ‘this->FindFirstFileS’ instead
./simpleopt/SimpleGlob.h:657:41: error: ‘GetFileNameS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
nError = AppendName(GetFileNameS((SOCHAR)0), IsDirS((SOCHAR)0));
^
./simpleopt/SimpleGlob.h:657:41: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:657:41: note: use ‘this->GetFileNameS’ instead
./simpleopt/SimpleGlob.h:657:60: error: ‘IsDirS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
nError = AppendName(GetFileNameS((SOCHAR)0), IsDirS((SOCHAR)0));
^
./simpleopt/SimpleGlob.h:657:60: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:657:60: note: use ‘this->IsDirS’ instead
./simpleopt/SimpleGlob.h:658:33: error: ‘FindNextFileS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bSuccess = FindNextFileS((SOCHAR)0);
^
./simpleopt/SimpleGlob.h:658:33: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:658:33: note: use ‘this->FindNextFileS’ instead
Makefile:1177: die Regel für Ziel „monitord/monitord_monitord-MonitorConfiguration.o“ scheiterte
make[1]: *** [monitord/monitord_monitord-MonitorConfiguration.o] Fehler 1
make[1]: Verzeichnis „/home/stephan“ wird verlassen
Makefile:657: die Regel für Ziel „all“ scheiterte
make: *** [all] Fehler 2
Ich hoffe hier im Forum hat jemand noch eine Idee oder eine Anleitung parat, welche mir weiterhilft...
Grüße
Mohadib
Hallo zusammen,
ich versuche gerade, MonitorD aufzusetzen, bekomme aber keinen Zugang zu der Source unter "sudo svn co http://svn.monitord.de/monitor/trunk monitord".
Weiß jemand, woran das liegen könnte und wie ich das beheben kann?
Hier die Fehlermeldung:
svn: E175013: Unable to connect to a repository at URL 'http://svn.monitord.de/monitor/trunk'
svn: E175013: Zugriff auf »/monitor/trunk« verboten