FreeWebWatchman(WebCamソフト)

(Last Update 10-MAY-99)

Jump to English Page

●回転ズーム自在のWebWatchmanProに。ソフトもここからダウンできます。
ハートコンピュータのホームページ

WebWatchmanPro」はWWW上で静止画像を公開するためのシステムです。マッキントッシュ1台と、この「WebWatchmanPro」 があればウエッブカメラを簡単・安価に構築することができます。しかもこのウエッブカメラはブラウザ側から方向、 ランプのON/OFF、ブザーなどもコントロールできるため、監視・警告などの目的にも便利に使うことが可能です。

FreeWebWatchmanはこのWebWatchmanPro専用のコントロールソフトウエアで、フリーウエアとして公開していますからご自由にお使いください。 FreeWebWatchmanをフリーウエアとしてご利用いただくにはできればその画面のどこかに「 WebWatchman」のようにリンクを入れてください。(強制ではありません)また 当社のサイトからのリンクをご希望でしたら にURLと紹介の文章(日本語40文字以内)をご連絡ください。

制御ソフト "FreeWebWatchman" の特徴

Macで有名なWWWサーバーのWebStarMacHTTPNetPresenzQuid Pro Quoあるいはシステム8に新しく付属した「Web共有」のどれとでも組み合わせて使うことができます
当社で実験の結果Quid Pro Quo 2.0 はフリーウエアのうえ反応も速く、カウンタ、クリッカブルマップ機能もついているのでおすすめします。 MacHTTPはちょっと反応が遅くておすすめできません。

主要な機能

設定のダイアログを御覧ください。

使い方

立ち上げ前にかならずWWWサーバーをインストールして、動作を確認してください。
また、このソフトを使うにはビデオカメラが必要になります。あらかじめ用意した上で Macに標準でついてくるまたは カラーQCAMに付属のソフト などで動作を確認しておいてください。


あらかじめ4つのフォルダを決めておきます。

格納フォルダ 一定時間ごとに取り込んだファイルを格納するフォルダです。WWWサーバーからアクセスできる位置でなくてはなりません。
WWWサーバーがあるフォルダと同じものを指定するのが無難です。(取り込んだたファイルはWWWサーバーのソフトと同じ階層のフォルダに作られます)
HTML/script/音の
保管フォルダ
FreeWebWatchmanが使用するHTMLファイルとscriptファイルを格納しておくフォルダで、主にCGIとして動作した結果表示するファイルになります。位置はどこでもかまいません。セキュリティを考えWWWサーバーとまったく別のフォルダにすることを推奨します。
夜間表示データを
あらかじめ
格納しておくフォルダ
あらかじめとりこんでおいた画像を夜間表示したりするときのものです。 位置はどこでもかまいません。WWWサーバーとまったく別のフォルダにすることを推奨します。 このフォルダの中にあるタイプが'JPEG'または'JFIF'のファイル、または拡張子が ".jpg" または ".jpeg" のファイルだけが表示の対象になります。拡張子は大文字でも小文字でもかまいません。
一定時間ごとに
取得したデータを
入れておくフォルダ
位置はどこでもかまいませんがブラウザで見たいのでしたらWWWサーバーからアクセスできる位置にしてください。誰でも見られるように公開しておくとまずい場合にはWWWサーバーからアクセスできない位置を指定してください。WWWサーバーがあるフォルダに1つこの目的のためのフォルダを作りパスワードで保護することを推奨します。

上の条件を満足するフォルダ関係を以下に図で示します。

(実際にはWWWサーバーに必要な多くのファイルがありますのでご注意ください、これだけで動作はしません)

このあとww.acgiをWWWサーバーと同じ階層のフォルダに入れたうえでダブルクリックしてたちあげます。初めて立ち上がると、接続のダイアログが表示されます。

初期設定

フォルダの登録


ダイアログの上のの部分に上できめたフォルダを指定します。指定するには名前を表示しているボタンを押してください。さらにの格納ファイル名を指定してください。このファイル名はそのフォルダの中に作られるファイル名になります。

その他登録


