Zeitgesteuertes Ausführen Script Kamera

  • EDIT: Habe es hinbekommen. Unten steht die Lösung :)


    Hallo liebes RPI Forum,


    das ist mein erster Beitrag in diesem Forum und ich freue mich auf eure Antworten und Anregungen.


    Ich hab folgende Idee und benötige dafür eure Hilfe. Aus Spaß an der Fotografie habe ich mir ein RPI mit dem Kameramodul gekauft, das ganze wird mit einem Anker 13000 Akku betrieben und in eine alte Illy Kaffedose gepackt. Für die Kameralinse habe ich eine Ausparung in Form von einem Loch in der Dose befestigt.


    Da es etwas umständlich ist immer den Lappi und ein Router mit ins freie zu nehmen würde ich gerne per Script sagen um welche Uhrzeit er anfangen soll Fotos zu knipsen. Im Klartext, ich bräuchte eine Lösung ein Befehl zu einer bestimmten Uhrzeit auszuführen.


    Schön wärs wenn ich den RPI die Nacht über laufen lasse und er genau um 7:00 Uhr Morgens eine Fotoserie startet.


    Es wäre mir auch geholfen, indem ich z.B ein Script hätte der sich automatisch beim Starten des RPI ausführt. Ich habe gelesen, dass es mit einem sogenannten Cronejob funktionieren kann. Da mein Latein begrenzt ist beschränkt sich meine Internetrecherche ein wenig.


    Es sollte z.B folgender Befehl auf Kommando ausgeführt werden.

    Code
    raspistill -o img_%04d.jpg -tl 5000 -t 3600000


    Habt ihr Ideen wie sowas aussehen könnte?


    LG Dario:danke_ATDE:

    Edited once, last by darioffm ().

  • Kamera-Script: Einfach mal lesen... #9


    Code
    man crontab


    bringt Hilfe zur Crontab.


    0 * * * * befehl (zu jeder vollen Stunde)
    */20 * * * * befehl (alle 20 Minuten)
    13 */2 * * * befehl (alle 2 Stunden um 13 Minuten nach voll)

  • Hi eBiBy danke für deine rasche Antwort. Ich hab mir mal den Topic durchgelesen und es ergibt langsam sinn. Mit dem Cronejob definiere ich also das Intervall für die Befehlsausführung, in einem bestimmten Verzeichnis lagerndes Script.


    Ich habe aus deinem Post entnommen, dass dein Beerchen bspw. um 5.30Uhr Morgens startet und dann für die nächsten 3 Stunden alle 10 Sek. ein Bild knipst. Wie sieht dazu dein Cronejob und das Script aus? In dem Post ergibt sich für mich nur häpchenweise eine "HowTo".


    LG Dario

    Edited once, last by darioffm ().

  • Gesundheit :D


    Also ich habe es wie folgt gemacht:


    in crontab -e habe ich das stehen:




    und im Verzeichnis /zeitraffer/script.sh mit Notepad ++ eine .sh datei mit folgenden Inhalt erstellt:


    Code
    raspistill -o img_%04d.jpg -tl 5000 -t 36000000


    Nach einem Reboot ist leider nichts passiert. Ich hatte es auch mal mit deinem Script von dem anderen Topic probiert leider erfolgslos.


    Wieso hat man eigentlich im crontab die fett makierten Zahlen drin? Die Zeiten werden doch über das Script definiert oder?


    */20 * * * * /zeitraffer/script.sh 1 100


    LG


  • Wieso hat man eigentlich im crontab die fett makierten Zahlen drin? Die Zeiten werden doch über das Script definiert oder?



    Code
    */20 * * * * /zeitraffer/script.sh 1 100


    1: Dauer in Stunden
    100: alle 100 Sekunden Ein Bild


    Eonmalig aüsführen beim Reboot:

    Code
    @reboot /zeitraffer/script.sh 4 20 #Alle 20 Sekunden ein Bild und das 4 Stunden lang


    bzw. einmalig um 16:20 Starten:

    Code
    20 16 * * * /zeitraffer/script.sh 1 100


    NUR die 20 vorne und crontab würde das script jede Stunde nochmals starten.
    Dein obiger crontag startet alle 20 Minuten das Script.

  • So habe es hinbekommen:bravo2:. Im Endeffekt sehr einfach, man muss nur die einzelnen Schritte nachvollziehen können.


    Als erstes habe ich mir ein sehr einfaches Script gebaut um Zeitrafferaufnahmen zu machen:


    Das habe ich mit Notepad ++ erstellt und in das Zielverzeichnis gelegt, also in dem Fall /zeitraffer. Das habe ich als .sh abgespeichert.


    Das Script muss dabei wie folgt aussehen:


    Bash
    #!/bin/bash
    
    
    # Speicherort
    SAVEDIR=/zeitraffer
    
    
    # Bilder machen
    raspistill -o $SAVEDIR/img_%04d.jpg -tl 5000 -t 60000


    Im Prinzip macht er alle 5 Sekunden ein Foto und das 1 Minute lang. Mit SAVEDIR definiere ich das Verzeichnis in den er die Bilder ablegen soll. In dem Fall /zeitraffer


    Den rapistill Befehl kann ich natürlich anpassen wie ich möchte. Dazu gibt es jedemenge Befehle.
    In meinem Fall aber reicht das, immerhin will ich einfach nur Fotos haben :)



    Als nächstes habe ich ein Cronetab erstellt mit dem befehl crone -e

    Code
    pi@raspberrypi ~ $ crontab -e


    Dabei öffnet sich dieses Fenster: (Man beachte nur die Letzte Zeile)



    In der letzten Zeile definiere ich den Cronejob. In diesem Fall sollte er das Script um genau 21:18 starten. Wenn man den Syntax von dem Cronejob kennt kann man das beliebig einstellen.


    Das Script wurde erfolgreich gestartet an der von mir definierten Zeit. Wenn ich mir jetzt das Verzeichnis anschaue kann man sehen, dass er tatsächlich Bilder gemacht hat.


    Code
    pi@raspberrypi /zeitraffer $ ls
    img_0001.jpg  img_0002.jpg  img_0003.jpg  script.sh


    LG Dario


    und danke für deine Unterstützung eBiBy. Es ist ein sehr einfaches Script aber es erfüllt auf sehr einfache Weise sein Zweck :)

    Edited once, last by darioffm ().