www.smiyasaka.com  は、2022 年 11月から Oracle LInux 8.X にOSを変更しました。

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



 △△△△は、ユーザーディレクトリです。

#!/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 の指定でプログラムを設定しています。


^