Control Camera via Web with gPhoto2 Bottle

While tethered shooting applications like Entangle allow you to control the camera connected to your Linux machine, they do have their limitations. You need a screen and a keyboard attached to the computer to operate the application, and in many situations you most likely use only a subset of the features it has to offer.

So if you are looking for a simple tool that makes it possible to control the camera’s basic settings and actions from any device using a regular browser, gPhoto2 Bottle might be right up your alley. This Python-based app turns the machine with the camera connected to it into a server with a simple web interface for controlling the camera.


gPhoto2 Bottle is designed to work on Raspberry Pi running Raspbian, but the app should work on Debian and Ubuntu out of the box and on practically any Linux distribution with minimal tweaking. Deploying the app is done in a few simple steps. Provided Python and Git are installed on your system, clone the project’s repository using the git clone command. Switch to the resulting gphoto2-bottle directory. If the software repositories of the Linux distribution running on your machine contain a gPhoto2 version lower than 2.5.2, you have to compile and install the software using the supplied script. Run the script using the ./ command as root and wait till it’s finished.

Next, install the Bottle framework using the apt-get install python-pip and pip install bottle commands as root. Launch then the app by running the ./ command. Make sure that your camera is connected to the machine running gPhoto2 Bottle via a USB cable. Point the browser to (replace with the actual IP address of the machine running gPhoto2 Bottle) to access and use the app. gPhoto2 Bottle is rather straightforward in use, so you shouldn’t have problems figuring out its functionality.

gPhoto Bottle is pre-configured to work with most Nikon DSLR cameras, so if you have a different camera, you might need to tweak the default settings. To do this, make sure the camera is connected to the server and turned on. Click then the View config link, and you should see a list of all supported commands. Find the commands for changing aperture, shutter speed, and ISO. You can then run the appropriate command by entering it in the Command field and pressing the Command button.

Tech writer covering Linux and open source software

Tagged with: , , ,
Posted in Open Source, Photography, Scribbles, Software
%d bloggers like this: