GoPro devices (at least Hero 3) is capable of producing awesome timelapse photos that you can later turn into videos. If you have a power source and a large SD card, then your only constraint is the interval that the photos are taken at. The longest interval available is 60 seconds. But what if you want the interval to be larger? What if you want to take only a few pictures a day?
For example... what if you know you won't be using your gopro for the upcoming month and you just planted a new garden, and you want to capture the rapid growth of your strawberries on video?! Well that's what I want to do!
Instead of taking the picture manually, there is a way to accomplish this programmatically. When you connect your computer to GoPro's WiFi server, you can have full control over all it's features by performing HTTP GET requests; it's as simple as forming and executing web links! Here is an example that turns the gopro on
(replace X's with GoPro's WiFi password)
Here is a complete list of Hero 3 commands.
Fun fact: you can browse all pictures and videos on your GoPro over WiFi! Just browse to
http://10.5.5.9:8080in your browser.
timelapse-gopro.py is a python script that uses the above URL's to control GoPro. This fixes the 60 second frequency limis and extends it to whatever you want.
To make this happen, you need the following:
Hardware Setup: GoPro Hero 3, battery pack or power cable for GoPro, and a WiFi enabled device running Python 2
timelapse-gopro.py and modify the heading varaibles, specifying between what hours that you want the picture to be taken and every how many mintues. Then fill out the varaible for GoPro's WiFi password and you're good to go!
python timelapse-gopro.py in priviledged mode and watch the magic run! First, the script will configure the GoPro (turn off power saving timeouts, etc) and then create cron jobs for the specific times.
[20:22:47] ~ > sudo python timelapse-gopro.py seting up gopro http://10.5.5.9/bacpac/PW?t=XXXXXX&p=%01 http://10.5.5.9/camera/BS?t=XXXXXX&p=%00 http://10.5.5.9/camera/LB?t=XXXXXX&p=%00 http://10.5.5.9/camera/AO?t=XXXXXX&p=%00 http://10.5.5.9/bacpac/PW?t=XXXXXX&p=%00 http://10.5.5.9/bacpac/PW?t=XXXXXX&p=%00 * 3-9/60 * * * python /Users/adriansitterle/timelapse-gopro.py takepic # from timelapse-gopro.py script
I get an error
Error connecting to camera. Did you replace the
url_pass variable in
timelapse-gopro.py with your GoPro's WiFi password?
I get an error
crontab: must be privileged to use -u. Are you executing the
timelapse-gopro.py in priviledged mode? If not use
sudo python timelapse-gopro.py to run the script. You need root proviledge to create cron jobs on your system.
timelapse.gopro.py script location:
Some silly tests:
24 hours/every 30 minutes
Check out hackaday.com for a link to this article and other similar hacks!
Also check out this article on diyphotography.com.