2015/06/20

TENVIS JPT3815W でライブカメラ

格安ネットワークカメラ、TENVIS JPT3815Wでライブカメラ運用。
自分用メモ。

  1. 有線LANで接続、ユーティリティを使ってIPアドレスを確認。
  2. (http://(IPアドレス):7777)から、無線LAN(SSID、パスワード)の設定。
  3. 動体検知、FTPサーバー、バスワード、アップロードディレクトリの設定。
    (景色を撮るなら、動体検知感度を上げておかないと、アップロードされない。)
  4. アップロードのファイル名は、固定に出来ない。(なぜか3個ずつ、タイムスタンプ付き)
  5. ので、下記CGIで、実ファイルのタイムスタンプから、最新(2個手前)のファイルをピックアップ。
    また、溜まってしまうファイルのクリーンアップも行う。
cam.cgi
#!/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>  
   
  1. cronが使えるサーバだったら、1時間毎に毎正時ファイル生成と、クリーンアップ。
cleanup.cgi
#!/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 件のコメント :

コメントを投稿