The following is a collect bits and bobs I have pulled together for my wifes simple time-lapse camera request.
One of the issues is that it needs to be able to work in a field on battery power. so to be clear that it is working I have added a heartbeat by flashing the green on-board LED.
In normal operation there is just a external memory stick connected, this the captured pictures being transferred during the night from the SD card – ie when it is in not taking pictures
I have used a very basic batch file + CRON entry to take the pictures, using the instructions from the RPI foundation website [ July 16 note – these instructions have been updated to a new version using PiCamera – link below to updated version]
https://www.raspberrypi.org/learning/timelapse-setup/worksheet.md
But with the Cron entry changed to [ to edit Cron – sudo crontab -e ]
*/10 7-18 * * * /home/pi/camera.sh 2>&1
This takes a picture every 10 minutes between 7am and 6pm
The I used for getting the led flashing is below, -thanks to TaskofOhm for this blog post
https://tasksofohm.wordpress.com/hardware/heartbeat-for-the-raspberry-pi/
A couple of bits that are not made clear in the instructions
- you need to use modprobe [ sudo chmod +x heartbeat ] to make the batch-file executable
- update-rc.d heartbeat defaults – needs be run as sudo
Then restart and you should have a nice double flashing heartbeat
To save just a bit more power I also have turned off the Red power LED
# Set the PWR LED to GPIO mode (set 'off' by default). echo gpio | sudo tee /sys/class/leds/led1/trigger
see the following link for the full source info of this, thanks to jeff-geerling
My final script look like this – (/etc/init.d/heartbeat)
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: hearbeat
# Required-Start: udev $local_fs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Set LED at GPIO16 in hearbeat mode
# Description: Set LED at GPIO16 in hearbeat mode
### END INIT INFO
N=/etc/init.d/hearbeat
case "$1" in
start)
# make sure privileges don't persist across reboots
if [ -f /sys/class/leds/led0/trigger ]
then
echo heartbeat >/sys/class/leds/led0/trigger
# Set the PWR LED to GPIO mode (set 'off' by default).
echo gpio | sudo tee /sys/class/leds/led1/trigger
# to save a bit more power turn on pwr led
# Set the PWR LED to GPIO mode (set 'off' by default).
echo gpio | sudo tee /sys/class/leds/led1/trigger
fi
;;
stop|reload|restart|force-reload|status)
;;
*)
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0
To remove the LED heartbeat use the following
sudo update-rc.d heartbeat remove