Ergebnis 1 bis 15 von 301

Thema: multimon (der Vorgänger des monitord) auf Raspberry Pi

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    18.03.2015
    Beiträge
    67
    oke, schau ich mir ebenfalls heute abend an, ob ich da was machen kann...
    Im Notfall die Verbindung immer neu öffnen und danach schließen.

    Teste mal ob Meldungen dann wenigstens in die Datenbank geschrieben werden.
    Musst halt solange probieren bis mal was kommt, was innerhalb der ersten 2 Minuten liegt :-D
    Damit wenigstens das als funktionierend betrachtet werden kann ^^

    Gruß

  2. #2
    Registriert seit
    28.01.2011
    Beiträge
    40
    Hab das ganze mittels tcpdump mitgeschnitten:

    Man sieht den Login, einwandfrei und dann über die ganze Zeit nichts mehr.

    Wegen dem Test zum schreiben konnte ich noch nicht probieren. Immer wenn ich dran war, ist Ruhe 8)

    [EDIT]

    Hab mich mal etwas auf die Suche begeben und das gefunden:
    MySQL
    Zitat Zitat von MySQL
    Troubleshooting and Error Handling
    Warnings generated by queries are fetched automatically when get_warnings is set to True. You can also immediately raise an exception by setting raise_on_warnings to True. Consider using the MySQL sql_mode setting for turning warnings into errors.

    To set a timeout value for connections, use connection_timeout.
    Und das:
    Zitat Zitat von http://stackoverflow.com/questions/24327410/python-mysql-connector-timeout
    connect-timeout=seconds Connect timeout in seconds. On Linux this timeout is also used for waiting for the first answer from the server. (timeout has been replaced by connect-timeout, but timeout is still supported in MySQL 5.0 for backward compatibility.)

    interactive-timeout=seconds Permit seconds of inactivity before closing the connection. The client's session wait_timeout variable is set to the value of the session interactive_timeout variable.
    Ich weiß aber nicht wo und wie man das einbauen muss.
    Bei mir müsste es kleiner 120 sein.

    Danke.
    Geändert von Hobo (07.04.2015 um 20:34 Uhr)

  3. #3
    Registriert seit
    18.03.2015
    Beiträge
    67
    Also:

    - install.sh auf ~ gefixt
    - Pfadangaben absolut - es sollte nun egal sein, von wo das script aufgerufen wird
    - mysql connect gefixt
    Edit: Also der fix sieht follgendermaßen aus, das für jede aktion eine neue Verbindung geöffnet wird, Daten geschrieben und diese danach geschlossen wird. Nur so kann man sauber einen Timeout umgehen. Hat auch den Vorteil, das falls die Verbindung mal abreist, beim nächsten mal ist sie wieder da, da ja eine neue aufgebaut wird :-)

    allerdings erst mal alles im Develop-Branch.
    Kannst ja mal testen:
    https://github.com/Schrolli91/BOSWatch/tree/develop

    Gruß
    Geändert von Schrolli (07.04.2015 um 21:40 Uhr)

  4. #4
    Registriert seit
    28.01.2011
    Beiträge
    40
    Danke :)

    Bekomm aber folgenden Fehler:
    Code:
    ./boswatch.py: 5: ./boswatch.py: Syntax error: newline unexpected

    Edit 1:
    Fehler gefunden, hatte die HTML geladen :(

    Edit 2:
    Ich würde gern in den parser noch die Ortskennungen vom FMS, sowie die Fahrzeuge mit Namen versehen.
    Ebenfalls die ZVEI-Schleifen eine Spalte daneben mit den Ortsnamen.

    Im Parser habe ich die Kategorien:
    Code:
    	//Data for location Parsing
    	$location = array(
    		"21" => "Ort1",
    	);
    		//Data for vehicle Parsing
    	$vehicle = array(
    		"8401" => "Ort1 40/1",
    	);
    sowie:
    Code:
    			
    			case "location":
    				return $location[substr($fms,2,1)];
    				break;
    			
    			case "vehicle":
    				return $vehicle[substr($fms,3,1)];
    				break;
    hinzugefügt.
    Bekomm aber nur leere Spalten.


    Wie muss ich den parse mode zvei gestalten?
    Sollte so aussehen:

    ID | Timestamp | Schleife | Ortsname

    Danke schon mal für deinen spitzen support. Ich warte noch auf "Traffic" das ich sagen kann ob das mit der DB jetzt klappt. Die bisherigen Daten habe ich händisch eingetragen.

    Und dann wäre noch interessant, ob ich in der Ausgabe filtern kann auf Orts oder Fahrzeugkennungen udn ZVEI Schleifen, à la 531XX Und 53241 ausgeben.

    In die DB soll aber alles 8)

    Gruß und GN8
    Geändert von Hobo (07.04.2015 um 23:04 Uhr)

  5. #5
    Registriert seit
    18.03.2015
    Beiträge
    67
    Morgen ;-)

    Zum Parser...
    Alle variablen Sachen würde ich gerne direkt in der Datenbank speichern, soweit bin ich aber noch nicht. Der statische Parser den du eben ansprichst ist eigentlich nur für die Organisation und das Bundesland gedacht, weil eben diese Werte fest stehen. Fahrzeuge und Ortschaften sind dann aber sehr individuell.
    Werde da aber evtl heute oder morgen noch was kleines basteln :-)

    Übergangsweise:
    Code:
    return $location[substr($fms,2,1)];
    2,1 ist hier ausschlaggebend. Hier schnappt er sich ab Ziffer "2" genau "1" Zeichen.
    Das müsstest du eben anpassen. Lass dir einfach mal mit echo $fms; den übergebenen String ausgeben, dann kannst du ja abzählen ab wo die Orts und Fhz Kennung anfängt

    Edit: https://github.com/Schrolli91/BOSWatch/tree/develop
    schnapp dir mal die index.php und parser.php aus dem dev-branch ;-)
    und Werf nen Blick in die parser.php - sollte vorerst so gehen (ungetestet, need Feedback)

    Gruß

    Edit:
    Filtermöglichkeiten ala 123** usw sind geplant.
    Aber wann ich damit soweit bin kann ich noch net genau sagen.
    Meinst du eigentlich Filter im Python oder im Webend?
    Geändert von Schrolli (08.04.2015 um 08:09 Uhr)

  6. #6
    Registriert seit
    28.01.2011
    Beiträge
    40
    Danke für deine Hilfe.

    Also bekomme in Zeile 117 nen Fehler:
    Parse error: syntax error, unexpected '{' in /www/htdocs/v114403/alarm/parser.php on line 117
    Habe mal ein paar Korrekturen (Klammern, Variablen):
    Code:
    			//Parse direction
    			case "direction":
    				if(substr($data,9,1) == 1)
    				{
    					return "L->F";
    				}elseif(substr($data,9,1) == 0)
    				{
    					return "F->L";
    				}else
    				{
    					return "ERR!";
    				}
    				break;
    Aber jetzt parsed er nichts mehr.
    Überall steht der komplette string.

    Und hier ist noch nen Fehler drin, den ich noch nicht gefunden habe:
    Code:
    if (array_key_exists($data, $zvei))
    Code:
    Warning: array_key_exists() expects parameter 2 to be array, null given in /www/htdocs/hobo/bos/parser.php on line 134
    Die Zeile ist bei mir anders. ;)

    Und ZVEI übernimmt er nicht.

    Aber wenn das dann irgendwann über ne eigene DB läuft wär natürlich noch besser 8)

    Zitat Zitat von Schrolli Beitrag anzeigen
    Morgen ;-)
    Edit:
    Filtermöglichkeiten ala 123** usw sind geplant.
    Aber wann ich damit soweit bin kann ich noch net genau sagen.
    Meinst du eigentlich Filter im Python oder im Webend?
    Ich meine im Webfrontend.
    Die Python darf ruhig alles in die DB meißeln.

    Übrigens habe ich seit gestern Abend noch nichts empfangen. Entweder Empfangs oder ppm stimmt mal wieder nicht.

  7. #7
    Registriert seit
    18.03.2015
    Beiträge
    67
    Acherje :-D
    Da ist mir ja ein ganz "schöner" Fehler unterlaufen, ich meld mich gleich mit Korrekturen zurück ;-)

    EDIT:
    Sollte alles gefixt sein, und diesmal auch grob getestet! :-D
    Einfach nochmal die parser.php aus dem dev-Branch ziehen
    Sorry für den Müll den ich da hochgeladen habe ^^
    Geändert von Schrolli (08.04.2015 um 10:23 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
  •