は自動取込みの間隔です。この秒数経過すると自動的に画像が取り込まれます。前の画像を取得し終わったときからの計測されます。通常画像の取得に3秒から10秒かかりますからそれを目安に間隔を決めてください。この値はなるべく5秒以上にしてください。それより少ないとおかしくなるかもしれません。最大値は32767秒でこれは546分=9.1時間です。

は画像に時刻を入れこむときの色です。色の部分をクリックして好きな色を指定してください。先頭のチェックボックスをチェックすることで有効になります。

はこの時間間隔で別フォルダに時刻をキーとしてファイルを格納します。あとでどのようなことがおきていたかを見るためのものです。先頭をチェックすることによりこの機能が有効になります。インデクスの欄で指定したファイルが自動的に作成されますのでブラウザであらかじめリストを見て、指定の時刻のデータだけ選んで表示することができます。

はリダイレクトといってこのFreeWebWatchmanをCGIとして使うときに動作が終了するとつぎに表示されるURLです。別のサイトのURLでもかまいません。先頭をクリックして選択するとこのURLが表示されるようになります。その下の「HTML/script/音の保管フォルダ」をクリックして選択するとそのフォルダ内にあるHTMLファイルを表示する指定になります。(詳細はCGIの章を参照してください)

にチェックを入れるとダイレクトコマンドはうけつけられずスクリプトのみ実行できるようになります。(詳細はスクリプトの章を参照してください)

はSSI機能を有効にするものです。枠の中の数字は現在のアクセスカウンタです。この機能はの指定で「HTML/script/音の保管フォルダ」を選択された場合のみ有効です。(詳細ははSSIの章を参照してください)

はクラッキングに対する指定です。ここにチェックを入れると同じユーザー(ホスト) から連続して画像取り込みの要求があると指定された回数過ぎたところで指定された時間ビジーのメッセージを返すようになります。 複数のユーザーが交互につないできたときにはこの効果は期待はできません。たとえ同じユーザーであっても指定された秒数すぎるとまたつなげることができるようになります。

は取り込んだ画像をどうするかの指定です。「単に格納」を選択すると取り込んだ画像はMac内ので指定されたフォルダ内に指定された名前で格納されます。専用線でインターネットに接続されている場合は通常この「単に格納」を選んでください。
「FTPで転送...」を選択すると取り込んだ画像はMac内に格納されるとともに指定されたところにFTPで転送されます。詳細は「FTP転送」の章をご覧ください。

以上で初期設定は完了です。

1つしか画像取込みのチャンネルがない場合にはすぐさま画像が表示されますが、AV端子のあるMacにさらにカラーQCAMをつないだときなどには複数のチャンネルのうちどれかを選択しないと正しく表示されませんから設定メニューからカメラの設定...を選び「ソース」のポップアップメニューでカメラを選択してください。


CGI

FreeWebWatchmanは非同期CGI(acgi)として使うこともできます。コマンドは?のあとに AからZまでのの文字が機能別に割り当てられています。複数の動作を同時に指定するには:(コロン)で区切ります。小文字でもかまいません。

画像とりこみ
http://www.myname.co.jp/ww.acgi?Z

とすることで定刻時間を待つことなくすぐに取込みが開始されます。

CGI実行後には初期設定で「リダイレクト」が指定されているとそのURLにジャンプします。

指定されていないと、「HTML/script/音の保管フォルダ」内のdefault.htmlが表示されます。

さらにSSI機能が有効であると 画像名はキャッシュの効果を殺すためそのとき取り込んだ時刻を含めるかたちで自動的に変換されて送られます。(画像名の変換) たとえばHTMLで <IMG SRC="snap.jpg">のように記述されているとこのファイル名は<IMG SRC="snap08124512.jpg">のように加工され送られます。 時刻が含まれていて、ユーザーのブラウザにはキャッシュされていないファイル名になるため確実にデータを伝えることができます。詳細はSSIの章を御覧ください。

