Gaszähler mit optischem Sensor TRTC5000

  • Hallo,

    nachdem meine Versuche zum Auslesen des optischen Sensors mit vzlogger nicht erfolgreich waren (anscheinend zu instabiles Signal - siehe anderen thread), habe ich jetzt selbst ein kleines Python-Prog dafür geschrieben. Ich wollte weiterhin erreichen, dass nicht wie bei vzlogger die einzelnen Impulse angegeben werden, sondern das man in etwa den Gasverbrauch direkt ablesen kann.


    Das Prg. tut grundsätzlich, was es soll, ist aber bestimmt nicht professionell (python-Dummy). vzclient.conf habe ich mit dem Pfad zur middleware erstellt.

    Ich habe das Programm und vzclient (neu herunter geladen) in /home/pi. Ich starte das Programm dort einfach mit "python3 gas.py".

    Das scheint aber nicht optimal zu sein:

    Die erste Zeile im Prg. funktioniert nicht, ich muss python3 beim Aufruf angeben.

    In welchen Ordner müssen Python-Programm und vzclient?

    Welche Rechte/ Owner müssen sie haben?

    Wie kann ich es machen, dass das Prg. mit "Autostart" läuft? In/etc/rc.local klappte es nicht, weil wohl der Pfad zu vzclient fehlt.

    Bisher sehe ich nach dem Start nur noch die Python-Konsole mit Ausgaben von vzclient, die ich aber nicht brauche.

    Gruss, wonk

    Gruss, wonk

  • Die erste Zeile im Prg. funktioniert nicht, ich muss python3 beim Aufruf angeben.

    Das Script muss ausführbar sein chmod +x und in einem Verzeichnis für ausführbare Dateien liegen.

    Ist letzteres nicht der Fall ist immer das Verzeichnis anzugeben. Absolut /home/pi/gas.py oder relativ ./gas.py.


    In welchen Ordner müssen Python-Programm und vzclient?

    https://wiki.volkszaehler.org/…nts/vzclient#installation


    Noch ein Problem: Das Programm stoppt nach etwa 30 Minuten einfach. Warum?

    Tut mir leid, meine Glaskugel ist gerade zum Polieren.



    mfg JAU

    No Shift - No Service

  • Hallo,

    mit den Pfaden habe ich es wohl hinbekommen. Wenn ich mein Python-Prg. starte, sehe ich beim Zugriff auf vzclient immer dessen Ausgaben

    b'{"version":"0.3","rows":1}'

    , ich komme also nicht auf die Konsole zurück. Müßte ich dazu mein Prg. zu einem service machen?

    Zum Stop des Prgs.: ich starte es z.B. von der Konsole aus putty. Es läuft dann so lange, wie das putty-Fenster offen ist. Beende ich putty, stoppt das Prg. Oder muß ich die Ausgaben von vzclient irgendwie abfangen?

    Gruss, wonk

    Gruss, wonk

  • Hallo,

    das Umleiten der Ausgaben klappt. Aber "screen" scheint es in der vz-image-Installation nicht zu geben. Und nach einem Hintergrundaufruf mit folgendem "&" sind die Ausgaben immer noch da und ich kann das Prg. nicht mehr stoppen.

    Wichtiger wäre es auch herauszubekommen, ob Obiges verursachen kann, das mein prog stoppt, wenn ich das Putty-Fenster zu mache.

    Gibt es irgendwie die Möglichkeit, den Wert des letzten aufgezeichneten Wertes eines channels mit vzclient abzufragen? In der Doku erkenne ich da nichts.

    Gruss, wonk

    Gruss, wonk

  • das mein prog stoppt, wenn ich das Putty-Fenster zu mache.

    Definitiv. Wenn man die Konsole schließt wird auch die Anwendung geschlossen die darauf läuft.

    Ich meine das kann man mit & umgehen. Die Ausgeben verschwinden halt im Nirgendwo.


    Generell solltest du dich einlesen was Prozesse und Hintergrundgrundprozesse angeht. Das wurde schon Hundertfach erklärt, & und ps sind gute Einstiege in die Websuche.

    Ebenfalls interessant für dich ist dann auch STDOUT und STDERR bezüglich der Ausgaben deines Scripts.



    mfg JAU

    No Shift - No Service

  • Hallo!

    Leider hilft "&" nicht weiter. Auch wenn ich das Prog. damit im Hintergrund starte, wird es beendet, wenn ich das Terminal mit Putty schließe. Das gilt auch, wenn ich die Ausgaben des Prgs. nach /dev/null umleite. Oder ist das anders, wenn ich Tastatur und Bildschirm an den Raspi anschließe (bei mir schwierig)?

    Liegt das Problem vielleicht daran, dass dann der Aufruf des Linux-Befehls vzclient nicht mehr funktioniert?

    Gruß, wonk

    Gruss, wonk

  • Hallo,

    disown bringt die Lösung, damit läuft der Prozess ohne Terminal weiter. Linux kennt ja soooooooooooo viele Möglichkeiten. Mit dem Hintergrunddienst muss ich mich später beschäftigen.

    :danke: , Gruss wonk

    Gruss, wonk