Seite 14 von 23 ErsteErste 1234567891011121314151617181920212223 LetzteLetzte
Ergebnis 196 bis 210 von 332

Thema: monitord auf Raspberry Pi

  1. #196
    Registriert seit
    11.02.2013
    Beiträge
    10
    Hallo zusammen!
    Meine Config:
    -Uniden UBC60 XLT2
    -Soundblaster MP3+
    -RaspberryPi mit wheezy
    -Online DB

    Läuft eigentlich super.
    Was ich nur mal fragen wollte:
    Wie macht Ihr das mit dem Filtern der doppelten Einträge?
    Ich habe mir das schon mal grob mit dem LUA angeschaut.
    Dort könnte ich falsche RICs schon mal raus filtern.
    Aber das filtern doppelter Einträge ist dort doch nicht möglich oder?

    Gruß
    MueThoS

  2. #197
    Registriert seit
    19.12.2012
    Beiträge
    170
    Zitat Zitat von MueThoS Beitrag anzeigen
    Wie macht Ihr das mit dem Filtern der doppelten Einträge?
    Ich habe mir das schon mal grob mit dem LUA angeschaut.
    Dort könnte ich falsche RICs schon mal raus filtern.
    Aber das filtern doppelter Einträge ist dort doch nicht möglich oder?
    Hallo MueThoS,
    darüber habe ich mir auch schon gedanken gemacht.
    Man könnte z.B. in einem LUA-Skript die letzten 20 ausgewerteten POCSAG-Meldungen in eine Textdatei schreiben lassen.
    Jedes Mal wenn eine neue Meldung ausgewertet ist, könnte man damit prüfen, ob bereits eine Meldung mit dem gleichen Text an die RIC gesendet wurde. Ist das der Fall kann die Funktion eine 1 zurückgeben, womit monitord die Meldung nicht weitergibt (an MySQL, ...).
    Die ganze Überlegung habe ich noch nicht getestet!

    Bei mir ist das Problem, dass nicht alle Nachrichten zu 100% ausgewertet werden. Das bedeutet, dass bei manchen nur die ersten paar Zeichen der Meldung ausgewertet werden. Das Vergleichen der empfangenen RIC und des Textes geht also nicht.
    Da von der Leitstelle die Meldung mehrfach an die gleiche RIC gesendet wird, ist das unkritisch, da die folgenden komplett ausgewertet werden.
    Hierfür weiss ich noch nicht, wie ich das in einem LUA-Skript filtern könnte.

    In einem externen Programm (C#, Java, ...) das auf die Datenbank zugreift sollte das aber möglich sein.


    Noch eine kleine Info nebenbei:
    Ich betreibe meinen Raspberry doch mit 900 MHz. Nicht wie in einem vorherigen Post geschrieben mit 700 MHz. Auf den 3 Chips habe ich Kühlkörper angebracht.
    Es laufen monitord, MySQL und ein Webserver drauf.
    Damit lag die Durchschnittstemperatur der CPU bei ca. 50°C (Umgebung: Raumtemperatur). Ich habe in das Gehäuse einen Lüfter eingebaut (12V Lüfter, mit 5V betrieben).
    Das Ergebnis:
    - Der Lüfter ist fast nicht zu hören
    - Die Durchschnittstemperatur liegt jetzt zwischen 30 und 35 °C.

    Für einen Dauerbetrieb bestimmt besser.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2013-02-19 10.21.14.jpg 
Hits:	334 
Größe:	712,8 KB 
ID:	14483  
    Geändert von matt (19.02.2013 um 10:30 Uhr)

  3. #198
    Registriert seit
    11.02.2013
    Beiträge
    10
    Wie Variante mit dem LUA ist sicher besser wie meine.
    Ich handle das derzeit so:
    Alle Auswertungen gehen in eine temp. Tabelle in der Datenbank.
    Und wenn die Seite aktualisiert wird schaue ich ob etwas in der Tabelle ist.
    wenn ja lese ich die Daten aus und schauen dann ob in der richtigen Tabelle ein Eintrag mit der selben RIC und der selben SUB ist und mit dem selben Zeitstempel +-2 Minuten.
    Wenn nicht Eintragen!
    Wenn doch schauen ob der neue Text länger ist wie der alte und den dann übernehmen oder nicht.
    zusätzlich gehe ich noch hin und ersetze ein paar Zeichen im Text wird zu

    ein einzeln wird gelöscht
    und das wird auch gelöscht

    Vorteil des ganzen:
    PHP kann ich halt anscheint gut genug um es umzusetzen, beim LUA hätte ich Probleme
    Überarbeitung der Text leicht möglich

    Nachteil:
    Die Übernahme der Daten erfolgt nur wenn die Seite aktiv ist.
    Wenn die Seite eine Woche nicht aktiv war z.B. kann es schon mal eine Minute dauern bis alle Einträge in der gefilterten Liste erscheinen.


    Einen großen Nachteil hat meine Variante mit der Online DB:
    Wenn kein Internet da ist wird nichts gespeichert.

    Vorteil:
    Die Seite ist nicht so langsam wie sie auf dem RasPi wäre.

  4. #199
    Registriert seit
    19.12.2012
    Beiträge
    170
    Hier noch ein Link zu einem recht guten LUA-Tutorial.

    http://www.youtube.com/watch?v=hURufKEDF6o

    Es gibt noch 5 weiterführende Videos des Autors.

  5. #200
    Registriert seit
    19.12.2012
    Beiträge
    170
    Heute Abend hatte ich den ersten Ausfall der Auswertung.
    Ich hatte monitord normal auf dem Raspberry laufen. Nachdem ich nach ca. 4 Stunden wieder an den Rechner gegangen bin, bemerkte ich, dass nichts mehr ausgewertet wird.
    Mit dem Befehl
    Code:
    ps aux | grep monitord
    sah ich, dass monitord nicht nur einmal, sondern über 500 mal ausgeführt wird. Wie das geschehen konnte, kann ich mir nicht erklären.

    Vielleicht schaut ihr in Zukunft, wenn euer monitord nichts mehr auswertet auch mal wie oft das Programm läuft.

    Nachdem alle Instanzen gekillt waren und monitord nur noch einmal lief, wurde wieder ausgewertet.

    -----------------------------------------------------------------------------------
    UPDATE

    Es liegt an einem LUA-Skript das ich geschrieben habe. Die genaue Ursache suche ich noch.
    -----------------------------------------------------------------------------------
    UPDATE

    Hab den Fehler gefunden:
    Um über das LUA-Skript diverse Aktionen ausführen zu lassen, erstelle ich eigene unabhängige Prozesse, welche die Aktionen ausführen. Das Original-LUA-Skript muss diese nur aufrufen und führt sofort den nächsten Befehl aus, ohne auf den neu erstellen Prozess zu warten. Gerade wenn eine Aktion etwas länger braucht benötigt man das.
    Die erzeugen Prozesse sind Abbilder vom Original-Prozess. Die erstellen Prozesse muss ich irgenwie gezielt beenden. Nur weiss ich noch nicht wie.
    Geändert von matt (19.02.2013 um 23:29 Uhr)

  6. #201
    Registriert seit
    24.11.2006
    Beiträge
    215
    Hallo allerseits,

    ich habe ein Archlinux auf meinem Pi laufen und bin beim Kompilieren in folgenden Fehler gelaufen:

    Code:
    /bin/sh ./libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.  -Ijthread-1.2.1/src -D_DEBUG -Wall  -frtti -DPLUGINS -fPIC -rdynamic  -shared -frtti   -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT monitord/plugins/monitord_plugins_libmplugin_audiorecorder_la-mpluginAudio.lo -MD -MP -MF monitord/plugins/.deps/monitord_plugins_libmplugin_audiorecorder_la-mpluginAudio.Tpo -c -o monitord/plugins/monitord_plugins_libmplugin_audiorecorder_la-mpluginAudio.lo `test -f 'monitord/plugins/mpluginAudio.cpp' || echo './'`monitord/plugins/mpluginAudio.cpp
     g++ -DHAVE_CONFIG_H -I. -Ijthread-1.2.1/src -D_DEBUG -Wall -frtti -DPLUGINS -fPIC -rdynamic -shared -frtti -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT monitord/plugins/monitord_plugins_libmplugin_audiorecorder_la-mpluginAudio.lo -MD -MP -MF monitord/plugins/.deps/monitord_plugins_libmplugin_audiorecorder_la-mpluginAudio.Tpo -c monitord/plugins/mpluginAudio.cpp  -fPIC -DPIC -o monitord/plugins/.libs/monitord_plugins_libmplugin_audiorecorder_la-mpluginAudio.o
    monitord/plugins/mpluginAudio.cpp: In Elementfunktion »void MonitorAudioPlugIn::addThreadMessage(SocketThread*, std::string)«:
    monitord/plugins/mpluginAudio.cpp:20:45: Fehler: »sleep« wurde in diesem Gültigkeitsbereich nicht definiert
    monitord/plugins/mpluginAudio.cpp: In Elementfunktion »bool MonitorAudioPlugIn::getThreadMessage(SocketMessage&)«:
    monitord/plugins/mpluginAudio.cpp:41:39: Fehler: »sleep« wurde in diesem Gültigkeitsbereich nicht definiert
    make[1]: *** [monitord/plugins/monitord_plugins_libmplugin_audiorecorder_la-mpluginAudio.lo] Fehler 1
    make[1]: Leaving directory `/tmp/yaourt-tmp/aur-monitord-svn/src/build'
    make: *** [all] Fehler 2
    Das Paket wurde aus dem AUR kompiliert, aber auch nach einem manuellen svn co, ./configure und make trat der Fehler auf.

    Hat jemand eine Idee, wie das Problem zu lösen ist?

    Viele Dank für die Hilfe!

  7. #202
    Registriert seit
    19.12.2012
    Beiträge
    170
    Zitat Zitat von Dtrieb7482 Beitrag anzeigen
    Hallo allerseits,

    ich habe ein Archlinux auf meinem Pi laufen und bin beim Kompilieren in folgenden Fehler gelaufen:...
    Hi, ich habe noch nie mit einem Archlinux gearbeitet. Aber kann man dort nicht die gleichen Befehle wie bei einem Debian verwenden?

  8. #203
    DeLocke Gast
    @matt:

    Du hast doch auch den UBC69 XLT

    Wie hoch hast du den Line-In Pegeal im alsamixer?

  9. #204
    Registriert seit
    11.02.2013
    Beiträge
    10
    Soweit ich das verstehe gibt es da keinen Pegel.
    Ich kann bei meiner Soundblaster Mp3+ nur den Line in an oder aus machen.
    Wenn du dir den Pegel anzeigen lässt ist er im unteren drittel.

    So ist zumindest meine Erfahrung damit.
    Ich muss:
    Den Aufnahme Regler auf 100 bzw 1 stellen weiß nicht genau und muss die Aufnahme des Kanals mit Leertaste aktivieren. Dann steht da Aufnahme drunter.

  10. #205
    Registriert seit
    19.12.2012
    Beiträge
    170
    Den Eingangspegel kann ich mit dem Befehl
    Code:
    sudo arecord -vv -D plughw:1,0 /dev/null
    darstellen lassen.

    Die Kombination Uniden UBC 60 XLT2 (über Diskriminatorausgang angeschlossen) und Behringer UCA 202 ergibt bei mir einen Eingangspegel zwischen den Grenzen 20% und 30%. Im Mittel liegt er aber tatsächlich bei 24% oder 25%.

    Im Alsamixer bietet die UCA202 keine Einstellungsmöglichkeiten was den Pegel betrifft. Sollte der Pegel nicht passen, muss er also über entsprechende Hardware angepasst werden.

  11. #206
    Registriert seit
    25.07.2010
    Beiträge
    71
    Hi zusammen,

    die Abbrüche nach 2-3 h lagen bei mir daran, dass ich die Stormversorgung über meinen PC lief, sobald dieser in den Powersave gegangen ist, war der Raspberry zwar noch erreichbar, allerdings hat sich monitord dabei aufgehangen.

  12. #207
    Registriert seit
    19.12.2012
    Beiträge
    170
    Hat von euch schon jemand ein Skript geschrieben, das in /etc/init.d liegt um monitord zu starten und zu stoppen?

    Meins sieht bisher so aus:
    Code:
    case "$1" in
        start)
    		/home/pi/monitord/monitord/monitord -c /home/pi/monitord/monitord/monitord.xml  &
    		;;
        stop)
    		pid=$(pidof monitord)
    		kill $pid
    		;;
    	restart)
    		pid=$(pidof monitord)
    		kill $pid
    		/home/pi/monitord/monitord/monitord -c /home/pi/monitord/monitord/monitord.xml  &
    		;;
       	*)
    		echo "usage $0 start|stop" ;;
    esac
    
    exit 0
    Wenn ich
    Code:
    sudo /etc/init.d/monitord start
    ausführe wird in der Konsole "monitord 2.0svn running..." angezeigt. Damit ich eine normale Eingabezeile mit "pi@raspberrypi ~ $" erhalten muss ich einmal Enter drücken. (siehe Bild)

    Gibt es eine Möglichkeit, damit ich sofort nach dem Starten von Monitord wieder eine normale Eingabezeile erhalte?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	monitord_start.png 
Hits:	239 
Größe:	79,3 KB 
ID:	14493  

  13. #208
    Registriert seit
    25.07.2010
    Beiträge
    71
    Versuchs mal mit:

    /home/pi/monitord/monitord/monitord -c /home/pi/monitord/monitord/monitord.xml >> /dev/null &

    Ich habe mich auch mit diesem Startscript versucht, allerdings habe ich leider nicht genug Ahnung von Linux um mit den Runlevel die Abhängigkeiten richtig hin zu bekommen.

    Von daher habe ich einfach einen Cronjob erstellt, der jede Minute überprüft ob Monitord läuft und es entsprechend startet, wenn dem nicht so ist.

    Mit dem LUA-Script bin ich auch nicht klar gekommen, von daher habe ich hier die gleiche Lösung über ein Cronjob erledigt: Eine PHP-Datei fragt alle 15 Sekunden ab ob ein neuer Eintrag in der mySQL-DB ist und löscht diesen entweder oder verarbeitet diesen weiter z.B.: AlarmTafel oder SMS-Alarmierung

  14. #209
    Registriert seit
    19.12.2012
    Beiträge
    170
    @dataflash:
    Mit dem ">> /dev/null" hat es geklappt.

    Ich filtere die dekodierten Meldungen mit einem LUA Skript. Funktioniert einwandfrei. Falls zu hilfe benötigst kann ich versuchen dir zu helfen.

    Zum Ausführen von Aktionen will ich mit dem LUA Skript ein in C geschriebenes Programm ausführen. Damit Monitord nicht wartet bis das Programm fertig ausgeführt ist, erstellt es einen Daemon von sich selbst, der beendet wird, sobald alle Aktionen abgeschlossen sind.

    Darin kann ich alles denkbare anstellen.
    Geändert von matt (25.02.2013 um 15:07 Uhr)

  15. #210
    Registriert seit
    24.11.2006
    Beiträge
    215
    Zitat Zitat von matt Beitrag anzeigen
    Hi, ich habe noch nie mit einem Archlinux gearbeitet. Aber kann man dort nicht die gleichen Befehle wie bei einem Debian verwenden?
    Nein es sind nicht die gleichen Befehle.

    Wäre schön wenn mir jemand weiterhelfen könnte, dann könnte ich mich auch mit dem Programm beschäftigen.

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
  •