このファイル以外を表示するには
http://www.myname.co.jp/ww.acgi$myfile2.html?Z
とします。この例ではmyfile2.htmlを表示するもので、このファイルは「HTML/script/音の保管フォルダ」内に存在しなくてはなりません。
ファイルをスクリプトの中で記述することもできます。こうすると情報隠しができます。詳細はスクリプトの章を御覧ください。

スクリーンダンプ
http://www.myname.co.jp/ww.acgi?D

とすることでスクリーンダンプがscreen.jpgという名前で一定時間ごとに取り込んだファイルを格納するフォルダにできます。 自宅から今のMacの画面を見ることができますので帰る前にAppleメニューから「このコンピュータについて...」を表示しておくと 今のメモリーの状態を確認できます。なおこの機能はFreeWebWatchmanのメモリパーティションが6MB以上ないと 使うことはできませんから立ち上げる前に増やしておいてください。
取り込んだ画像はhttp://www.myname.co.jp/save/screen.jpgのように指定して見ることができます。

●非同期モード
http://www.myname.co.jp/ww.acgi?Z:V

Vのコマンドを入れることで取込みは非同期になります。 通常は画像が取得しおわるまでリターンしませんが、このモードでは画像の取り込みを待たずにすぐにリターンします。 いま取得したデータを見るには前の画面に戻ったあと、しばらくしてブラウザのリロードボタンを押して見てください。
非同期モードでは画像名の変換は行われません。「画像名の変換」の説明はSSIの章を御覧ください。

●ポーズ
http://www.myname.co.jp/ww.acgi?W40:Z

とすることで取込み前に40単位ポーズします。1単位は1/60秒です。数字の指定がないと40/60秒(すなわちW40)と同じです。

●サウンド
http://www.myname.co.jp/ww.acgi?Umysound.aiff

とすることでmysound.aiffというサウンド(AIFFフォーマット)を再生します。音はあらかじめ SoundEditやサウンドスタジオライトなどで録音し「HTML/script/音の保管フォルダ」に入れておかなくてはなりません。
このFreeWebWatchmanを監視ソフトとしてつかったときに警告の声や犬の鳴き声を出したり、訪問者が「今見てますよ」といった声を出す目的などに使えます。

回転台がつながっていると取込み以外に以下の動作を指定することができます。


スクリプト

FreeWebWatchmanは以下のスクリプトを実行する機能があります。
スクリプトはSimpleTextなどを使い以下の文法であらかじめ作成しておき、「HTML/script/音の保管フォルダ」内に拡張子を「.scr」 として複数用意しておきます。拡張子を調べて動作するのでREADMEなどというファイルを間違って実行することがありません。

ブラウザからは
http://www.myname.co.jp/ww.acgi?Y1
http://www.myname.co.jp/ww.acgi?Yscript1
のように指定します。
前者は1.scr、後者はscript1.scrの実行を指定するものです。

init.scrという名前のスクリプトファイルがあるとFreeWebWatchmanが立ち上がったとき自動的に実行されます。 何か初期設定をしておきたいときなどにこの機能を使ってください。

実行可能なスクリプト(太字は回転台がなくても使用可能なコマンドです)
無人動作の関係でスクリプトに文法エラーがあっても警告は出ず無視されます。
行の先頭にセミコロン ; があるとコメントとして扱われます。

スクリプトに引数を与えることもできます。
http://www.myname.co.jp/ww.acgi?Yrestart+1+10+160
とするとスクリプトrestart.scrの中の記述が
limit %2
zoom %0
pause 240
step %1
end
となっていると%のあとの番号(0から始まる)がそれぞれ呼び出したときの値に置き換えられ、
limit 160
zoom 1
pause 240
step 10
end
として実行されます。引き数は10個まで使え%0から%9までに対応します。引数は数字のみ可能です。

CGIを実行したあとHTMLファイルを表示する指定の場合、スクリプトの中に
file myfile.html
という記述をいれておくと http://www.myname.co.jp/ww.acgi$myfile.html?Ymyscript
のように直接指定をせずに任意のファイルを指定することができます。上の例では myscript.scr を指定し、その中にfile myfile.htmlという記述があったことと等価になります。すなわち
http://www.myname.co.jp/ww.acgi?Ymyscript
のように指定できます。情報を隠すことができ、ユーザーからむやみにでたらめなファイルを指定されることがありません。

