<?php /************************************************************************/ /*** コマンドラインで指定された時間間隔(分)で,撮影 ***/ /************************************************************************/ /*** Pi の移動・設置に,3分をあてる ***/ $wait = 3; sleep( 60 * $wait ); /*** 撮影の時間間隔(分) ***/ $interval = intval( $argv[1] ); /* 撮影回数の最大 */ $max = 24; /* 撮影画像保存ディレクトリ */ $storage = "./storage/"; /*** 日本標準時との時差 **************************/ /* 現地の東経(度) */ $longitude = 142; /* 時差 */ $d_min0 = round( ( 60 * ( $longitude - 135 ) / 15 ), 0 ); $d_min = $d_min0 % 60; $d_hour = ( $d_min0 - $d_min )/ 60; echo( "時差:".$d_hour." h ".$d_min." min\n" ); /*** 時刻の秒が0になるまで待つ ***************** while( intval( date( "s" ) ) != 0 ) { } /*** 撮影ループ ************************************************************/ for( $i = 1; $i <= $max; $i++ ){ /*** ファイル名を現地時刻に *****************/ /* 標準時 */ $hour0 = intval( date( "H" ) ); $min0 = intval( date( "i" ) ); /* 現地時 */ $min = $min0 + $d_min; $hour = $hour0; if( $min < 0 ){ $min = $min + 60; $hour = $hour - 1; } elseif( $min >= 60 ){ $min = $min - 60; $hour = $hour + 1; } /* ファイル名 */ $file_name = sprintf( '%02d', $hour )."-".sprintf( '%02d', $min ).".jpg"; echo( $file_name."\n" ); /*** 撮影 *****************************************/ $cmd = "raspistill -ISO 600 -ss 900 -w 2000 -h 2000 -q 100 -o ".$storage.$file_name; echo( $cmd."\n" ); exec( $cmd ); /*** 撮影間隔の時間を潰す ***********************/ sleep( 60 * $interval - 5 ); /* 時刻の分が変わるまで待つ */ while( 1 ) { $min1 = date( "i" ); if( $min1 < $min0 ) { $min1= $min1 + 60; } if( ( $min1 - $min0 ) == $interval ){ break; } } } ?>