ネットワークカメラシステムプログラム

---------------------------------------------------------------------------------

#!/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`   # 現在時刻          (単位 : 分)
K_Start=`expr 6 \* 60`                           # スタート時刻 6:00 (単位 : 分)
K_End=`expr 17 \* 60 + 45 \* 1`                  # 終了時刻    17:45 (単位 : 分)
#================================================================================
# 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/Font/VL-Gothic-Regular.ttf:24'\
		--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 -n  < /home/webcam/ftp_webcam.txt   # FTP転送をバッチ形式で実行する。

  fi
#================================================================================
  if [ ${i} -eq 6 ]; then
     break                # 強制終了
  fi

  sleep 8s;               # 10 秒待って繰り返し処理実行 上記処理時間を考慮
done;
####-----------------------------------------------------------------------------

※※ 参考情報 ※※  取得画素数 960x720 の時、sleep は、7 秒 になりました。
                    現在は、画素数 960x720 の指定でプログラムを設定しています。


TOPへ戻る