slitaz-arm annotate rpi/cgi-adm/plugins/rpi_cam/rpi_cam.cgi @ rev 136

rpi: add Camera support in CG admin interface :-)
author Christophe Lincoln <pankso@slitaz.org>
date Sat Apr 26 10:43:15 2014 +0200 (2014-04-26)
parents
children e785c2b0ea5a
rev   line source
pankso@136 1 #!/bin/sh
pankso@136 2 #
pankso@136 3 # TazBerry CGI Plugin - Raspberry Pi Camera tools web interface
pankso@136 4 #
pankso@136 5
pankso@136 6 case " $(GET) " in
pankso@136 7
pankso@136 8 *\ rpi_cam\ *)
pankso@136 9 html_header "PiCam"
pankso@136 10 export PATH="/opt/vc/bin:/bin:/usr/bin"
pankso@136 11 export LD_LIBRARY_PATH="/opt/vc/lib"
pankso@136 12 camdir="/var/www/adm/cam"
pankso@136 13 mkdir -p ${camdir}
pankso@136 14
pankso@136 15 # CSS --> style.css
pankso@136 16 cat << EOT
pankso@136 17 <style type="text/css">
pankso@136 18 img { margin: 10px 0; }
pankso@136 19 </style>
pankso@136 20 EOT
pankso@136 21 # Wen need VC Tools
pankso@136 22 if [ ! -x "/opt/vc/bin/raspivid" ]; then
pankso@136 23 echo "<p>VideoCore tools are missing. Please use tazberry \
pankso@136 24 to setup the PiCam/NoIR</p>" && exit 0
pankso@136 25 fi
pankso@136 26
pankso@136 27 # raspivid + raspistill
pankso@136 28 case " $(GET rpi_cam) " in
pankso@136 29 *\ shot\ *)
pankso@136 30 notify "Executing raspistill..."
pankso@136 31 echo "$(GET options)" > ${camdir}/shot.opts
pankso@136 32 raspistill $(GET options) -o ${camdir}/shot.jpg
pankso@136 33 notify hide ;;
pankso@136 34 *\ rm_shot\ *)
pankso@136 35 rm -f ${camdir}/shot.jpg ;;
pankso@136 36 esac
pankso@136 37
pankso@136 38 # Get last used options
pankso@136 39 if [ -f "${camdir}/shot.opts" ]; then
pankso@136 40 shot_opts="$(cat ${camdir}/shot.opts)"
pankso@136 41 else
pankso@136 42 shot_opts="--width 480 --height 320"
pankso@136 43 fi
pankso@136 44
pankso@136 45 cat << EOT
pankso@136 46 <h1>Raspberry Pi Camera</h1>
pankso@136 47
pankso@136 48 <div id="actions">
pankso@136 49 <form method="get" action="$script">
pankso@136 50 <input type="hidden" name="rpi_cam" value="shot" />
pankso@136 51 <input type="submit" name="raspistill" value="Take a picture" />
pankso@136 52 <input type="text" name="options" value="$shot_opts" />
pankso@136 53 </form>
pankso@136 54 </div>
pankso@136 55
pankso@136 56 EOT
pankso@136 57 # Display last shot
pankso@136 58 if [ -f "${camdir}/shot.jpg" ]; then
pankso@136 59 cat << EOT
pankso@136 60 <h2>Latest shot</h2>
pankso@136 61 <div class='center'>
pankso@136 62 <a href="/adm/cam/shot.jpg"><img src='/adm/cam/shot.jpg' /></a>
pankso@136 63 <p><a href="$script?rpi_cam=rm_shot">Remove</a></p>
pankso@136 64 </div>
pankso@136 65
pankso@136 66 EOT
pankso@136 67 fi
pankso@136 68 html_footer && exit 0 ;;
pankso@136 69 esac