Posts by whitechristmas

    Hallo meigrafd,


    woran mache ist fest, ob ich eine Stunde dazurechnen muss oder nicht? Es geht nicht nur darum, ob die Startzeit vor oder nach der Endzeit liegt, sondern ob die aktuelle Uhrzeit (Uhrzeit der Überprüfung) innerhalb des Zeitfensters liegt. Oder hab ich was übersehen? Den Wochentag könnte ich ja wie in meinem Skript überprüfen.


    Wie sieht der Ansatz von Andreas mit timestamp aus? Kann man die Start-/Endzeit und die aktuelle Uhrzeit in Sekunden umrechnen und überprüfen, ob das Zeitfenster erfüllt ist?


    Vielen Dank.


    whitechristmas

    Hallo zusammen,


    das unten aufgeführte Skript soll herausfinden, ob die aktuelle Uhrzeit/Wochentag sich innerhalb des Zeitfensters befindet oder nicht. Funktioniert im Prinzip so lange, bis das Zeitfenster über 24:00:00 Uhr hinaus geht. Dann funktioniert es nicht mehr. Hat jemand einen Lösung oder einen Ansatz für mich, wie ich das Problem beseitigen kann?




    Hier ein Beispiel wann es nicht funktioniert:
    Funktionsaufruf zeitfenster("23:00:00,01:00:00,Mo,Di,Mi,Do,Fr,Sa,So"),
    aktuelle Uhrzeit ist 23:30:00 Uhr, also im Zeitfenster enthalten, es wird aber False zurückgemeldet


    Vielen Dank und sonnige Grüße.


    whitechristmas

    Das ist wirklich eine sehr gute Anleitung für Motion. Maskieren funktioniert doch.
    Ich stelle mir die Frage, was passiert mit dem maskierten Bereich, wenn die Kamera verrutscht? Kann man dann die Kamera mit einer Hilfe wieder ausrichten oder muss dann auf die neue Einstellung ein neues Bild mit Maske angelegt werden?


    Danke für den Hinweis.

    Hallo Burnz84,


    dass könnte ich machen. Es wird Dir aber nicht viel bringen, weil ich keine Dokumentation habe und Du Dich nicht mit Python auskennst. Ein paar Anpassungen ans System müssen gemacht werden (Pfad, Überwachungseinstellungen), damit es vernünftig läuft und Fehlalarme vermieden werden.


    VG whitechristmas

    Hallo Burnz84,


    soweit mir bekannt ist, kann man keine Masken in Motion verwenden. Dies ist aber aus rechtlicher Sicht ein wichtiger Bestandteil. Den öffentlichen Raum oder den des Nachbarn darf man nach deutschem Gesetz nicht ohne Weiteres per Videokamera überwachen. Ich verwende anstelle einer USB-CAM die PiCamera. Relativ einfach kann man sich ein Programm erstellen, dass zwei Bilder auf Veränderungen miteinander vergleicht und eine Aufnahme als Datei abspeichert, falls ein Schwellwert überschritten wird. Mit einem Pythonscript ist eine Maske schnell in das Bild einprogrammiert (PIL) und damit rechtlich sauber. Dennoch muss man auf dem Privatgrund ein Schild mit Videoüberwachung hinstellen, wenn es sich um den offiziellen Zugang zum Briefkasten oder der Haustür handelt.


    Das Problem mit der Unschärfe habe ich bei meiner NOIR-Kamera nicht.


    VG whitechristmas

    Guten Morgen meigrafd,


    hab jetzt Dein Script am laufen. Funktioniert super. Habe auch einen Verwendungszweck dafür. Ist aber leider nicht das was ich haben wollte.
    Anstelle eines einzelnen Bildes aus einer Datei in einem Canvas darzustellen, wollte ich das aufgenommenen Bild direkt aus dem Speicher in Canvas darstellen und nicht den Umweg über eine Datei im GIF-Format. Ich wollte das über die Bibliothek BytesIO machen.


    Vielen Dank.


    whitechristmas

    Hallo meigrafd,


    ich habe Dein Script getestet. Bei mir erscheint immer einer Fehlermeldung:


    [font="Courier New"]Traceback (most recent call last):
    File "/home/pi/python/stream_meigrafd.py", line 12, in <module>
    from PIL import Image, ImageTk
    ImportError: cannot import name ImageTk
    [/font]
    Würde Dein Script auch unter Pyhton3 laufen?


    Da die Kamera alle paar Sekunden ein Bild machen soll, wollte ich mit dem stream vermeiden, dass die SD-Karte stark belastet wird und möglicherweise nach ein paar Monaten den Geist aufgibt. Ansonsten funktioniert mein Script wunderbar.


    Vielen dank.


    whitechristmas

    Guten Morgen meigrafd,


    ich möchte ein Bild von der Kamera nicht zuerst in eine Datei (z.B. gif) abspeichern und dann in Canvas laden, sondern den stream im Canvas darstellen. Mit einem Bild in Dateiform funktioniert es super, nur halt nicht mit dem stream. Die Zeit spielt hier keine Rolle.


    Vielen Dank.


    whitechristmas

    Guten Abend,


    ich nehme eine Bild mit der Pi Kamera auf und möchte es als stream (wenn Bild in Datei geschrieben wird, funktioniert es) in einem Canvas (TKinter) darstellen:




    Es erscheint immer eine Fehlermeldung wie folgt:


    [font="Courier New"]Exception in Tkinter callback
    Traceback (most recent call last):
    File "/usr/lib/python3.4/tkinter/__init__.py", line 1536, in __call__
    return self.func(*args)
    File "/home/pi/python/kamera/konfiguration_11_01.pyw", line 142, in takepicture
    picshow()
    File "/home/pi/python/kamera/konfiguration_11_01.pyw", line 150, in picshow
    pic=PhotoImage(file=stream, format="gif")
    File "/usr/lib/python3.4/tkinter/__init__.py", line 3419, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
    File "/usr/lib/python3.4/tkinter/__init__.py", line 3375, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
    _tkinter.TclError: couldn't open "<_io.BytesIO object at 0x7466f538>": no such file or directory[/font]


    Kann mir jemand weiterhelfen?


    Vielen Dank.


    whitechristmas

    Hallo meigrafd,


    mit dem Terminalfenster ist kein Missverständnis. Zum einen sehe ich, dass das Skript läuft und zum anderen werden dann fortlaufend Informationen angezeigt. Ich habe es mit einem Testscript versucht, geht auch nicht:


    Code
    import time
    
    
    while True:
         print("test")
         time.sleep(1)


    Viele Grüße


    whitechristmas

    Guten Morgen hyle,


    schön, dass Du wieder dabei bist und mir hilfst, meine Defizite auszugleichen. Die Fehlermeldung kann ich nicht so einfach abgreifen, weil das Fenster nur für einen Bruchteil einer Sekunde sichtbar ist und dann verschwindet (ist reine Glückssache mit dem Screenshot). Mir wäre geholfen, wenn ich wüsste, wie das Terminaltfenster dauerhaft auf dem Desktop bleiben würde. Dann könnte ich den Fehler analysieren. Das Script läuft, wenn es manuell gestartet wird, ohne Fehlermeldung tagelange am Stück.


    Das Script zum Autostart liegt im Verzeichnis /home/pi/.config/autostart und sieht so aus:


    Code
    [Desktop Entry]
    Type=Application
    Name=Kamera
    Comment=Konfiguration Kamera
    Exec=lxterminal -e /usr/bin/python3 /home/pi/python/kamera/kamera_26.py
    Terminal=true


    Vielen Dank und viele Grüße.


    whitechristmas

    Hallo zusammen,


    ich möchte ein Pythonskript automatisch beim hochfahren auf dem Desktop starten. Dazu habe ich im Verzeichnis ./.config/autostart eine Datei zum Starten mit folgendem Inhalt angelegt. Das Terminal erscheint nur ganz kurz und verschwindet dann. Die Fehlermeldung sieht dann so aus. Hat jemand eine Idee, was ich das falsch gemacht habe?


    Vielen Dank.


    whitechristmas

    Hallo hyle,


    ich habe es jetzt mit folgendem kleinem Script versucht und es geht auch nicht:


    Code
    import time
    
    
    i=0
    while True:
       print("test",i)
       i+=1
       time.sleep(2)


    sudo pkill -SIGTERM test.py


    Ob mit oder ohne sudo, -SIGTERM, -SIGKILL oder -SIGINT. Was mache ich falsch? Kannst Du das bei Dir nachvollziehen?


    Vielen Dank.


    whitechristmas