Ergebnis 1 bis 15 von 332

Thema: monitord auf Raspberry Pi

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    19.12.2012
    Beiträge
    170
    Hallo firefotografie,

    welche Meldungen hast du schon erfolgreich damit ausgewertet?
    Wie lange wertest du damit schon aus?
    Gibt es Fehlauswertungen?

    Danke für die Infos.

    Gruss
    matt

  2. #2
    Registriert seit
    02.01.2002
    Beiträge
    105
    So Jungs, ich brauche mal Eure Hilfe.

    Ich habe monitord, erfolgreich auf einem CubieBoard 3 (CubieTruck),
    mit rtl_fm und mysql am laufen.

    Der CubieTruck hat genug Leistung.
    PHP-MySQL Abfragen laufen sehr flüssig !!!

    Momentan werden ZVEI (testweise), FMS (testweise)
    und bei mir in der Firma Pocsag,
    von unserem LKW-Rufsystem, decodiert und in die DB geschrieben.

    Ich nutze das momentan als Kontrollempfänger,
    zur Rückmeldung für die Pager-Rufanlage.

    Nun mein Problem:

    Die Programme monitord und rtl_fm starten zwar automatisch über ein
    Startscript (wie hier im Forum bereits beschrieben), es wird aber nichts decodiert.
    Erst ein restart, als User "root", der beiden Services, bringt den gewünschten Erfolg.
    Ich denke mal, es liegt an den Rechten.

    Ich hatte alles als User "root" installiert. Ist das mein Fehler?

    Was muß wohin, mit welchen Rechten kopiert werden,
    so dass ich einen anderen User (z.B.: cubie) zum Starten verwenden kann?

    Oder geht das nur mit einem Eintrag in der Datei "/etc/sudoers" ?

    Hat es schon jemand von Euch geschafft die Record-Funktion zum Laufen zu bringen?


    Gruß

    Marcel

  3. #3
    FlMi-14 Gast
    Hallo Marcel!

    Erste Anlaufstelle sind die Dateirechte ... Für die init.d-Scripte bitte prüfen ob das 755 ist - außerdem sollten alle anderen Scripte / Programme (rtl_fm, monitord & co) ebenfalls 755 haben, die Konfigurationsdateien benötigen mindestens 644.

    CU
    Markus

  4. #4
    Registriert seit
    02.01.2002
    Beiträge
    105
    Hallo Markus,

    die Rechte von meinen init.d Scripten sind auf 755 und Besitzer "root".

    Wenn ich als User "cubie" (so wie beim Raspberry der User "pi"),
    im /home/cubie/ - Verzeichnis, "monitord" aufrufe (hier liegt auch die monitord.xml),
    bekomme ich folgende Ausgabe:

    Code:
    cubie@Cubian:~$ monitord
    terminate called after throwing an instance of 'MonitorException'
      what():  monitord/PluginThread.cpp Line 152: PluginManager: memLockCreate failed
    Aborted
    Als mit "sudo monitord" läuft es.

    Wo müssen die "monitord.xml und die LUA-Scripte hin?"

  5. #5
    FlMi-14 Gast
    Hallo Marcel!

    Die LUA-Scripte und die monitord.xml müssen im gleichen Verzeichnis wie das Binary sein, soweit Du das nicht anders compiliert hast. Eigentlich sollte nach einem "make install" das binary auch unter "/usr/local/bin" liegen.
    Das Home-Verzeichnist standardmäßig 755, da darf also nur der "cubie" drin schreiben, sonst keiner. monitord will aber ein LogFile anlegen und wenn der nicht, dann das MySQL-Plugin, also scheitert's an den (fehlenden) Schreibrechten.

    Also: "make install" ausführen, die XML und die LUAs nach "/usr/local/bin" kopieren und nochmal testen. Unter "/usr/local/bin" solltest Du eigentlich auch die rtl_* Binaries finden.


    Markus
    Geändert von FlMi-14 (15.07.2014 um 20:06 Uhr)

  6. #6
    Registriert seit
    13.07.2014
    Beiträge
    2
    Zitat Zitat von matt Beitrag anzeigen
    Hallo firefotografie,

    welche Meldungen hast du schon erfolgreich damit ausgewertet?
    Wie lange wertest du damit schon aus?
    Gibt es Fehlauswertungen?

    Danke für die Infos.

    Gruss
    matt
    Hallo matt

    Ich werte Pocsag damit aus.
    Auswertung läuft seit 4 Tagen stabil.
    Fehlauswertung gab es bisher nur aufgrund der Empfangsqualität.

  7. #7
    Registriert seit
    01.10.2011
    Beiträge
    94
    Hier ebenfalls, alles gut.

    Das ganze über Raspian + monitord + Scanner + Hercules USB Soundkarte

    Ich habe das ganze heute nochmal clean aufgesetzt und erstmal ein Image gezogen.

    Was geht:

    + monitord (inkl. MySQL, LUA, Alsa)
    + MySQL Anbindung an einen externen Server
    + POC1200 Decodierung
    + Autostart per runlevel + screen

    Was noch kommt oder kommen soll:
    - FMS Decode
    - Soundloop für rtl_sdr (dann sollen 2 ins System, einer FMS, einer POC)
    - Wenn Soundloop funktioniert, kommt die Hercules raus.
    - Filterung per LUA Script im Ausgang zum MySQL-Server (Doppelalarm etc.)
    - Clientconnect (FMS32 an den Raspi, das geht irgendwie aktuell nicht. Ich denke ich habe noch ein Socketfilter Problem)

  8. #8
    Registriert seit
    02.01.2002
    Beiträge
    105
    @Smith

    Ich bin gespannt, lass was von Dir hören.

    Mein Projekt liegt momentan auf Eis.


    Gruß

    Marcel

  9. #9
    Registriert seit
    01.10.2011
    Beiträge
    94
    Ja, was soll ich sagen:

    Meine ToDo ist abgearbeitet. Nein, natürlich nicht. :-)
    Aber, snd_aloop läuft!

    Was geht:

    + monitord (inkl. MySQL, LUA, Alsa)
    + MySQL Anbindung an einen externen Server
    + POC1200 Decodierung
    + Autostart per runlevel + screen
    + Soundloop für rtl_sdr (also SDR USB Sticks!) läuft!!

    Was noch kommt oder kommen soll:
    - FMS Decode
    - Filterung per LUA Script im Ausgang zum MySQL-Server (Doppelalarm etc.)
    - Clientconnect (FMS32 an den Raspi, das geht irgendwie aktuell nicht. Ich denke ich habe noch ein Socketfilter Problem)

    Test ob der Pi 2 Instanzen verträgt und somit FMS und POCSAG kann, stehen noch aus.
    Ich denke selbst unter 1Ghz wird es echt eng. Wenn ich mir die Latenz und Auslastung unter htop anschaue. Der kleine Pi wird schon ein wenig zu tun haben.

    Bisher läuft RasPoc echt gut. Ich hab die Antenne direkt in den Pi integriert, das ganze wird entspannt mit einem USB Netzteil versorgt (1 Ampere!). Somit ist der kleine sehr platzsparend.
    Ich suche noch ein Gehäuse in der Größe des Pi nur ca. 3-5 cm höher um den SDR Stick zu verstecken. Netzwerk und USB-Kabel rein, fertig! :=)

  10. #10
    Registriert seit
    02.01.2002
    Beiträge
    105
    @Smith

    Kannst Du uns bitte etwas mehr verraten?
    Scripte, Installationen ....

    Hast Du bei rtl_sdr die Rauschsperre gesetzt?
    Ich bekomme da immer underruns :-(

    Wie hast Du das genau mit dem Sound-Loop gelöst?

    Ich würde noch eine Record-Funktion für ZVEI-Alarmierungen benötigen.
    Das ist aber in der monitord deaktiviert. :-(

    Wieso verwendest Du keinen BananaPi oder CubieTruck,
    die haben genug Performance.
    Da läuft auchg MySQL flüssig.


    Ich werde mein Projekt mal wieder ausgraben.
    Vielleicht könntest Du mir ja ein bisschen auf die Sprünge helfen?


    Gruß

    Marcel

  11. #11
    Registriert seit
    01.10.2011
    Beiträge
    94
    Auf jeden Fall kann ich dir auf die Sprünge helfen, ich muss nur mal schauen das ich den Wald vor lauter Bäumen noch finde.

    Aktuell zickt es doch per Screen-Session. Es findet ohne ssh-Terminalsitzung keine Decodierung statt. Keine Ahnung warum, anscheinend können monitord und aplay per "stdin" nicht kommunizieren wenn kein Terminal vorhanden ist...

    - Die Kompilierung der sdr- & und monitord-Komponenten nach der Anleitung aus #287 (http://www.funkmeldesystem.de/foren/...&postcount=287)
    - auch habe ich die Anpassung, welche hier im Thread waren, bzgl. der Baudrate vorgenommen (vorm kompilieren.)
    - desweiteren per /etc/modules snd-aloop geladen.
    - per alsamixer überprüft ob der loopback-Adapter als interface 1 vorhanden ist
    - alles außer poc1200 aus der monitord.xml gehauen und entsprechend an das ALSA-Interface 1:1 gehangen.
    - Die Ausgabe erfolgt per aplay auf 1:0

    Ich weiß nicht, ob ich was vergessen habe, aber...
    squelch ist bei mir quasi null, warum sollte ich diese auch im POCSAG brauchen? die Softwaresquelch ist definiv zu langsam.
    Hier aber meine Befehle welche jeweils per EIGENER Putty-Session gestartet werden:

    Code:
    sudo rtl_fm -f 448.425M -M fm -s 22050 -p 37 -E dc -F 0 -g 30 | aplay -t raw -r 22050 -f S16_LE -c 1 -D hw:1,0,0
    Code:
    sudo monitord -c /home/pi/monitord/monitord/monitord.xml
    HTML-Code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <monitordconfig version="1.0">
    <name> Monitord </name>
    <logfile> screen </logfile> <!-- screen = Bildschirm monitord.log = FGile -->
    <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,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">
    
      <!-- Audio Plugin -->
      <!-- Audio Plugin -->
    	<name>Kanal 1</name>
    		<module type="poc1200">
    		<algorithmus> 1 </algorithmus>
    		<crc-check> 0 </crc-check>
    		<ecc> 0 </ecc>
    	</module>
    
      </channel>
      
      <!-- Rechter Kanal -->
      <channel part="right">
    	<name>Kanal 2</name>
    	  <module type="poc1200">
                    <algorithmus> 1 </algorithmus>
                    <crc-check> 0 </crc-check>
                    <ecc> 0 </ecc>
            </module>
    
    
      </channel>
    </soundcard>
    
    <dataplugins>
     <!-- Daten Plugin -->
     <plugin name="mysql">
    	<file> /usr/local/lib/monitord/libmplugin_mysql.so.0 </file>
      	<parameters>
      		<logfile> mysql.log </logfile>
    		<loglevel> DEBUG </loglevel>
    		<hostname> XXXXXXXXXXX</hostname>
    		<port> 3306 </port>
    		<username> XXXXXX </username>
    		<password> XXXX</password>
    		<database> XXXXX </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> pocsag_hist </table>
    			<field name="time" source="mysql"> now() </field>
    			<field name="ric"> ric </field>
    			<field name="funktion"> sub </field>
    			<field name="text"> text </field>
    			<field name="einsatz"> 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>
    Und Underruns habe ich tatsächlich wenn ich mich mal im Bereich um 450 Mhz (...Message...) versuche. Ich denke aber, aufgrund der Daueraussendung auf dieser Frequenz. Und das auch nur, wenn der Pi vorher nicht neu gestartet wurde.

    Deine Idee aus einem anderen Forum mit Jack bzw. der Verteilung per Stream-Server steht noch aus. Bin da zufällig drüber gestolpert. :-D
    Geändert von Smith (16.12.2014 um 16:44 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •