URL: https://www.overclockers.at/coding-stuff/shell-script-hilfe_238167/page_1 - zur Vollversion wechseln!
ich benötige eure hilfe für ein shell script, und zwar habe ich vor einen raspberry pi mit kamera als baustellenkamera zum hausbau zu verwenden.
er soll von Mo - Sa von 6:30 bis sagen wir mal 21 uhr alle 10 sekunden ein foto schießen und dieses in ein verzeichnis abspeichern. die datei soll dann YYYYMMDDhhmmss.jpg heißen.
soviel habe ich mal selber zusammengebracht:
Code: SHELL#!/bin/bash filename=$(date +"%d%m%Y_%H%&M%S").jpg SAVEDIR=/home/pi/images /opt/vc/bin/raspistill -o /$SAVEDIR/$filename done;
Code: SHELL#!/bin/bash SAVEDIR=/home/pi/images while [ true ] do filename=$(date +"%d%m%Y_%H%&M%S").jpg /opt/vc/bin/raspistill -o $SAVEDIR/$filename sleep 10 done
Du hast einen / zuviel vor $SAVEDIR
Wenn dir ein Foto jede Minute genuegt, wuerd ich einen cronjob anlegen.
Sonst wirst sowas wie
brauchenCode:while true; do ./deinscript.sh; sleep 10; done
danke für die hilfe
ich hab mir jetzt das hier zusammen gestöpselt:
Code: SHELL#!/bin/sh ## Einstellungen: ## Speicherort für die Bilder path="/home/pi/images" ## Höhe (max. 1944) height="1944" ## Breite des Bildes (max. 2592) width="2592" ## Qualität (0-100) quality="100" ## Exposure: off,auto,night,nightpreview,backlight,spotlight,sports,snow,beach,verylong,fixedfps,antishake,fireworks exposure="auto" ## AWB: off,auto,sun,cloud,shade,tungsten,fluorescent,incandescent,flash,horizon awb="auto" ## Anzahl der Bilder picture_amount="1000" ## Wartezeit zwischen der Aufnahme (in ms bsp.: 15000 = 15 sekunden) wait_time="10000" ## Bild drehen (0-359) rotate="0" ################################################################################################################################ number="0" while [ $number -lt $picture_amount ] do rest=`expr $picture_amount - $number` filename=$(date +"%d%m%Y_%H%M%S") raspistill -o $path"/"$filename".jpg" -h $height -w $width -q $quality -t $wait_time -ex $exposure -awb $awb -rot $rotate number=`expr $number + 1` done
Man kann unter GNU/Linux ruhig mehrere Slashes ("/") als Path Separator verwenden, die glibc (denke ich - es ist jedenfalls eine Library-Funktion die verantwortlich zeichnet, aber ich will jetzt nich im Source graben, um das zu bestaetigen oder zu widerlegen) kuemmert sich darum, dass "das Richtige rauskommt":
Code:colo@zealot:~ $ strace -e trace=chdir bash -c "cd ///usr////local///" chdir("/usr/local") = 0
alternativ könntest du auch motion verwenden => http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
Zitat von COLOSSUSMan kann unter GNU/Linux ruhig mehrere Slashes ("/") als Path Separator verwenden, die glibc (denke ich - es ist jedenfalls eine Library-Funktion die verantwortlich zeichnet, aber ich will jetzt nich im Source graben, um das zu bestaetigen oder zu widerlegen) kuemmert sich darum, dass "das Richtige rauskommt":Code:colo@zealot:~ $ strace -e trace=chdir bash -c "cd ///usr////local///" chdir("/usr/local") = 0
Zum Script:
$() statt `` verwenden; mehr/richtig Quoten (""), [[ ]] statt [ ] verwenden.

Ich hatte Mal einen Fall, wo ich etwas per Cam für ~8-9 Monate überwacht habe mit einem fast gleichen Anforderungsprofil, ich hab dann auch motion verwendet, das ist super, und kann sogar Uhrzeiten ins Bild rendern und dergleichen vieles mehr.. z.B. FTP Upload mit einem CLI ftp+ssl Client verknüpft.Zitat von spunzalternativ könntest du auch motion verwenden => http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026