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から始まる最新のフォルダー名を取得…」 あたりで、もし昨日以前のフォルダーがあったら消去するという指示を加えてください。
Posted by IGU at 22:01│Comments(4)
│CGI FLASH JavaScript
この記事へのコメント
ここのつくるんちゅさんのページを見つけたのでCG-WLNCMNGLを購入することにしました。
購入後、ホームページへ上記CGIを設置して最新のファイルを表示することはできたのですが、日替わってから、日替わり後の新しい日付のフォルダーを参照しなくなってしまいます。
日替わり後、古い日付のフォルダーを手動にて削除すればまた当日フォルダー名の画像ファイルを読み込み、古いファイルは削除されます。
古い日付のフォルダーも自動で削除するにはどうしたら良いのでしょうか?
購入後、ホームページへ上記CGIを設置して最新のファイルを表示することはできたのですが、日替わってから、日替わり後の新しい日付のフォルダーを参照しなくなってしまいます。
日替わり後、古い日付のフォルダーを手動にて削除すればまた当日フォルダー名の画像ファイルを読み込み、古いファイルは削除されます。
古い日付のフォルダーも自動で削除するにはどうしたら良いのでしょうか?
Posted by やなぎだ at 2011年05月09日 10:09
コメントありがとうございます。
当ブログでは、右上「※注意事項」に書いてある通りのポリシーなのですが‥。
ただ、上の内容は、(クライアントの手前)あまりに簡単に書きすぎた気もします。 暇を見て、修正できればと思います。(一週間後~数ヶ月)
急ぎ、ご質問の答えとしては、
今日の日付を求める→それ以外の名のフォルダー名が有れば、中のファイルを全部消してからフォルダーを消す。 という、3~5行程度の追加かなぁと思います。
詳細は、後日。
当ブログでは、右上「※注意事項」に書いてある通りのポリシーなのですが‥。
ただ、上の内容は、(クライアントの手前)あまりに簡単に書きすぎた気もします。 暇を見て、修正できればと思います。(一週間後~数ヶ月)
急ぎ、ご質問の答えとしては、
今日の日付を求める→それ以外の名のフォルダー名が有れば、中のファイルを全部消してからフォルダーを消す。 という、3~5行程度の追加かなぁと思います。
詳細は、後日。
Posted by IGU
at 2011年05月09日 22:57

早速の返答ありがとうございます。
作って頂いているだけで感謝しています。
始め自分で解決しようと調べてみたんですが、GCIについても素人でしたので、頭がパンクしてしまいました。無理なお願いと重々承知の上ですので、神頼み的な感じです。ありがとうございます
作って頂いているだけで感謝しています。
始め自分で解決しようと調べてみたんですが、GCIについても素人でしたので、頭がパンクしてしまいました。無理なお願いと重々承知の上ですので、神頼み的な感じです。ありがとうございます
Posted by やなぎだ at 2011年05月10日 09:54
お世話になります。
このプログラムを使用させていただいております。
ですが、やなぎだ様のコメント同じく、日が替わると最新の日付のフォルダーのファイルが読み込みされません。
上記のプログラムの修正については完成されているのでしょうか?
もしくは、「今日の日付を求める→それ以外の名のフォルダー名が有れば、中のファイルを全部消してからフォルダーを消す。」についての追加コードについてご指導いただければと思います。
このプログラムを使用させていただいております。
ですが、やなぎだ様のコメント同じく、日が替わると最新の日付のフォルダーのファイルが読み込みされません。
上記のプログラムの修正については完成されているのでしょうか?
もしくは、「今日の日付を求める→それ以外の名のフォルダー名が有れば、中のファイルを全部消してからフォルダーを消す。」についての追加コードについてご指導いただければと思います。
Posted by イガラシ at 2013年07月08日 09:47
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。