shell script hilfe
Kamsi 06.03.2014 - 18:02 2342 7
Kamsi
Big d00d
|
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: #!/bin/bash
filename=$(date +"%d%m%Y_%H%&M%S").jpg
SAVEDIR=/home/pi/images
/opt/vc/bin/raspistill -o /$SAVEDIR/$filename
done;
|
davebastard
Vinyl-Sammler
|
#!/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
geht sicher schöner aber es sollte funktionieren edit: ja ein slash zuviel war EDIT2:fehler ausgebessert
Bearbeitet von davebastard am 06.03.2014, 18:19
|
issue
Rock and Stone, brother!
|
Du hast einen / zuviel vor $SAVEDIR Wenn dir ein Foto jede Minute genuegt, wuerd ich einen cronjob anlegen. Sonst wirst sowas wie while true; do ./deinscript.sh; sleep 10; done
brauchen edit: watch -n 10 deinscript.sh koennt auch klappen
Bearbeitet von issue am 06.03.2014, 18:22
|
Kamsi
Big d00d
|
danke für die hilfe ich hab mir jetzt das hier zusammen gestöpselt: #!/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
mit dem script kann man die optionen von raspistill einbinden.
|
COLOSSUS
AdministratorGNUltra
|
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": colo@zealot:~ $ strace -e trace=chdir bash -c "cd ///usr////local///"
chdir("/usr/local") = 0
Zum Script: $() statt `` verwenden; mehr/richtig Quoten (""), [[ ]] statt [ ] verwenden.
|
spunz
ElderElder
|
|
issue
Rock and Stone, brother!
|
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":
colo@zealot:~ $ strace -e trace=chdir bash -c "cd ///usr////local///"
chdir("/usr/local") = 0
Zum Script:
$() statt `` verwenden; mehr/richtig Quoten (""), [[ ]] statt [ ] verwenden. ad Slashes: thx, was gelernt
|
GrandAdmiralThrawn
XP Nazi
|
alternativ könntest du auch motion verwenden => http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome 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. Edit: Hier ein Samplepic, das ich online belassen habe nach Ende der Aktion, da sieht man, wie man bei motion z.B. Text/Daten reinrendern lassen kann:
Bearbeitet von GrandAdmiralThrawn am 07.03.2014, 16:00 (Bild nachgereicht)
|