Forum

Einloggen | Registrieren | RSS  

Raspberry und PIR(2) (Computertechnik)

verfasst von bastelix(R), 23.12.2017, 00:31 Uhr

Hallo luemar,

» vermute, dass mit meinen beiden letzte Einträgen etwas schief lief:
Möglich, ich hab nix davon mitbekommen aber ich hatte die letzten Wochen auch relativ viel zu tun (incl. Mailserver reparieren....) und war nicht sonderlich oft im Forum. Der Thread ist aber auch schon gefühlte 100 Jahre alt ;)

Meine Antwort fällt jetzt auch recht knapp aus, weil ich noch etwas eingespannt bin. Nach den Feiertagen sollte ich dann mehr Luft haben mir das genauer anzuschauen.

» » #./PIR_V1.py:12: RuntimeWarning: This channel is already in use, continuing
» » anyway. Use #GPIO.setwarnings(False) to disable warnings.
So spontan würde ich darauf tippen, dass der Port schon von einem anderen Programm verwendet wird bzw. vom System noch als für jemand anderen reserviert markiert ist. Das kann auch ein Zombie deines Scriptes sein. Ggf. hat sich dein Programm beendet bevor es in die Ausnahmebehandlung mit gpio.cleanup() gelaufen ist.

Versuch mal einen anderen GPIO-Port, ggf. erledigt sich das Problem damit.

» mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV):
» ENOSPC
» mmal: mmal_port_enable: failed to enable connected port
» (vc.null_sink:in:0(OPQV))0x75b20ad0 (ENOSPC)
Sieht für mich so aus als wären das Meldungen vom Treiber, also ein paar Abstraktionsebenen unter deinem Python-Script und vermutlich liegt die Ursache auch nicht direkt in deinem Python-Script sondern irgendwo darunter.

» und b) es werden bei jeder PIR-Aktivierung zwar E-Mails gesendet, aber
» immer mit dem selben bzw. ersten
» Bild, das bei der ersten PIR-Aktivierung auf genommen wurde.
Ups...

Also laut Doku ( http://picamera.readthedocs.io/en/release-1.10/recipes1.html ) sollte die Methode in die Datei schreiben egal ob da schon was existiert oder nicht.
Aber die deklaration der Variablen fn solltest du nicht im try-block machen sondern vorher. (In dem gist sind übrigens auch Tabs vorhanden, das hat mein pyhton-interpreter angemault ;) ) Und du könntest statt einem festen Dateinamen einen variablen Dateinamen verwenden, z.B. "fn = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S";)" ("import datetime" nicht vergessen)

Dann hängst du das Bild an die Mail an, egal ob except aufgerufen wurde oder nicht. Es könnte also sein, dass eine Exception fliegt, behandelt wird und dann die zuletzt erfolgreich geschriebene Datei versendet wird.
Das müsste man etwas fehlertoleranter umschreiben. Nach den Feiertagen müsste ich mal etwas Luft haben um da etwas zusammen zuhacken auf dem du Aufbauen kannst.

Hoffe das hilft dir schon mal etwas weiter. Wie gesagt, mehr nach den Feiertagen. Falls du bis Silvester nichts von mir hörst musst du mich nochmal dran erinnern ;)

Btw. ich hab jetzt auch einen RPI3 (lag da ganz "zufällig" in ner größeren Bauteilbestellung dabei ;) )

Gruß und Frohe Weihnachten
Bastelix



Gesamter Thread:

Raspberry und PIR(2) - luemar(R), 22.12.2017, 14:32
Raspberry und PIR(2) - bastelix(R), 23.12.2017, 00:31
Raspberry und PIR(2) - luemar(R), 23.12.2017, 16:41