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
    26.05.2013
    Beiträge
    230
    Moin,

    ich habe jetzt auch mal monitord auf dem Raspberry installiert, wie auf den ersten beiden Seiten zu finden war.
    Anschliessend habe ich mittels
    Code:
    rtl_fm -f xx.xxxM -s 20000 -g 14 -l 16 -C - | aplay -r 20k -f S16_LE -t raw -c 1 &
    den Funk auf die interne Soundkarte ausgeben.

    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:
    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>
    Wenn ich monitord starte, bekomme ich folgende Ausgabe:
    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
    Woran sehe ich jetzt, ob es funktioniert? Sollten hier jetztz FMS-Meldungen erscheinen?

  2. #2
    Registriert seit
    24.07.2013
    Beiträge
    2
    ändere den Loglevel mal auf DEBUG

  3. #3
    Registriert seit
    26.05.2013
    Beiträge
    230
    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:
    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>
    Nach der letzten Anpassung habe ich monitord neu gestartet.

    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:
    Code:
    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"
    -----
    Sind das jetzt FMS-Kennungen??? Hatte doch eigentlich gerade mit POC1200 getestet... Und den Empfang gar nicht aktiv gehabt nach dem letzte Neustart

    Sehe schon gespenster... Wird Zeit fürs Bett... Morgen nochmal schauen.

  4. #4
    Registriert seit
    07.09.2003
    Beiträge
    694
    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 zwischen
    Code:
    module type="fms"
    und
    Code:
    /module
    im Kanal 1 weg).
    Dann wird auch nur noch auf POC1k2 gehört.

    Gruß,
    Funkwart

  5. #5
    Registriert seit
    26.05.2013
    Beiträge
    230
    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)

  6. #6
    Registriert seit
    19.12.2012
    Beiträge
    170
    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 aus der monitord.xml aber entferne werde die Skripte nicht mehr ausgeführt...

    Hat das jemand gewusst?

  7. #7
    Registriert seit
    21.01.2007
    Beiträge
    66
    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

  8. #8
    Registriert seit
    26.05.2013
    Beiträge
    230
    Nachdem ich die FMS-Sachen am laufen habe inkl. Datenbank, nun Probleme bei POCSAG:
    Unsere Leitstelle nutzt POC512 auf einer Frequenz (sagen wir mal) 199.910M
    Wenn ich diese Frequenz mit SDRSharp auf dem USB-Stick, welcher am Pi hängt und mittels RTL_TCP aufrufe, dann kann ich sehen, dass die POCSAG-Meldungen nur auf einer Seite bei 20kHz kommen. Wenn ich das ganze sauber einstelle im SDRSharp, sodass POC32 auf der Windowskiste die Sachen auswertet, dann habe ich folgende Einstellungen:


    Wie muss ich das ganze jetzt bei rtl_fm und monitord einstellen, dass ich hier auch eine Auswertung hinbekomme?

    Weder ein
    Code:
    rtl_fm -f xxx.907M -s 10000 -g 14 -C  - | aplay -r 10000 -f S16_LE -t raw -c 1 -D default:CARD=ALSA &
    noch ein
    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 &
    führt zu einer auswertung in monitord.

    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>
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Unbenannt.PNG 
Hits:	2205 
Größe:	258,5 KB 
ID:	14999  

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
  •