「何も見えん、真っ黒だぞ〜!」
前回いただいたコメント。確かに、夜中見たら真っ黒だし…。
そこで今回は、写真を表示するCGI(簡単なプログラムの一種)にもう少し手を加えて、毎正時の写真を残しておくようにしてみた。
…今回もマニアックなネタです。
このカメラ、再起動の際にタイムサーバーとの同期が取れないと、約6時間、写真が表示されない癖があるみたい。(原因調査中。日によっては、上記の毎正時ファイルが取得できない場合があります)
それと、カメラを買ったけど、FTPでアップロードした写真を見ることができなくて困っている人がいること(
その1参照)から、画像表示のみの単機能版をフリーCGIとして公開しておきます。(上記のCGIから毎正時画像保存などの機能を取ったもの。困っている人たちの目に止まればいいのですが…)
コレガの「CG-WLNCMNGL」というネットワークカメラ専用。
FTPで定期アップロードされる写真のフォルダーを調べて、最新の画像を表示する仕組み。
各行毎に説明を付けておいたので、ネットで調べてちょっと加工すれば、他の機種でも使えるはず。 →
ダウンロード
使用方法は、「CGIの設置」等で検索すれば大丈夫。
#! /usr/bin/perl
##################################
$setumei = <<"EOL";
コレガのネットワークカメラ「CG-WLNCMNGL」専用
★このCGIのやってること
1、指定フォルダーの画像から最新を選んで表示。
2、古いファイルを削除
http://making.ti-da.net/ つくるんちゅブログ 090321
EOL
####### 初期設定 ################
$MyDir = './' ; #リスト化するディレクトリー名
####### 設定終わり --------------
my(@flist) = glob("$MyDir/*"); #指定フォルダー内のリストを取得
@flist = sort { $b <=> $a } @flist; #並べ替え
foreach (@flist) { #CG-WLNCMNGLは「20090321」等、日付のフォルダーを作るので、20から始まる最新のフォルダー名を取得
$_ =~ s/\.\/\///g;
if($_ =~ /^20/){$tmp = $_; last;}
}
my(@flist2) = glob("$tmp/*"); #最新フォルダー内のリストを取得
$tmp = pop (@flist2); #一番新しいファイル名を選択 ※1
print "Location: $tmp\n\n"; #画像を表示
foreach (@flist2) {unlink "$_";} #他のファイルを消去
exit; #※1を2回入れると、転送中の切れた画像が表示されるのを防げます。
一日以上前の写真を消すのは、FTPで接続して操作してください。
または、「20から始まる最新のフォルダー名を取得…」 あたりで、もし昨日以前のフォルダーがあったら消去するという指示を加えてください。