Skip to content

Commit 32186d1

Browse files
committed
Update dest folder and add old shell script so it is not last
1 parent 8f288c4 commit 32186d1

File tree

2 files changed

+54
-1
lines changed

2 files changed

+54
-1
lines changed

Wearable_Time_Lapse_Camera/timelapse.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
WIDTH = 1280 # Image width in pixels
2424
HEIGHT = 720 # Image height in pixels
2525
QUALITY = 51 # JPEG image quality (0-100)
26-
DEST = "/home/pi/timelapse" # Destination directory (MUST NOT CONTAIN NUMBERS)
26+
DEST = "/boot/timelapse" # Destination directory (MUST NOT CONTAIN NUMBERS)
2727
PREFIX = "img" # Image prefix (MUST NOT CONTAIN NUMBERS)
2828
HALT_PIN = board.D21 # Halt button GPIO pin (other end to GND)
2929
LED_PIN = board.D5 # Status LED pin (v2 Pi cam lacks built-in LED)
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#!/bin/sh
2+
3+
# Timelapse script, because timelapse options in raspistill don't power
4+
# down the camera between captures. Script also provides a camera busy LED
5+
# (v2 cameras don't include one) and a system halt button.
6+
# 'gpio' command requires WiringPi: sudo apt-get install wiringpi
7+
# Limitations: if DEST is FAT32 filesystem, max of 65535 files in directory;
8+
# if DEST is ext4 filesystem, may have performance issues above 10K files.
9+
# For intervals <2 sec, better just to use raspistill's timelapse feature.
10+
11+
# Configurable stuff...
12+
INTERVAL=15 # Time between captures, in seconds
13+
WIDTH=1280 # Image width in pixels
14+
HEIGHT=720 # Image height in pixels
15+
QUALITY=51 # JPEG image quality (0-100)
16+
DEST=/boot/timelapse # Destination directory (MUST NOT CONTAIN NUMBERS)
17+
PREFIX=img # Image prefix (MUST NOT CONTAIN NUMBERS)
18+
HALT=21 # Halt button GPIO pin (other end to GND)
19+
LED=5 # Status LED pin (v2 Pi cam lacks built-in LED)
20+
prevtime=0 # Time of last capture (0 = do 1st image immediately)
21+
22+
gpio -g mode $HALT up # Initialize GPIO states
23+
gpio -g mode $LED out
24+
mkdir -p $DEST # Create destination directory (if not present)
25+
26+
# Find index of last image (if any) in directory, start at this + 1
27+
FRAME=$(($(find $DEST -name "*.jpg" -printf %f\\n | sed 's/^[^1-9]*//g' | sort -rn | head -1 | sed 's/[^0-9]//g') + 1))
28+
29+
while : # Forever
30+
do
31+
while : # Until next image capture time
32+
do
33+
currenttime=$(date +%s)
34+
if [ $(($currenttime-$prevtime)) -ge $INTERVAL ]; then
35+
break # Time for next image cap
36+
fi
37+
# Check for halt button -- hold >= 2 sec
38+
while [ $(gpio -g read $HALT) -eq 0 ]; do
39+
if [ $(($(date +%s)-currenttime)) -ge 2 ]; then
40+
gpio -g write $LED 1
41+
shutdown -h now
42+
fi
43+
done
44+
done
45+
46+
OUTFILE=`printf "$DEST/$PREFIX%05d.jpg" $FRAME`
47+
# echo $OUTFILE
48+
gpio -g write $LED 1
49+
raspistill -n -w $WIDTH -h $HEIGHT -q $QUALITY -th none -t 250 -o $OUTFILE
50+
gpio -g write $LED 0
51+
FRAME=$(($FRAME + 1)) # Increment image counter
52+
prevtime=$currenttime # Save image cap time
53+
done

0 commit comments

Comments
 (0)