VoCore Time-Lapse Photography

I’ve had my VoCore for around a month now and have been fiddling with them a bit. So far I’ve compiled my own rootfs (source now available in OpenWrt trunk), installed mjpeg-streamer, soldered some resistor legs to the VoCore for easier breadboarding, put a heatsink on the RT5350, setup a breadboard circuit with USB port and Logitech C250 webcam, and connected a SparkFun Power Cell for system load and charging a 12.6Wh LiPo cell pulled from an iPad 1st gen.

A hobby of mine is gardening and lately I’ve been reading about Permaculture. This got me thinking about redesigning my backyard to be more productive by growing perennial food plants and better utilizing my available resources (e.g. sunlight). There are large trees that block the sun from coming into the yard at different times of the day. This is a perfect opportunity to use the VoCore to create a time-lapse video of the yard to help in my re-design.

I rearranged my breadboard to hold everything (powercell, vocore, webcam, LiPo) and added a tripod mount. This is definitely not a permanent mounting solution but more of a quick and dirty one. Kapton tape holds the webcam, battery and tripod mount (which is just a piece of plexi drilled and tapped for the tripod) onto the breadboard. A zip-tie holds the long webcam USB cable in place.

Running on the VoCore is my compiled rootfs with nothing special installed except kmod-video-uvc, mjpg-streamer and v4l-utils. The VoCore wifi is setup in station mode and connects to my home router/server running Debian. I’ve disabled the ethernet ports which draw unneeded power in this setup according to this post. You need to edit the mjpg-streamer config file at /etc/config/mjpg-streamer to your liking and make sure option enabled = 1. That’s basically it for the VoCore setup. On my server I set a static IP for the VoCore and created a shell script to grab an image from the VoCore at a defined interval:

# Grab webcam images for time-lapse

# How often to grab image in seconds

# Path to save images

# VoCore URL

# Start the image grab loop
while true; do
        now=`date +%F_%T` # Timestamp is the filename
        wget -t 2 -q "$serverurl" -O "/tmp/$now.jpg"
        if [ ! -s "/tmp/$now.jpg" ]; then
                # Just in case file is empty, delete
                rm "/tmp/$now.jpg"
                mv "/tmp/$now.jpg" "$savepath/$now.jpg"
        sleep "$delay"

I did have some issues with the webcam exposure. After the sun really came out the image became extremely bright and washed out. According to the Linux UVC Driver page, my webcam is fully supported but I could not, unfortunately, get auto exposure to work. I haven’t looked very hard yet for a fix and instead found a happy medium for a manual daytime exposure setting. The camera settings can be changed by ssh’ing to the VoCore and using the v4l2-ctl command. I will be making a few videos (pending weather) until I get a decent exposure of a whole day.

Alas, this is the video from today (including bad exposures) 13.5 hours at 20fps made with mencoder (how to):

Update: Still have to manually adjust the exposure every few hours, but this video is much better than yesterdays:

Archives By Month