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
    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. #2
    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:	353 
Größe:	712,8 KB 
ID:	14483  
    Geändert von matt (19.02.2013 um 10:30 Uhr)

  3. #3
    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. #4
    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. #5
    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. #6
    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. #7
    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?

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
  •