The CameraControlerApi is an attempt to control a DSLR via REST functionality. At the moment is it possible to change the camera settings (ISO, aperture, time), shoot pictures and stream the live view of the camera.
###Web-Interface###
http://device_ip:port/webif/
###Demonstration###
You will get all valid data for a command from the "List" action.
###Settings###
List the configuration with validate values
http://device_ip:port/settings?action=list
ISO
http://device_ip:port/settings?action=iso&value=200
Aperture
http://device_ip:port/settings?action=aperture&value=f/22
Shutter Speed
http://device_ip:port/settings?action=speed&value=1/1000
Whitebalance
http://device_ip:port/settings?action=whitebalance&value=Cloudy
###Capture###
take a picture
http://device_ip:port/capture?action=shot
autofocus
http://device_ip:port/capture?action=autofocus
start liveview
http://device_ip:port/capture?action=live&value=start
Returns a file with connection data. The command will open a socket with which you can connect to get the stream data.
end liveview
http://device_ip:port/capture?action=live&value=end
###File system###
list of the available images on camera
http://device_ip:port/fs?action=list
get an image
http://device_ip:port/fs?action=get&value=filename.jpg&path=/path/to/file
Each method will response with a file in json format. If you want a XML response you have to put the command "&type=xml" on the end of the upper commands
##Dependencies##
- libgphoto2-2.5.2
- libboost
- libboost-system
- libmicrohttpd
- libfreeimage