This is a project I started while playing around with my Nikon D50 DSLR camera. The idea was to create a sort of a box that could plug into my camera on a tripod and let me control all the settings from my android phone. The box would contain a hawkboard running Ubuntu with my own deamon installed for controlling the camera via USB and allowing remote connections via wifi/bluetooth to connect to a web interface. I ran into problems with the hawkboard however. Mainly, the documentation on compiling a custom kernel for the board is sketchy and relies on access to the SDK from texas instruments, which I never ended up getting installed as it firstly took ages to get access and then to download, and then it required Ubuntu 10.04 (I was on 10.10) and I couldn't be bothered setting up a VM just to install it since at that point at the network port on the hawkboard had died and the only way I could copy things to it was over the serial cable (very slow).
What I did get finished was a generic linux daemon which exposes a USB connected camera via a web interface. This deamon glues together several other libraries and provides a web interface on top.
To start the deamon, then open a web browser and enter http://localhost:8080/
NOTE - if you connect a camera via USB and nautilus auto-mounts the camera, you will need to eject the volume from nautilus before ptprest will be able to communicate with the camera.