myscript.scrの記述例:
file myfile.html
lamp on
turnto 20
pause 60
capture
lamp off
end
(返りファイルを指定し、ランプをつけて回転し、1秒待ってから画像を取り込みランプを消す)

SSI(サーバーサイドインクルード)

FreeWebWatchmanはCGIを実行したあと指定のURLにジャンプするか、自分のサイトにあるHTMLファイルを表示するかの指定を することができますが、このSSIとは「HTML/script/音の保管フォルダから表示」を選択し、 さらに「SSI機能」をチェックしておくとHTMLの中に埋め込まれた <INSERT_COUNT>などといった特別なタグを別の文字に置き換えて表示することができます。


http://www.myname.co.jp/ww.acgi$myfile2.html?Z
などとしてCGIの帰り値に特定のファイルを指定することができます。

http://www.myname.co.jp/ww.acgi?Z
とするとdefault.htmlが使われます。

http://www.myname.co.jp/ww.acgi
としてZ(画像取り込みコマンド)をつけないと単ににサーバーサイドインクルード だけの機能を使うことができます。この例では$から始まるファイル名を指定していないのでdefault.htmlが使われます。

●アクセスカウンタ

<H2>あなたは現在<INSERT_COUNT>人目のお客様です</H2><BR>

というタグがあった場合
実際には<INSERT_COUNT>が文字に置き換わり、

あなたは現在2451人目のお客様です

のように表示されます。

●日付の表示
<H2>現在は<INSERT_DATE>です</H2>
となっていると現在の日付が置き換わり

現在は1997年 8月 18日 (月)です

となります。これらの書式はMacのコントロールパネルの「日付」で指定できます。

●時刻の表示
<H2>現在の時刻は<INSERT_TIME>です</H2>
となっていると現在の時刻が置き換わり

現在の時刻は11:27:34 AMです

となります。これらの書式はMacのコントロールパネルの「日付」で指定できます。

●ホスト名の表示
<H2>あなたは<INSERT_DOMAIN>から接続しています</H2>
となっていると接続してきたホスト名に置き換わり

あなたはppp12-43.so-net.or.jpから接続しています


となります。

●画像名の変換
画像取り込みがCGIのZコマンドで行われたときのみ画像名は一時的な名前に変換されます。 たとえば初期設定で取り込む画像名が、
(ダイアログ)
としてあったとき、 画像名はキャッシュの効果を殺すためそのとき取り込んだ時刻を含めるかたちで自動的に変換されて送られます。 たとえばHTMLで <IMG SRC="snap.jpg">のように記述されているとこのファイル名は<IMG SRC="snap08124512.jpg"> のように加工され送られます。
ファイル名の一部に時刻が含まれていてユニークな名前となるためユーザーのブラウザにはそのファイルはキャッシュされておらず 確実に今取得した画像データを表示することができます。

HTML中でどの文字が指定されたものと同じと判断するかは<から始まり>で終わる中に上で指定されたものとまったく 同じ文字列があるかどうかで判断されます。
<IMG SRC="snap.jpg" ALIGN=LEFT>などとALIGN=LEFTといった修飾が入っていても<IMG SRC="snap08124512.jpg" ALIGN=LEFT> などと正しく置き換えられます。
判定には大文字と小文字の区別をしますから変換されたくない場合にはダイアログで指定したものと違えて、 たとえば<IMG SRC="SNAP.JPG">などとしてください。(Macは大文字でも小文字でも同じファイルとして扱われます)

クリッカブルマップ

クリッカブルマップとは画像のどこかをクリックするとあらかじめ決められていたURLを実行する機能です。FreeWebWatchman自体には この機能がありませんのでWWWサーバーにビルドインされている機能や別のソフトをご利用ください。
当社が愛用しているQuid Pro Quoにはプラグインの形式でクリッカブルマップ機能が ついていますのでなかなか便利でした。WebWatchmanProと組み合わせて使用するには角度のスケールを表示しておいてそこがクリック されると指定方向に回転させたり、ズームさせたりするのに使うとわかりやすくて便利でしょう。

