Show page source of chobit_prog pepogmail4pic #84312

== pepogmail4pic
{{{ GoogleAdsense
<script type="text/javascript"><!--
google_ad_client="pub-8866927345406277";
google_ad_host="pub-9941151214016196";
google_alternate_color="FFFFFF";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text_image";
google_color_border="003399";
google_color_bg="EEEEEE";
google_color_link="0000FF";
google_color_url="0000FF";
google_color_text="000000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
}}}
=== 最初に

pepogmail4picとはPepoLinux-0.60以降に収録されているUSB接続のWEBカメラで動画を取得してメールプログラムを起動する、ちょっとしたプログラムです。

pepogmail4dioから起動されるプログラムで例えばSubjectに『dio_get 9』を設定して監視用gmailのアドレスへ送信すると数秒の動画を記録、添付メールで返信する事が出来ます。

PepoLinuxに収録されているプログラムを必要とするので単独では動作しませんが、現地のイベント&アクションでペットや制御機器の動画で遠隔地の状態監視や防犯などのプログラムに応用出来ると思います。

更新履歴

2012.7.11:ファーストリリース

o pepogmail4dioからUSB接続のWEBカメラで静止画を取得してメールプログラムを起動できるようにした。

2012.10.7:タイマー値などチューニング

o 動画を取得してメールプログラムを起動できるようにした。
{{{
#!/bin/sh
# licence GPLv2 ; this scripts designed by IZAMUKARERA 2012.7.11 update 2012.10.7
# pepogmail4pic ; get video or jpeg & send mail
# pepogmail4pic mail_to subject message
# wget_mail.sh $1:mail_to, $2:subject, $3:message ,$4:image.mp4

#IMAGE=remote_hand.jpeg
IMAGE=remote_hand.mp4
OPTION="-t 8"
WORKDIR=/var/www/html/remote-hand/tmp
WORKIMAGE=${WORKDIR}/${IMAGE}
WGETMAIL=/pepolinux/wget_mail.sh
MAIL_TO=$1
if [ $# = 0 ];then
  echo "usage :$0 mail_to | subject | message"
  exit
fi
[ ! -z $2 ] && SUBJECT="$2"
[ -z $2 ] && SUBJECT="remote_hand+picture"
[ ! -z $3 ] && MESSAGE="$3"
[ -z $3 ] && MESSAGE="remote_hand+picture"
prog=peposendmail4pic
pidfile=/var/run/$prog.pid
error(){
  [ -e $WORKIMAGE ] && rm -f $WORKIMAGE
  [ -e $pidfile ] && rm -f $pidfile
  exit 0
}
trap error SIGINT SIGTERM SIGHUP SIGKILL

while [ -e ${pidfile} ]
do
  msleep 100
done

VIDEO=/dev/video
if [ -e "$VIDEO" ];then
  echo -en $$ >$pidfile
  [ -e $WORKIMAGE ] && rm -f $WORKIMAGE
  ffmpeg $OPTION -f video4linux2 -s 640x480 -i /dev/video0 -y $WORKIMAGE >/dev/null 2>&1
  msleep 1000
  if [ ! -e $WORKIMAGE ];then
    [ -e ${pidfile} ] && rm -f ${pidfile}
    exit -1
  fi
else
  echo "Video device is not connected -> $VIDEO"
  [ -e ${pidfile} ] && rm -f ${pidfile}
  exit -1
fi
if [ -e $WORKIMAGE ];then
  $WGETMAIL $MAIL_TO $SUBJECT $MESSAGE $IMAGE
  rm -f $WORKIMAGE
  rm -f ${pidfile}
fi
}}}