WEB08S
ユーザーマニュアル
TCP/IP イーサネット
HTTP ウェブ クライアント
RFID ターミナル
8th January, 2014
AVEA International Company Limited
TCP/IP イーサネット HTTP ウェブ クライアント RFID ターミナル 4
1.リーダーの接続/設定 5
1.2 WEB08Sを初期設定にリセット 5
1.3 強制的DHCPモード 5
2.1.2 Cat-5/eイーサネットケーブル 6
2.2 外部リレーコントロール 7
3.1 HTTPサーバーへのリクエスト 9
3.1.2 $date and $time 9
3.2 HTTPサーバーからのレスポンス 11
3.2.3 CK=YYY-MM-DD HH:MM:SS 11
3.2.6 ROOT=xxxxxxxx 11
3.2.9 IP=xxx.xxx.xxx.xxx 12
3.2.10 GW=xxx.xxx.xxx.xxx 12
3.2.11 NM=xxx.xxx.xxx.xxx 12
3.2.12 WS=xxx.xxx.xxx.xxx 12
3.2.15 SID=xxxxxxxx 13
3.2.16 MD5=xxxxxxxxxxxxxxxx 13
WEB08Sは125kHz RFIDカードを読むためのTCP/IPイーサネットベースRFIDターミナル。これは独立型HTTPウェブ・クライアントとして使用される(コンピュータに接続する必要ない)。
RFIDカードが検出された時点、リーダーがウェブサーバーにGET\avea.php指令を送信し、サーバーが標準HTTPでリーダーに返事し、そして組み込み制御は同時に<AVEA>と</AVEA>タグの間で追加される。
多種類なページ拡張子で使うことができる(.php、.asp,.cfm、.pl、.htmと.html)。故に、多種類なHTTPウェブサーバーシステムに対応できる(マイクロソフトのIISとASP;Unix/LinuxのApacheとPHPとMySQLデータベースサーバー;標準htmlウェブサーバー)。
このシステムは標準ウェブベースシステムであり、プログラミングの必要はない。簡単なウェブページすらあれば、完全なアクセス制御システムと入退場制御システムが実現できる。
リーダーが正常に作動するため、リーダーを正しく接続/設定しなければならない。標準状態には青いLEDが点滅し、RFIDカードが検出された時、赤いLEDは同時に点滅する。
リーダーを接続/設定するため、ウェブサーバーが必要となる。サーバーのIPアドレスは192.168.1.1。その上に、サーバーにはウェブページ(\avea.php)が必要となる。(\avea.php)には初期設定がある。初期設定でリーダーを起動すると、リーダーは自動的にサーバーに接続し、サーバーから設定をダウンロードする。リーダーの電源が切られても、保存したデータは失わない。これでリーダーの準備が完了。リーダーを使うことができる。
WEB08Sの初期設定は以下のように:
パラメーター | 説明 | 初期設定 |
IP | リーダーのIP アドレス | 192.168.1.234 |
GW | ゲートウェイ IP アドレス | 192.168.1.1 |
NM | ネットマスク | 255.255.255.0 |
WS | HTTP サーバー IP アドレス | 192.168.1.1 |
PT | HTTP サーバーポート番号 | 80 |
EXT | ページ拡張 | php |
リーダーを起動する前に、ジャンパをJ4に設置する。リーダーを起動すると、保存した設定は自動的に消され、同時に初期設定にセットします。
ジャンパをJ6に設置すると、DHCPモードは強制的で自動的にセットします。DHCPサーバーはオプションwww-serverが使えるように設定されなければならない。(オプション72)
dhcpd.confの例:
#example of dhcpd.conf for web08s
ddns-update-style ad-hoc;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.1; # default gateway
option subnet-mask 255.255.255.0; # netmask
option www-server 192.168.1.123; # it must setup to the web server’s IP
range dynamic-bootp 192.168.1.10 192.168.1.99;
default-lease-time 300;
max-lease-time 3600;
}
リーダーが正常に作動するため、安定な給電、10-baseTイーサネット接続、オプションナルスレーブリーダーと電気ストライクや磁気ロック(随意)が必要となる。
WE08SのPCBバージョンは二つあります:
二つのバージョンは端子台のレイアウトにだけ違いがある。
WEB08Sりーだーが正常に作動できるため、9~12V DC 500mAが必要となる。リーダーに電源を供給する方法は二つある:
電源を端子台J11から供給。正端子がVINに接続、負端子がGND(グラウンド)に接続。電圧は9Vから12Vまで、最小電流は500mA。
電源をJ11から供給する以外、Cat-5/eイーサネットケーブルでRJ45コネクターに電源を供給することも可能。ピン7とピン8がGND(グラウンド)に接続。ピン4とピン5がVINに接続。同時に、ジャンプブロックJ3はツーピンジャンパー四つでショートする。
Web08Sは端子台J9で制御可能なリレー出力がビルトインした。そして:
NC -ノーマルクローズ、Cに接続。
C - コモン、NOやNCの中の一方に接続。二つを同時に接続することは不可能。
NO -ノーマルオープン, オープンサーキット。
リレーの最大スイッチング電圧は120VACと60VDCで、、最大スイッチング電流は2A。リレーは電気錠ストライクのバイパススイッチに接続し、ドアのアクセス制御として使用できる。だが、最大定額を超えると、リーダーが損傷になり、修理ができなくなる。
WEB08Sは外部コンタクトスイッチ(プッシュボタン)をSW端子に接続することができる。スイッチの状態(オープンやクローズ)に変更があると、ウェブサーバーでは記録が残る。
WEB08Sはスレーブリーダー(モデル:KS232S)と連携ができる。ホストソフトウェアはバリアブル$タイブでWEB08Sからのアクションとスレーブリーダーからのアクションを識別できる。以下の図はWEB08Sが外に、スレーブリーダーが内に設置された接続図。
備考:
高さ: 97mm
幅: 57mm
深さ: 24mm
WEB08SはHTTPクライアントが、PHPも使用可能。WEB08SはHTTPサーバーにさまざまなパラメータでPHP URLリクエストを送り、HTTPサーバーからの返事によって、作動する。
以下はPHP専用指令である
リーダーはGETリクエストを発信するにより、HTTPサーバーの固定ウェブページにアクセスする:avea.php(ウェブサイトのルートにある)ファイルの種類は選択できる、例:avea.asp、avea.cfm、avea.pl、avea.htm、avea.html。ルートにある数字的なファイアルネームに対しては、サーバーは変更可能である。
指令の日付と時間を表示する。日付のフォーマットはYYYY-MM-DD。例)2007/01/23 は 2007年1月23日を表す。時間のフォーマットはHH:MM:SSで、HHは時間、MMは分、SSは秒。リーダーが正しく作動できるよう、リーダーの日付と時間を合わせる必要がある。
リーダーのIPアドレスである。e.g. 192.168.1.234. 違うリーダーに対しては違うIPが必要となる。
IDカードの独特なコードである。
どんなアクションがリーダーで行ったかを表すリクエストである。
WEB08Sとスレーブリーダーからのアクションを分ける。
内部使用の場合、$modeはオペレーティングモードを表す。
内部使用の場合、$verはソフトウェアのバージョンを表す。
$ver=1.3以下の場合、スタンダードWEB08Sである。
$ver=1.4以上の場合、WEB08S-SP01である。
$cmd=SWを利用してコンタクトスイッチの状態を表す。スイッチがオープンされたら、$contact=OPEN。スイッチがクローズされたら、$contact=CLOSE。
SIDレスポンスが設置されたバリューである。
EMカードのUIDのバイト長である。通常は5である。
EMカードのUIDである。ストリングは16進形式で、サイズが変換可能である。
例)
for $ulen=5, $uid=309E80732F
リーダーの独特な32bitのIDである。
MD5ユーザーのシークレットキー、デイトとタイムのMD5チェックサムである。認証リクエストで一緒に送信される。
例)
仮に
コンバインストリングは
故に、コンバインストリングのMD5チェックサムは
サーバーの側では、MD5のシークレットキーがわかるため、MD5チェックサムが計算でき、送られてきたチェックサムと答え合わせられる。
MD5のシークレットキーは公開されないため、認証されたリーダーにしか正確なチェックサムを送られない。
リクエストを送ったら、WEB08SはHTTPサーバーからのレスポンスを待つ。スターティングフラグ<AVEA>とエンディングフラグ</AVEA>を確認し、その間のストリングを解読する。シークレットキーワードとパラメーターの中にはスペーシングがなくてはいけない。通常ではレスポンスポケットのサイズは600バイトより少ない。
以下のレスポンスが対応できる:
リーダーのハートビットレートを秒単位で設置する。フィックスレングスのフォーマットのデシマルバリューである。
例):
HB=0300、300秒つづHTTPサーバーにハートビットリクエストを送ることに設置する。
HB=0000、ハートビットリクエストを無効にする。
リーダーにビープ音を作る。フィックスレングスのフォーマットである。
例):
BEEP=1、短いビープ音を作る。
BEEP=0、長いビープ音を作る。
リーダーの日付と時間を設置する。年の範囲は2000から2099まで。フィックスレングスフォーマットである。
例)
CK=2007-01-23 12:34:56 set the clock to 23rd Jan 2007, pm12:34:56.
リーダーををアクセス可能状態に設置し、リレーをxx秒にNOステートからNCステートにエンゲージし、NOステートに戻る。同時にLEDがオンとオフになる。これはフィックスレングスのフォーマットのデシマルバリューである。例):
GRNT=03 リレーをNCステートに設置し、LEDが3秒つけた後、NOステートに戻り、LEDが消される。
リーダーををアクセス拒否状態に設置し、リレーをNOステートに設置する。
リーダーがアクセスするルートページを変える。これはフィックスレングスのフォーマットのデシマルバリューである。例) ROOT=00024689、これによってリーダーはデフォルト /avea.phpより、ページe /24689.phpにアクセスする。ROOT=00000000を設置することで、アクセスページをデフォルトページにリセットする。
リーダーがアクセスするルートページのファイルエクステンションを変える。これはフィックスレングスフォーマットである。
Xのバリュー | ファイルエクステンション |
0 | .php |
1 | .asp |
2 | .cfm |
3 | .pl |
4 | .htm |
5 | .html |
6 | .aspx |
リーダーのDHCPフィーチャーをコントロールする。DHCP=1の場合、DHCPが有効。DHCP=0の場合、DHCPが無効。有効にすることで、リクエストをDHCPサーバーに送り、以下の情報を獲得する:
- host IP
- netmask
- default gateway
- www-server IP
これはフィックスコマンドで、バリューがデシマルである。リーダーのIPアドレスを変える。例):
IP=192.168.001.234
これはフィックスコマンドで、バリューがデシマルである。リーダーのデフォルトルーターを変える。例):
GW=192.168.001.002
これはフィックスコマンドで、バリューがデシマルである。リーダーのネットマスクを変える。例):
NM=255.255.255.000
これはフィックスコマンドで、バリューがデシマルである。リーダーがアクセスされるウェブサーバーのIPアドレスを変える。例):
WS=192.168.001.001
これはフィックスコマンドで、バリューがデシマルである。ウェブサーバーにアクセスする時に使われるポートナンバーを変える。例):
PT=00080
これはフィックスコマンドで、バリューがデシマルである。RLY=1の場合、リレーがオンになる。RLY=0の場合、リレーがオフになる。リレーの状態はサブコマンドに影響される。
これはフィックスコマンドで、バリューが16進値である。これは不揮発性バリューで、電源落としても変えることはない。
これはフィックスコマンドで、64bitバリューが16進値である。これは不揮発性バリューで、電源落としても変えることはない。これはコンピューティングMD5チェックサムに使うシークレットキーである。
以下は分かりやすい例で、HTTPサーバーにあるPHPスクリプトの例である。ファイルネームは \avea.php.。
<html>
<body>
<?php
// setup variables
$cmd=$_GET[“cmd”];
$mode=$_GET[“mode”];
$code=$_GET[“code”];
$now=time(); // stamp the current time
$st=date('Y-m-d H:i:s',$now); // set the datetime string to correct format
$mycard=359452; // replaced by your card number
$rtime=$date . $time; // access the date and time of the reader
$remote_open=1;
echo "<AVEA>"; // starting flag
switch ($cmd) { case "PU": //
power up
echo "CK=$st"; // set clock
if ($mode==ID2) { // for web08s only
echo “DHCP=1”; // turn on the DHCP feature
}
break;
case "CO": // card only
if ($code==$mycard) {
echo "MSG=3f737937"; // show message OPEN
echo "GRNT=01"; // grant access
} else {
echo "DENY"; // deny access
}
break;
case "HB": // heartbeat
echo "CK=$st"; // set clock
break;
case "PG": // being pinged
if ($_GET[“contact”]==”CLOSE”) {
echo "GRNT=01"; // grant access
}
break;
case "SW": // being pinged
if (remote_open==1) {
echo "GRNT=01"; // grant access
} break;
}
echo "</AVEA>"; // ending flag
?>
</body>
</html>
WEB08S TCP/IP Ethernet HTTP/PHP RFID Terminal