FTP転送

FreeWebWatchmanはダイアルアップルーターでも動作を確認しています。このFreeWebWatchmanを走らせているMacにMN128SOHOなどのダイアルアップルーターをイサーネット経由で接続すればISDN回線を使って安定して画像を遠方のサーバーに転送することができます。専用線やOCNを引く必要もありません。


上の図の右側のように「FTPで転送...」を選択すると画像が指定した時間間隔で取り込まれるたびに、他のサーバーにFTPで転送するようになります。


選択するとこのようなダイアログが出ますから上から順に接続するサーバー名、ユーザー名、パスワード、もし必要であればディレクトリを指定してください。通常これらの値はあなたが契約したプロバイダから提示されます。

ハートコンピュータの「リモートサーバー」であれば通常このようにします。これでブラウザからはhttp://www.my-name.com/snap.jpgとして見ることができます。

ダイアルアップルーターを使って転送を行うと、転送が終了後ある時間すると電話は自動的に切断されます。切断の時間の説明は個々のダイアルアップルーターの説明をご覧ください。当社で実験した環境はMN128SOHOで切断時間を60秒とするとアメリカのサーバーに転送しても1回の転送は3分以内で通信が終了します。1回10円です。転送間隔は120秒と短いものでも問題はありません。テストした環境はここです。

なおこの転送はPPPを使った方式は不安定でお勧めしません。専用線あるいはダイアルアップルーターで使うようにしてください。

日常の運転

正しく設定されていると自動的にデータが取得され指定された「格納フォルダ」内に一定時間間隔で更新されていきますのでブラウザから見ることができます。
たとえばあなたのMacのIPアドレスが124.23.45.123で、画像の取込み先のフォルダがWWWサーバーと同じ位置でsnap.jpgという指定であった場合ブラウザからは http://124.23.45.123/snap.jpgと指定することにより最近の画像を見ることができます。

http://www.myname.co.jp/ww.acgi?Z
のように、CGIとしての動作が指定されるとすぐに画像を取り込みます。

セキュリティ


で指定されたフォルダは24時間の記録とかログやスクリーンダンプなどセキュリティにとって重要なデータがあるのででむやみに公開せず社内だけで閲覧することをおすすめします。WWWサーバーソフトでは特定のフォルダにパスワードをかける機能があるのでそれを採用し、誰でも入れるようにしないようにするのも方法です。
その機能がない場合にはそのフォルダをWWWからは見られない位置に配置するか、見られる位置であってもわかりずらい名前にしてしかもひんぱんに名前を変更するのも1つのアイデアです。

またメンテナンスの章で説明があるようにログをいつも分析し、くりかえしいやがらせのようにアクセスされているかを調べるのもよいことです。あまりたびたびくるようですと

の機能をつかって制限をかけたりしてください。


とするとダイレクトコマンドは使えずに、あらかじめ用意されたスクリプトだけを実行できるようになるためセキュリティ上大きなメリットです。

メンテナンス

●メモリの監視
毎日一回はWWWサーバーが走っているMacのモニターの電源を入れ、メモリの状態を調べてください。メモリの状態はファインダにしてAppleMenuから「このコンピュータについて」を指定することで見ることができます。WWWサーバーの種類によってはだんだんメモリを食いつくしていってダウンするものもあります。メモリに余裕がなくなってきたらたまにWWWサーバーを一旦終了し、再度立ち上げることで元の状態に復帰することができます。

●記録データの点検
一定時間ごとにデータを取得する設定にしてある場合は指定したフォルダの下に月、日ごとにさらにフォルダが作られ、インデクスファイルもできているので必要に応じて表示し確認します。確認の方法は、インデクスファイルをブラウザにドロップするほか、そのフォルダがWWWからアクセスできる位置にあれば遠方からでも直接WWWにつないでこのページを表示できます。このファイルは毎日どんどんできていますから古いものから消去したほうがディスクの節約になります。

