Ergebnis 1 bis 15 von 332

Thema: monitord auf Raspberry Pi

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    Registriert seit
    19.12.2012
    Beiträge
    170
    Zitat Zitat von dataflash Beitrag anzeigen
    Nein das bringts nicht, bei 145 Zeichen ist Ende. Es muss an was anderem liegen.
    Ich hab das gleiche vorhin versucht. Kein Erfolg.
    In der Datei MonitorModulePocsag.h ist ein Buffer als Array mit einer Länge von 128 definiert. Die Arraylänge habe ich einfach mal auf 256 vergrößert. Damit kamen auch Längere Meldungen durch, allerdings wurden Meldungen, die Länger als 145 Zeichen waren nicht korrekt dekodiert. Mit nicht korrekt meine ich, dass man anhand des dekodierten Textes noch nicht mal was erahnen konnte.

    Meldungen die weniger als 145 Zeichen enthielten wurden korrekt dekodiert.


    Für FMS und POCSAG habe ich nun auch Filter erstellt, die prüfen, ob es sich bei den dekodierten FMS-Kennungen und den RICs um plausible Werte handelt. Ist das nicht der Fall, werden diese nicht in die MySQL-Datenbank geschrieben.

    Die RIC, die bei uns alle paar Minuten ausgesendet wird, damit die DMEs wissen, dass sie noch empfang haben, habe ich ebenfalls herausgefiltert. Funktioniert soweit ganz gut.

    Code:
    local toHidePOCSAG = {"xxxxxxx"} ; --RIC, die zur Empfangskontrolle der DMEs dient
    
    function pocsagAktion()
    end
    
    function fmsAktion()
    end
    
    function pocsagFilter()
    
    	if(string.sub(arg["ric"],1,2) ~= "xx") then		--xx durch erste beiden Ziffern der RICs ersetzen
    		return 1
    	end
    		
    	for index,testwert in pairs(toHidePOCSAG) do 
    		if(testwert == arg["ric"]) then
    			return 1
    		end
    	end
    	
    	return 0
    end
    
    function fmsFilter()
    	--print("fmsFilter")
    	--print(arg["fmskennung"])
    	if(string.sub(arg["fmskennung"],1,3) ~= "xxx") then		--xxx durch erste drei Ziffern der FMS-Kennung ersetzen (BOS-Kennung, Landeskennung & 1. Ziffer der Ortskennung)
    		return 1
    	end
    	
    	return 0
    end
    
    function pluginFilter()
    	
    	--print(arg["typ"])
    	
    	if (arg["typ"]=="pocsag") then
    		pocsagAktion()
    		return pocsagFilter()
    	end
    	
    	if (arg["typ"]=="fms") then
    		fmsAktion()
    		return fmsFilter()
    	end
    	
    	return 0;
    end
    Mir ist noch aufgefallen, dass im monitord manchmal auch nicht der ganze POCSAG-Text dekodiert wird. FMS32pro bekommt die selben Nachrichten jedoch dekodiert. Vielleicht bekommt man da auch noch was gedreht.
    Geändert von matt (07.02.2013 um 23:58 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
  •