Posts by typxxi

    Wenn der Code nur 1x läuft und danach nicht wieder, sondern erst nach Neustart, dann liegt das meist sicher daran, dass dieser Befehl fehlte:


    camera.close()


    So wird versucht, eine neue Kamerainstanz aufzubauen, bevor die alte geschlossen wurde.
    Und das geht eben nicht.


    Ich hatte das gleiche Problem und auch keine Lösung gefunden, weil das in all den anderen Beiträgen nicht notiert worden war.


    Gruß


    Wokf

    Hey zusammen,


    leider war dieser Beitrag eine eher "unvollständige Baustelle" geblieben, da ich versuchte, dem Code etwas abzugewinnen bzw. zum Laufen zu bringen. Da ich damit nicht klar kam und mir ganz andere Fehler als die erwähnten angezeigt wurden, habe ich hier eine Lösung für all die, die auch so mal ins Blaue starteten und dann hier oder da scheiterten.


    Vorab: Wer sich mit dem Thema befasst, der wird feststellen dürfen, dass die von der CAM aufgezeichneten Dateien im H264 Format vom OMX Player unter Raspbian vielfach zu schnell abgespielt werden.


    Daneben hatte ich noch gelesen, dass VLC H264 Dateien nicht abspielen könne, weshalb ich eine MP4 Konvertier Routine mit einbaute - die war aber an sich hinfällig, denn VLC kann MP4 abspielen, zumindest die dieser Kamera. :thumbs1:


    Die H264 Dateien werden aber nur vom OMX Player oder nur unter Raspbian zu schnell abgespielt, denn am Win PC laufen die unter VLC einwandfrei. Jedenfalls hatte ich all diese Hinweise nirgendwo gefunden und meine ersten 11 Sekunden Videos liefen immer in 3 Sekunden max. durch, so dass ich dachte, dass der Pi Zero den Video Stream nicht aufnehmen könnte, weshalb, er nur jedes x. Bild aufnahm. So schien es, denn nach Wechsel auf Pi 3 bestand das Problem weiterhin, so dass es nicht an den Fähigkeiten des Zero liegen konnte - zumal ja der Zero extra noch im Mai den Camera Kabel Anschluß bekommen hatte. Mich hat jedenfalls das alles unnötig Zeit gekostet, dahinter zu kommen, zumal das Resultat lange Zeit grausam und unbrauchbar bis unzuverlässig wirkte.



    Hier habe ich eine funktionierende Lösung, die ich erweitert habe um die Einblendung von Kamera Name, Datum und Uhrzeit für all die, die vielleicht auch mehr als eine Hausfront haben. Alle besagten Cams sind gleich ausgestattet


    Pi Zero mit No IR Cam, WiFi Modul mit externer Antenne und PIR an Port 23 - alles (noch) im Tupperwarenpott
    Infrarot Scheinwerfer, der über Relais zugeschaltet wird (hier im Code nicht enthalten)


    Der AVM 7490 Router wurde mit leistungsfähigen, externen Antennen ausgestattet, die die Abdeckung / Fläche vervielfachten und was an sich bezahlbar war mit Adapter, Verlängerungskabel, Antennenfuss und Antenne je für beide Bänder. Das ist lohnenswerter als der Einsatz von (funkvernetzten) Repeatern


    [code=php]import RPi.GPIO as GPIO
    from gpiozero import MotionSensor
    from picamera import PiCamera
    from datetime import datetime
    import time


    pir = MotionSensor(23)
    camera = PiCamera()
    CAM = "FRONT 1"
    SECONDS = 8


    try:
    print ("PIR Module Test (CTRL+4 to exit)")
    time.sleep(2)
    print("Ready")
     
    while True:
    pir.wait_for_motion()
    print ("Motion Detected!")
    filename = datetime.now().strftime("%Y-%m-%d_%H.%M.%S.h264")
    camera.rotation = 180
    camera.start_preview(alpha=200)
    camera.start_recording(filename)


    start = datetime.now()
    while (datetime.now() - start).seconds < SECONDS:
    camera.annotate_text = "CAMERA " + CAM + ": " + datetime.now().strftime('%d.%m.%Y - %H:%M:%S')
    camera.wait_recording(0.2)
    pir.wait_for_no_motion()
    camera.stop_recording()
    camera.stop_preview()
    print ("Motion Stopped!")
     
    except KeyboardInterrupt:
    print (" Quit")
    GPIO.cleanup(23)
    camera.close[/php]


    Das Ganze hängt via WLAN am NAS und schiebt die Dateien nach dem Aufzeichnen auf das NAS Laufwerk.


    Da manche meinten, VLC könnte keine Dateien im H264 Format abspielen, hatte ich auch noch eine Konvertierroutine eingeschoben, die aus H264 die Standard MP4 machte, die auch ein Smartphone / Tablet abspielen kann.


    Jetzt zeigte sich aber, dass VLC unter Windows auch H264 kann, zumindest habe ich Drag and Drop gemacht und alles lief problemlos in der richtigen Geschwindigkeit - im Gegensatz zu Raspberry.


    Viel Spaß damit


    Wolf
    P.S.: Grundgerüst des Code kam vom RaspberryPi Forum UK


    camera.close() währe das Zauberwort


    gelesen schon und es tat auch anfangs,
    aber irgendwann habe ich die Zeile wodurch auch immer sonstwohin gejagt, :wallbash:
    denn in der Ausgangsversion war sie erhalten.


    Zwischenzeitlich habe ich eine schicke Lösung gefunden, diese kompakte hier:


    [code=php]import RPi.GPIO as GPIO
    from gpiozero import MotionSensor
    from picamera import PiCamera
    from datetime import datetime
    import time


    pir = MotionSensor(23)
    camera = PiCamera()
    CAM = "FRONT 1"
    SECONDS = 8


    try:
    print ("PIR Module Test (CTRL+4 to exit)")
    time.sleep(2)
    print("Ready")
       
    while True:
    pir.wait_for_motion()
    print ("Motion Detected!")
    filename = datetime.now().strftime("%Y-%m-%d_%H.%M.%S.h264")
    camera.rotation = 180
    camera.start_preview(alpha=200)
    camera.start_recording(filename)


    start = datetime.now()
    while (datetime.now() - start).seconds < SECONDS:
    camera.annotate_text = "CAMERA " + CAM + ": " + datetime.now().strftime('%d.%m.%Y - %H:%M:%S')
    camera.wait_recording(0.2)
    pir.wait_for_no_motion()
    camera.stop_recording()
    camera.stop_preview()
    print ("Motion Stopped!")
       
    except KeyboardInterrupt:
    print (" Quit")
    GPIO.cleanup(23)
    camera.close[/php]


    Die zeigt nun auch Ort und Datum/Zeit der Aufnahme an.
    Hab vielen Dank für Deine Hilfe. :thumbs1:
    Ja, ist nur 1 Daumen, denn es kann hier nur "1 gefällt mir" geben und keine 2 .. :cool:


    Gruß
    Wolf

    Hallo,


    ich will von einem Script (PIR Beewegungserkennung) ein anderes Script aufrufen.


    Ich habe dies versucht
    [code=php]subprocess.Popen(["usr/bin/python/python", "/pi/home/2.py"])[/php]


    Ergebnis war "NameError: global name 'subprocess' is not defined"


    Was muss ich beachten, damit ein Script ein anderes Script aufrufen kann?


    Geht nur um 2 "Sub Skripte".


    Vielen DAnk
    WOlf

    Hallo zusammen,


    ich möchte mit dem Zero bei erkannter Bewegung einen 10 Sekunden Film aufzeichnen - bevorzugt MP4.



    Bewegungserkennung klappt,
    Aufzeichnung als H264 Datei auch,


    aber nur bei der 1. Bewegungserkennnung, denn bei der 2. folgt eine Fehlermeldung bzgl. einer unzureichenden Ressouce, aber anderer als RAM.


    Ich bin Python Laie und schon froh, so weit gekommen zu sein, dass alles zusammengelötet ist und die Bewegung erkannt wurde und ein Foto / Video hinbekam.


    Ich hatte einen simplen Code, der lief, aber irgendwann muss sich der Fehler eingeschlichen haben, ich dachte bei Umstellung von Sleep auf Waiting, aber das war es wohl nicht.


    Noch eine Frage am Rande:


    Wenn man die Preview einschaltet, dann kam die im Vollbild Modus, aber ich habe keine Ahnung, wie ich aus dem Vollbild wieder rauskommen kann, denn auf die Tastatur reagierte das System nicht mehr, also blieb mir nur Stecker raus ziehen und Code ändern.



    :thumbs1: Vielen Dank


    Wolf



    [/size]

    meigrafd
    Toll, wieder einer mehr ...
    Der Entwickler macht das in seiner Freizeit und seine Lösungen sind zuverlässig und er kommuniziert klar...


    Ich finde, die Lösung hat was, natürlich ist die techn. Lösung mit Hub und Dongle kosten- und ergebnisseitig neutral, aber sie ist nicht für 1.3 verfügbar und das Thema Gpio ist auch nicht zu unterschätzen.


    Danke fürs Interesse.

    Hallo,


    bei Kickstarter hat ein bereits erfolgreicher (4) Projektentwickler seine letzte Lösung erweitert.


    Im Frühjahr hatte er bei Kickstarter für den Pi Zero einen Aufsatz mit 4 USB Schnittstellen mit 3000$ erfolgreich gefundet und im April die Lieferung des Versprochenen abgeschlossen.


    Seine jetzige Kampagne braucht noch 1034$ oder 94 Unterstützer, um das Ziel 4000$ zu knacken.


    Für 11$ gibt es nun einen 3er USB Hub, denn den 4. USB Port hat er zugunsten eines WiFi Chipsatzes geopfert.


    Für mich eine perfekte Lösung, denn alles ist offen, Bluetooth für 2€ per Dongle erweiterbar oder der StromZähler Impulsableser mit dem Zero einsetzbar (beim Volksstromzähler Projekt brauchen der Ferrazi Ableser und das Netzwerk einen Usb Port) und Keyboard etc.


    Er hat gute Kritiken, seine Kommunikation ist proaktiv und er hat in 5 Tagen die Lösung für die Zero V1.3 Version erarbeitet, für die es eine eigene, 2. Variante geben wird, ohne dass er seinen Zeitplan über den Haufen werfen musste.


    Es fehlen noch 94 Unterstützer für ein 11$ WiFi und USB.
    Versand Deutschland 8$, wobei das dann unter 22€ zollfrei sein dürfte.


    3 Tage hat er noch!


    Wem es gefällt, der mag ihn unterstützen, um das letzte Viertel der 4.000$ zu schaffen. :thumbs1:


    https://www.kickstarter.com/pr…-hub-with-wifi-no-cable-c


    Gruß und schön sonnigen Sonntag noch.


    Wolf