●ログデータの点検
記録データと同じフォルダにアクセスログww.access.txtとエラーログww.error.txtができますので点検してください。 なおこのアクセスログの形式はNCSAやApacheのサーバーが作成するのと同じ形式ですのでログ分析ソフトを使っていろいろな分析をかけることができます。

点検するときには設定メニューから「ログ書き込み」のチェックをはずしログの動作を一旦停止してから行わないと、たまたまそのときに アクセスがあったときファイルをとりあうのでおかしくなりますのでご注意ください。

●設定を変更したとき
「あらかじめとりこんでおいた画像を表示」するオプションはそのファイルは立ち上げのときだけにに記憶します。 このためあとから作成したデータを使用可能にするに「設定」メニューから「環境を再取込み」を選択して画像を記憶させてください。 表示できるファイルは合計200個以内です。

回転台をあとで接続したときには回転角度と回転ステップが伝わっていませんので同じく「設定」メニューから 「環境を再取込み」を指定してください。

一旦FreeWebWatchmanを終了して、再度立ち上げしてもかまいません。

●ゴミファイル
ソフトが強制的に中断させられたときなど取り込みファイルがsnap08124512.jpgなどとして残されることがあります。 FreeWebWatchmanは転送の遅さやタイミングなどを考えCGIで指定されたファイルを最大4つまで消さないで残しておき古い順番に消していきますので 暴走したときは消すメカニズムが働かず残されてしまいます。 こういう場合このファイルをごみ箱に入れて消してください。
正しく動作しているときはこれらのファイルは自動的に消されますのでわざわざ消す必要はありません。

トラブルシューティング

おかしな操作をしてつぎに立ち上げたら画像が出ない
FreeWebWatchmanは画像の設定を記憶していて次回立ち上げもその設定を使います。立ち上げのときにオプションキーを 押しながらFreeWebWatchmanを起動するとその設定は無視されますので、このようにして立ち上げたあと設定メニューから 画像のチャンネルなどを再度設定してください。

Quid Pro QuoをWWWサーバーとして使っているがなんだかメモリを少しづつ消費するようだ
バージョン1.0.2を見る限りではそのようです。97年9月現在まだベータの段階ですが2.0がリリースされていて、こちらのほうがメモリを消費しないようです。もしメモリを消費していくようであったら3日に一回程度再立ち上げすれば問題はありません。
FreeWebWatchmanは連続運転を十分に考慮してありますからこのようなことはないはずです。

FTP転送を指定したはずなのに転送されていない
正しくログインできず失敗したものと思われます。ww.error.txtのエラーログファイルを見るとその原因がわかりますので解決してください。ユーザー名、パスワードなど正しく設定されていますか?

ソフトウエア履歴

バージョン1.0.6(98-8-24)
定刻に格納するバグ修正。

バージョン1.0.5(98-8-18)
ひさしぶりのバージョンアップ。コンパイラをCWP3にしました。機能追加はなし。

バージョン1.0.4(97-9-17)
QuickCAMでおかしくなる現象修正。

バージョン1.0.3(97-9-10)
FTP転送機能がMN128SOHOなどの端末型ダイアルアップ機能に対応しました

バージョン1.0.2(97-9-9)
FTP転送機能がつきました

バージョン1.0.1
音声機能がつきました

●バージョン0.9(97-8-6)  初公開

バグ


このソフトFreeWebWatchmanはフリーウエアです。カメラマウント「Web雲台」を制御しない設定にすれば高機能WebCameraソフトとして使用できます。 もちろん「Web雲台」と組み合わせて使うと超高機能WebCameraソフトになります ;-)
フリーウエア版FreeWebWatchmanはユーザーサポートはありませんがレポートや感想は歓迎します。
本ソフトは単体で商品としても販売します。ユーザーサポートがあります。 企業などで使う場合サポートがないと安心して使えないという場合にご利用ください。 価格は20,000円(+消費税)です。
(c) Copyright 1997 Hart Computer, Inc. このページのリンクはご自由にどうぞ。
97-8-6〜