△△△△は、ユーザーディレクトリです。
#!/bin/bash
##-----------------------------------------------------------------
# webcam.sh
# crontab から 1 分毎の起動を受けてプログラム内で 10 秒毎の
# 繰り返し処理をするようにした。
# for i in `seq 1 5`;do [処理] sleep 9s; done; を追加した。
#
##-----------------------------------------------------------------
Khour=$(date +%H) # 時(00-23)
Kmm=$(date +%M) # 分(00-59)
INFILE="/home/△△△△/webcam/camdata.jpg" # Save Dir
K_flg="on" # 起動フラグ
# 現在時刻 (単位 : 分)
K_Now_time=`expr ${Khour} \* 60 + ${Kmm} \* 1`
# スタート時刻 6:00 (単位 : 分)
K_Start=`expr 6 \* 60`
# 終了時刻 17:45 (単位 : 分)
K_End=`expr 17 \* 60 + 45 \* 1`
##-----------------------------------------------------------------
# lsusbコマンドでUSBカメラの接続情報を取得する。
# その中に"Logitech"の記述があるかないかでUSBカメラの
# 動作を判断する。
#
USB=$(/usr/bin/lsusb)
# Logicool USB Camera C270sCW
# USBカメラが動作している時には、抽出文字列が${USB1}に
# セットされる。
USB1=$(echo ${USB} | grep "Logitech")
if [ ! -z "${USB1}" ]; then
echo "Logicool"
else
\cp /home/△△△△/webcam/ngcamera.jpg ${INFILE}
echo "camera NG"
exit
fi
##-----------------------------------------------------------------
#
for i in `seq 1 6`;do # 10 秒毎繰り返し処理
#
#------------------------------------------------------------------
# 6:00時から17:45時まで撮影( K_flg="on" )する
#------------------------------------------------------------------
#
if [ ${K_Now_time} -ge ${K_Start} -a ${K_Now_time} \
-le ${K_End} ];
then
K_flg="on" # 起動フラグ
else
#------------------------------------------------------------------
# 時間外の処理
# 17:46からは stop.jpg を ---> camdata.jpg に書込みする。
# 但し、一度書込んだら、二度目からは、パスさせる。
#------------------------------------------------------------------
if [ ${K_flg} = "on" ]; then
\cp /home/△△△△/webcam/stop.jpg ${INFILE}
K_flg="off"
fi
fi
##-----------------------------------------------------------------
#---------- Main1 Start -- K_flg="on" の時に実行させる ------------
##-----------------------------------------------------------------
if [ ${K_flg} = "on" ]; then
#---------------------- CentOS 7.0 camera Start ---------------
# Logicool Brightness=65% Contrast=15% -r 640x480 font:24
#
/usr/bin/fswebcam -p YUYV --bottom-banner\
--line-colour '#FF000000'\
--banner-colour '#FF000000' -S 2 -r 640x480\
--font '/home/△△△△/webcam/Font/VL-Gothic-Regular.ttf:26'\
--text-colour '#FFFF00'\
-s Brightness=65%\
-s Contrast=15%\
--timestamp '%Y-%m-%d %H:%M:%S'\
--jpeg 95 --save ${INFILE}
#--------------------------- camera End ---------------------------
##-----------------------------------------------------------------
# ftp で画像データのアップロード
# 転送処理は、事前に作成済みのコマンドバッチファイルを
# バッチ形式で実行させる。
#
# -n : ftpクライアント起動の際、自動ログイン実行を抑止。
# -v : FTPサーバーの処理後のメッセージを表示。
##-----------------------------------------------------------------
ftp -nv < /home/△△△△/webcam/ftp_webcam.txt
fi
##-----------------------------------------------------------------
if [ ${i} -eq 6 ]; then
break # 強制終了
fi
sleep 8s; # 10 秒待って繰り返し処理実行 上記処理時間を考慮
done;
##-----------------------------------------------------------------
※※ 参考情報 ※※
取得画素数 960x720 の時、sleep は、7 秒 になりました。
現在は、画素数 960x720 の指定でプログラムを設定しています。
|