RPi Überwachungssystem - Motion und 2 Kameras zeitgesteuert

  • Hallo zusammen,


    ich betreibe derweil ein RaspberryPi mit 2 Kameras in meiner Gartenhütte als Überwachungssystem, die über eine Solarbatterie gespeist werden.


    Beide Kameras sind parallel in Bertrieb und genau hier möchte ich eine Änderung ansetzen.

    Eine Kamera soll den Tag und die andere die Nacht abwechselnd überwachen.


    Eingesetzte Hardware:

    1x RaspberryPi 3 B+

    1x Webcam (USB) Typ: HD Webcam C525 - Logitech

    1x IR-Cam (Onboard) Typ: OV5647 Night Vision Camera Module 1080p


    Eingesetzte Software:

    - Motion


    Am Ende der "motion.conf" habe ich meine zwei Konfigurationsdateien beider Kameras freigegeben und erstellt. Kameraspezifische Parameter sind in der "motion.conf" auskommentiert und werden in der jeweiligen Konfigurationsdatei verarbeitet.


    Soweit sogut...


    Nun möchte ich gerne, dass meine USB-Cam die überwachung zwischen 06.00-20.00Uhr übernimmt und zwischen 20.00-06.00Uhr die Onboard-Cam.

    Hintergrund hierfür ist, die Onboard-Cam ist eine Nachtsichtkamera mit einem kleinen IR-Strahler, wo hingegen die uSB-Cam Nachts nur ein schwarzes Bild liefert und somit nur für den Tageinsatz in Frage kommt.

    Ich mache mir seit ein paar Tagen Gedanken darüber, wie ich die zwei Konfigurationsdatein welche in der "motion.conf" aufgerufen werden separat zeitgesteuert aufrufen kann, hatte aber leider noch keine einleuchtende Idee.


    Gibt es hierfür eine umsetzbare Möglichkeit?


    Ich bin für jegliche Ratschläge sehr dankbar.

    Gruß,

    Blattlaus

  • Du kannst mit der Option -c eine andere Konfigurationsdatei laden:

    https://linux.die.net/man/1/motion

    Das zeitgesteuerte starten und stoppen von motion lässt sich ja mit einem cron erledigen.

    Hallo Fred,

    danke für deinen Ratschlag. :-)


    Mir stellt sich die Frage, wie ich dies umsetzten kann, da das ja eine .conf Datei ist.


    Mit einem Python-Script kann ich z.B. Motion derweil starten:

    Code
    1. 0 6 * * * /usr/bin/python /home/pi/Motion-Start.py


    Müsste das dann so aussehen:

    Code
    1. 0 6 * * * /usr/bin/python /home/pi/Motion-Start.py -c /home/pi/Tag.conf


    Mir ist nicht ganz klar, wie genau die Konfigurationsdateien aufgerufen werden.


    Das stoppen mache ich im Moment so:

    Code
    1. 0 19 * * * /usr/bin/python /home/pi/Motion-Stop.py
  • Einfach probieren und darauf achten, dass jeweils nur eine Instanz geöffnet ist.

    Falls unter cron die -c Option nicht genommen wird, kannst du den Befehl zum starten und stoppen ja mit .sh schreiben.

    Was in deiner .py steht, weiss ich allerdings nicht.

  • Einfach probieren und darauf achten, dass jeweils nur eine Instanz geöffnet ist.

    Falls unter cron die -c Option nicht genommen wird, kannst du den Befehl zum starten und stoppen ja mit .sh schreiben.

    Was in deiner .py steht, weiss ich allerdings nicht.

    Hallo Fred,


    vielen Dank für die Tipps, allerdings scheint etwas noch nicht genau so zu funktionieren wie ich es gerne hätte.


    Nach einem Systemstart führe ich mit "sudo crontab -e" dieses Script aus, das mir nach einem Zeitvergleich Cam1 oder Cam 2 starten soll:

    Code
    1. @reboot sleep 60 && bash /home/pi/Desktop/Pi-Share/Sicherungen/Skripte/Motion-Start-Stop-Reboot.sh


    Über "sudo crontab -e" wird nun alle 5 Minuten ein weiteres Script ausgeführt, welches den Bereich der Uhrzeit sowie die laufende .conf-Datei prüft, somit wird das Script nur dann ausgeführt, wenn z.B. die Cam1-Tag.conf läuft, laut des Zeitbereichs aber die Cam2-Nacht.conf aktiv sein sollte:

    Code
    1. */5 * * * * bash /home/pi/Desktop/Pi-Share/Sicherungen/Skripte/Motion-Start-Stop.sh



    Ich habe nun allerdings das Problem, dass:


    1. nach einem Neustart die Cam2-Nacht.conf aktiv ist anstatt die Cam1-Tag.conf

    2. beim zweiten Script, das alle 5 Minuten aufgerufen wird der Befehl "sudo pkill Motion" nicht funktioniert, oder auch ein Fehler darin ist, welchen ich nicht finde =O



    Ein :danke_ATDE: schon mal für Eure Unterstützung.

  • Probier mal sudo pkill -f motion.

    Wobei sudo unnötig ist, wenn crontab -e eh als sudo läuft.

    EDIT: Ich würde dir auch absolute Pfade empfehlen, wie z.B.:

    Code
    1. @reboot /bin/sleep 60 && /bin/bash /home/pi/Desktop/Pi-Share/Sicherungen/Skripte/Motion-Start-Stop-Reboot.sh
    Code
    1. */5 * * * * /bin/bash /home/pi/Desktop/Pi-Share/Sicherungen/Skripte/Motion-Start-Stop.sh
  • Probier mal sudo pkill -f motion.

    Wobei sudo unnötig ist, wenn crontab -e eh als sudo läuft.

    EDIT: Ich würde dir auch absolute Pfade empfehlen, wie z.B.:

    Code
    1. @reboot /bin/sleep 60 && /bin/bash /home/pi/Desktop/Pi-Share/Sicherungen/Skripte/Motion-Start-Stop-Reboot.sh
    Code
    1. */5 * * * * /bin/bash /home/pi/Desktop/Pi-Share/Sicherungen/Skripte/Motion-Start-Stop.sh

    Hallo Fred,


    danke, habe die Änderungen übernommen und nach einem Neustart wurde wie gewünscht die "Cam1-Tag" aktiviert. :-)

    Was heute Abend geschieht, da lasse ich mich überraschen.


    Ich melde mich nochmal.


    Einen schönen Donnerstag. ;-)

  • Ich muss mich nochmal zu Wort melden...die Umschaltung morgens um 6Uhr scheint noch nicht zu funktionieren, auch nicht wenn ich das Script manuell starte. Hingegen das Script für den Reboot funktioniert.


    Ich habe nun folgendes getan.


    sudo crontab -e:

    Code
    1. 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash /home/pi/Desktop/Pi-Share/Sicherungen/Skripte/Motion-Start-Stop.sh > /home/pi/Desktop/Motion-Start-Stop.log 2>&1


    ...und bekomme nach einem Neustart folgender Log zurück:

    Code
    1. /home/pi/Desktop/Pi-Share/Sicherungen/Skripte/Motion-Start-Stop.sh: Zeile 4: [: Fehlende `]'
    2. grep: ]: Datei oder Verzeichnis nicht gefunden
    3. ...do nothing...
    4. ...do nothing...



    Meine derzeitige Motion-Start-Stop.sh:


    Wo liegt der Fehler? :helpnew:

  • So, habe es nun so gelöst, falls es jemanden interessiert: