The Foscam FI8919W Pan-Tilt camera supports a number of preset locations, or Presets.
The onboard web interface does not seem to offer a way to configure these presets – but there is another way!
I have written a couple of small shell scripts (for Linux or Mac OS X) that allow you to set a preset, move to a preset and even take a snapshot right from the command line.
The first script stores the current camera position into the specified preset.
You need to open a web browser or camera app (my favorite: Live Cams Pro on iPad/iPhone) and set the camera position.
Then, run this script, specifying the preset number (for example, “foscam_set 0” to set the first preset):
#!/bin/bash # Store current camera position in specified preset (0..16) # Commandline handling # preset=$1 if [ -z $preset ]; then echo "Syntax: $0 <preset>, where preset is a number (0..16)" exit 1 fi # Address (or address:port number) where to reach the camera # Username / password to access camera functions # CAMERA=192.168.1.2 USERNAME=theUsername PASSWORD=thePassword # Presets are set using URL with command (30 + preset*2), and recalled using URL with command (31 + preset*2) # command=$((30 + 2*$preset)) echo "Storing current camera position in preset ${preset} (command = ${command})" wget -O - http://${CAMERA}/decoder_control.cgi?command=${command}\&user=${USERNAME}\&pwd=${PASSWORD}
Next, a script to move the camera to a specified preset (for example, “foscam_go 3“:
#!/bin/bash # Move camera to specified preset (0..16) # Commandline handling # preset=$1 if [ -z $preset ]; then echo "Syntax: $0 <preset>, where preset is a number (0..16)" exit 1 fi # Address (or address:port number) where to reach the camera # Username / password to access camera functions # CAMERA=192.168.1.2 USERNAME=theUsername PASSWORD=thePassword # Presets are set using URL with command (30 + preset*2), and recalled using URL with command (31 + preset*2) # command=$((31 + 2*$preset)) echo "Moving camera to preset ${preset} (command = ${command})" wget -O - http://${CAMERA}/decoder_control.cgi?command=${command}\&user=${USERNAME}\&pwd=${PASSWORD}
Finally, a demo script that moves the camera to a preset, takes a snapshot and stores it locally (based on a post by 1994MGoBlue):
#!/bin/bash # Take snapshots of certain preset camera locations # Address (or address:port number) where to reach the camera # Username / password to access camera functions # CAMERA=192.168.1.2 USERNAME=theUsername PASSWORD=thePassword # The camera should normally be in this position DEFAULT_PRESET=3 # Seconds to sleep after issuing a camera move command, allow it to reach new position. # You may have to change this value to your needs DELAY=10 # Presets are set using URL with command (30 + preset*2), and recalled using URL with command (31 + preset*2) # for preset in 0 1 2 3 4; do command=$((31 + 2*$preset)) echo "Taking snapshot in preset ${preset} (command = ${command})" # Move camera, delay, take snapshot (stored in /tmp/) wget -O - http://${CAMERA}/decoder_control.cgi?command=${command}\&user=${USERNAME}\&pwd=${PASSWORD} sleep ${DELAY} wget -O /tmp/preset-${preset}.jpg http://${CAMERA}/snapshot.cgi?user=${USERNAME}\&pwd=${PASSWORD} done # Done, send camera back to default position command=$((31 + 2*$DEFAULT_PRESET)) wget -O - http://${CAMERA}/decoder_control.cgi?command=${command}\&user=${USERNAME}\&pwd=${PASSWORD}
Enjoy!