自分用メモ。
- 有線LANで接続、ユーティリティを使ってIPアドレスを確認。
- (http://(IPアドレス):7777)から、無線LAN(SSID、パスワード)の設定。
- 動体検知、FTPサーバー、バスワード、アップロードディレクトリの設定。
(景色を撮るなら、動体検知感度を上げておかないと、アップロードされない。) - アップロードのファイル名は、固定に出来ない。(なぜか3個ずつ、タイムスタンプ付き)
- ので、下記CGIで、実ファイルのタイムスタンプから、最新(2個手前)のファイルをピックアップ。
また、溜まってしまうファイルのクリーンアップも行う。
#!/usr/bin/perl
$path = 'cam';
print "Content-type: image/jpeg\n\n";
&get_sorted_files;
$newestF = shift (@flist);
open IMG,"$newestF";
print <IMG>;
close (IMG);
foreach (@flist) { unlink ;}
exit;
sub get_sorted_files {
opendir DIR, $path or die "can't opendir $path: $!";
@flist = sort { -M $a <=> -M $b }
map { "$path/$_" }
readdir DIR;
closedir DIR;
my $dummy = shift (@flist);
$dummy = shift (@flist);
return @flist;
}
livecam.html
<html>
<head>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<script language="JavaScript">
function livecamera() { d = new Date();
document.images["live"].src = "cam.cgi?" + Date.parse(d); }}
</script>
</head>
<body>
<IMG SRC="cam.cgi" id="live" width=200 height=150 border=0
onLoad='setTimeout("livecamera()", 60123)'
onError='setTimeout("livecamera()", 60125)' onAbort='setTimeout("livecamera()", 60127)' ><br />
</a>
</body>
</html>
- cronが使えるサーバだったら、1時間毎に毎正時ファイル生成と、クリーンアップ。
#!/usr/bin/perl
# use strict;
use File::Copy;
$path = "cam";
$outpath = "hour";
$ENV{'TZ'} = "JST-9";
$t = (localtime(time))[2];
$outf = "$t.jpg";
&get_sorted_files;
$inf = shift (@flist);
my $new = "$outpath/$outf";
copy($inf, $new);
foreach (@flist) { unlink ;}
exit;
sub get_sorted_files {
opendir DIR, $path or die "can't opendir $path: $!";
@flist = sort { -M $a <=> -M $b }
map { "$path/$_" }
readdir DIR;
closedir DIR;
my $dummy = shift(@flist);
$dummy = shift(@flist);
return @flist;
}
24時間運用、半年で無線LAN部だけ壊れました。(有線LANは接続可)
保証適用で新品交換してもらいましたが、行き帰りの送料は自己負担。
もちょっと予算考えたほうが良いかな?
IODATA Qwatch TS-WLCAM も、ファイル名固定できないようなので
↑の方法で、ライブカメラ運用できる気がする。
0 件のコメント :
コメントを投稿