てぃーだブログ › 作る人 (つくるんちゅ)日記 › CGI FLASH JavaScript › ライブカメラの設置(その2)



2009年03月21日

ライブカメラの設置(その2)


「何も見えん、真っ黒だぞ〜!」
前回いただいたコメント。確かに、夜中見たら真っ黒だし…。

そこで今回は、写真を表示する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から始まる最新のフォルダー名を取得…」 あたりで、もし昨日以前のフォルダーがあったら消去するという指示を加えてください。





同じカテゴリー(CGI FLASH JavaScript)の記事



この記事へのコメント
ここのつくるんちゅさんのページを見つけたのでCG-WLNCMNGLを購入することにしました。
購入後、ホームページへ上記CGIを設置して最新のファイルを表示することはできたのですが、日替わってから、日替わり後の新しい日付のフォルダーを参照しなくなってしまいます。
日替わり後、古い日付のフォルダーを手動にて削除すればまた当日フォルダー名の画像ファイルを読み込み、古いファイルは削除されます。
古い日付のフォルダーも自動で削除するにはどうしたら良いのでしょうか?
Posted by やなぎだ at 2011年05月09日 10:09
コメントありがとうございます。

当ブログでは、右上「※注意事項」に書いてある通りのポリシーなのですが‥。

ただ、上の内容は、(クライアントの手前)あまりに簡単に書きすぎた気もします。 暇を見て、修正できればと思います。(一週間後~数ヶ月)

急ぎ、ご質問の答えとしては、
今日の日付を求める→それ以外の名のフォルダー名が有れば、中のファイルを全部消してからフォルダーを消す。 という、3~5行程度の追加かなぁと思います。
詳細は、後日。
Posted by IGUIGU at 2011年05月09日 22:57
早速の返答ありがとうございます。
作って頂いているだけで感謝しています。
始め自分で解決しようと調べてみたんですが、GCIについても素人でしたので、頭がパンクしてしまいました。無理なお願いと重々承知の上ですので、神頼み的な感じです。ありがとうございます
Posted by やなぎだ at 2011年05月10日 09:54
お世話になります。
このプログラムを使用させていただいております。

ですが、やなぎだ様のコメント同じく、日が替わると最新の日付のフォルダーのファイルが読み込みされません。
上記のプログラムの修正については完成されているのでしょうか?

もしくは、「今日の日付を求める→それ以外の名のフォルダー名が有れば、中のファイルを全部消してからフォルダーを消す。」についての追加コードについてご指導いただければと思います。
Posted by イガラシ at 2013年07月08日 09:47
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

※記事内容に言及無いコメントは、コメントスパムと判断して削除する場合があります。