Bewegungsmelder HC-SR501 mit MotionEye

  • Hallo zusammen


    Ich habe leider null Erfahrung in Python-Programmierung und bin ein Neuling in der Raspberry Pi Welt.


    Ich habe eine Raspberry Pi Kamera V.2.1 direkt am Pi angeschlossen und einen PIR HC-SR501 Sensor.


    Die Kamera habe ich über die Software MotionEye OS installiert und alles funktioniert soweit richtig.


    Den Bewegungsmelder habe ich nach einem Skript welches ich im Netz gefunden habe installiert und wenn ich ihn über den Befehl "sudo python bewegungsmelder.py" starte, werden Bewegungen erkannt.


    Wie kann ich nun den Bewegungsmelder programmieren damit auch Bilder und Videos aufgezeichnet werden?



    Danke für eure tatkräftige Unterstützung.

  • Hallo Mathias27,


    wenn Du uns mal zeigen würdest, was Du bisher geschrieben kopiert hast, dann hätte man auch einen Ansatzpunkt.


    Wenn Du Dir aus https://gpiozero.readthedocs.i…ecipes.html#motion-sensor und https://gpiozero.readthedocs.i…#button-controlled-camera das Wesentliche zusammenstrickst, dann hast Du was Du wolltest. ;)


    Btw. Aber kann das MotionEyeOS nicht schon ootb?

  • Hallo,


    Quote

    Wie kann ich nun den Bewegungsmelder programmieren damit auch Bilder und Videos aufgezeichnet werden?

    In dem du abfragst, ob eine Bewegung erkannt wurde und wenn ja die nötige Aktion an der Kamera auslöst. Dazu wäre es wahrscheinlich hilfreich, erst mal ein bisschen Python zu lernen. Geht z.B. ganz hervorragend mit dem offiziellen Python Tutorial auf docs.python.org


    Um mehr zu sagen, müsstest du mal ein bisschen konkreter werden, wie z.B. wie sieht dein Skript aus? Was hast du schon selber probiert? Was funktioniert nicht?


    Dein Skript läuft offensichtlich unter Python 2 -> nicht so der Hit, weil Python 2 Ende des Jahres EOL ist. Nimm' besser direkt Python 3.

    Und warum braucht das Skript Root-Rechte? Sollte eher nicht notwendig sein...


    Gruß, noisefloor

  • ich habe folgendes geschrieben/kopiert:


    https://www.einplatinencompute…ewegungsmelder-ansteuern/


    import RPi.GPIO as GPIO

    import time

    import datetime

    import os


    print "BEWEGUNGSMELDER"

    print ""


    #Board Mode: Angabe der Pin-Nummer

    GPIO.setmode(GPIO.BOARD)


    #GPIO Pin definieren fuer den Dateneingang vom Sensor

    PIR_GPIO = 8

    GPIO.setup(PIR_GPIO, GPIO.IN)


    def MOTION(PIR_GPIO):

    os.system("echo \"Bewegung erkannt\"")


    print "%s - Warten auf Bewegung" % datetime.datetime.now()

    try:

    GPIO.add_event_detect(PIR_GPIO, GPIO.RISING, callback=MOTION)

    while 1:

    time.sleep(60)

    except KeyboardInterrupt:

    GPIO.cleanup()


    Das MotionEyeOS hat die Funktion motion detection. Jedoch funktioniert dies nur direkt mit dem Bewegungserkennungssensor der Kamera. Ich möchte aber den HC-SR501 dazu verwenden.


    Oder habe ich da was falsch verstanden? Ist es möglich direkt über MotionEyeOS den HC-SR501 zu aktivieren?

  • Hallo,


    1. ist das Skript von 2015, das ist nicht mehr der Stand, wie man das heute machen würde. hyle hat ja schon gpiozero als besseres / aktuelleres Modul in den Raum geworfen.


    2. Und so eine Zeile wie `os.system("echo \"Bewegung erkannt\"")` im Skript ist auch echt gruselig und zeigt, dass der Autor der jetzt nicht wirklich weiß, was er tut. Wie kommt man auf so eine Idee? Zumal im Skript auch noch (richtigerweise) `print` verwendet wird...


    Gruß, noisefloor

  • Wie gesagt, ich bin ein Neuling, habe dieses Skript im Internet gefunden und so mal getestet ob mein HC-SR501 funktioniert. Dies tut er auch nach diesem Skript.


    Wenn ich wüsste wie es richtig gemacht wird, hätte ich keinen Forumbeitrag erstellt. Deshalb nützt es nichts jetzt über dieses Skript zu diskutieren...


    Gebt mir lieber Info's wie ich zu meinem Ziel komme, als zu sagen was ich alles falsch und schlecht mache...

  • Gebt mir lieber Info's wie ich zu meinem Ziel komme, als zu sagen was ich alles falsch und schlecht mache...

    Das ist der Sinn und Zweck eines Forums: den Fragesteller in die richtige Richtung zu schubsen und ihn seine Lösung möglichst selbst erarbeiten lassen.

    Wenn Du was zum Programmieren in Auftrag geben willst, dann bist Du hier falsch :fies:


    cu,

    -ds-

  • Ich will doch nichts zum Programmieren in Auftrag geben.


    Ich hab meine Kamera über MotionEyeOS konfiguriert. Diese funktioniert einwandfrei.

    Nun habe ich einen Bewegungsmelder angeschlossen und möchte das dieser bei Bewegungserkennung die Kamera "anstupst" damit diese ein Bild sowie ein Video aufnimmt.


    Und da ich noch keine grosse Erfahrung im programmieren habe, wollte ich mal in einem professionellem Forum (dachte zumindest es sei professionell) nachfragen, wie das funktioniert....


    Habe selbst heute schon mehrere Stunden im Netz verbracht um eine geeignete Methode zu finden. Leider bis jetzt noch nicht fündig geworden...


    Ich habe das Gefühl ich sei bereits kurz vor dem Ziel. Da die Kamera wie auch der Bewegungsmelder eigentlich funktionieren. Nur das Zusammenspiel kriege ich noch nicht hin...

  • Hallo,


    Quote

    Nur das Zusammenspiel kriege ich noch nicht hin...

    Was hast du denn schon probiert? Ich hatte das so verstanden, dass du bist jetzt "nur" das Skript kopiert hast.

    Und nochmal: wenn du kein Python kannst, dann kannst du auch kein Python-Skript anpassen.

    Programmieren ist nun mal nicht Copy&Paste, da gehört mehr dazu. Und wenn du ein Python-Skript nutzen möchtest, solltest du nun mal ein Grundverständnis von Python haben bzw. willig sein, es dir anzueignen.


    Quote

    Gebt mir lieber Info's wie ich zu meinem Ziel komme,

    Haben wir doch. Dazu gehört halt auch, dass von dir genannten Skript _nicht_ zu nehmen.


    Quote

    wollte ich mal in einem professionellem Forum (dachte zumindest es sei professionell) nachfragen, wie das funktioniert....

    Was auch immer "professionell" nach deiner Ansicht ist... Nein, niemand macht das hier beruflich (also im Forum supporten), dass ist Freizeitbeschäftigen. Was aber mal grundsätzlich nicht mit der Qualität der Antworten zu tun hat.


    Gruß, noisefloor

  • Das MotionEyeOS hat die Funktion motion detection. Jedoch funktioniert dies nur direkt mit dem Bewegungserkennungssensor der Kamera. Ich möchte aber den HC-SR501 dazu verwenden.

    Das geht nicht, motion(EyeOS) generiert die Bewegungserkennung IMMER aus dem laufenden Video. Das musst Du dann anders angehen.


    Grüße, STF