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 |