WEB05A

ユーザーマニュアル

TCP/IP イーサネット

HTTP ウェブクライアント

RFID ターミナル

8th January, 2014

AVEA International Company Limited

 (http://avea.cc)

WEB05A TCP/IP イーサネット HTTP ウェブクライアント RFID ターミナル        4

1.リーダーの設置        6

2.インストレーション        7

2.1 電力要求        7

2.1.1 ターミナルブロック        7

2.1.2 Cat-5/eイーサネットケーブルからの電源供給        7

2.2 外部リレーコントロール        8

2.3 コンタクトスイッチ        8

2.4 スレーブリーダー        9

2.5 電池        9

2.6 本体サイズ        9

3.ソフトウェア        10

3.1 HTTPサーバーへのリクエスト        10

3.1.1 \avea.php        10

3.1.2 $date and $time        10

3.1.3 $id        10

3.1.4 $code        10

3.1.5 $pin        10

3.1.6 $cmd        10

3.1.7 $type        11

3.1.8 $mode        11

3.1.9 $ver        11

3.1.10 $contact        11

3.1.11 $sid        11

3.1.12 $ulen        11

3.1.13 $uid        11

3.1.14 $deviceid        12

3.1.15 $md5        12

3.2 HTTPサーバーからのレスポンス        13

3.2.1 HB=xxxx        13

3.2.2 BEEP=x        13

3.2.3 CK=YYYY-MM-DD HH:MM:SS        13

3.2.4 GRNT=xx        13

3.2.5 DENY        13

3.2.6 MSG=xxxxxxxx        13

3.2.7 ACPIN=xxxx        14

3.2.8 CLEAR=ALL        14

3.2.9 AC=xxxxxxxxxx        14

3.2.10 DC=xxxxxxxxxx        14

3.2.11 ROOT=xxxxxxxx        14

3.2.12 SHOWPIN=x        15

3.2.13 EXT=x        15

3.2.14 DHCP=x        15

3.2.15 IP=xxx.xxx.xxx.xxx        16

3.2.16 GW=xxx.xxx.xxx.xxx        16

3.2.17 NM=xxx.xxx.xxx.xxx        16

3.2.18 WS=xxx.xxx.xxx.xxx        16

3.2.19 PT=xxxxx        16

3.2.20 RLY=x        16

3.2.21 SID=xxxxxxxx        16

3.2.22 MD5=xxxxxxxxxxxxxxxx        16

PHPコード参考例        16


WEB05A TCP/IP イーサネット HTTP ウェブクライアント RFID ターミナル

WEB05AはTCP/IPイーサネットベースRFIDターミナルで、125kHzRFIDカードを支援するリーダーである。スタンドアロンHTTPウェブクライアントとして開発されたため、パソコンなどは必要ない。

RFIDカードがリーダーに読み取られた時、リーダーはGETリクエストをウェブサーバーに送り、\avea.phpページを要求する。サーバーはスタンダートHTTPで<AVEA>と</AVEA>タグの間に組込制御をリーダーに返信する。

多様なエクステンションが支援できる、例えば .php, .asp, .cfm, .pl, .htm, .html and .aspx.。そのため、多様なHTTPウェブサーバーシステム(MicrosoftのIISとASP、Unix/LinuxのApache、PHPとMySQLデータベースサーバー;スタンダートHTMLサーバー)も使用できる。

このシステムはスタンダートウェブベースシステムのため、プログラミングは不要。簡単なウェブページをデザインすれば、完全で強力なアクセス コントロール システムと出席時間管理システムが使用できる。


  1. リーダーの設置

リーダーが通常に動けるように、正確に設置しなければならない。

設置モードに入るのに:リーダーに電源を入れる同時に、“*”ボタンを長押しする。“CONF”はリーダーに表示する。この時にリーダーの上にIDカードを置いておいたら、そのIDカードがマスターカードとして登録され、リーダーの電源を消さなくてもリーダーを設置できるようになる。マスターカードが読み取られたら、リーダーは自動的に設置モードに入る。

“*”ボタンを押すことでパラメーターが確認できる:

パラメーター

説明

デフォルト

IP

リーダーのIPアドレス

192.168.1.234

Gate

GatewayのIPアドレス

192.168.1.1

Net

ネットマスク

255.255.255.0

Ser

HTTPサーバーのIPアドレス

192.168.1.1

Port

HTTPサーバー ポートナンバー

80

Ext

ページ エクステンション

php

DHCP

DHCP プロトコル 設置

no


  1. インストレーション

通常に作動できるよう、WEB05Aは安定な電力供給、10-baseTイーサネットコネクション、オプショナルなスレーブリーダーとオプショナルな電子ロックが必要である。

  1. 電力要求

WEB05Aは通常オペレーションのため、9から12V DC 500mAが必要。リーダーへの電源の入れ方2種類あり:

  1. ターミナルブロック

ターミナルブロックJ11に電源を入れ、ポジティブターミナルはVINに、ネガティブはGND(グラウンド)に入れる。ボルテージは9から12Vで、最小電流は500mA以上。

  1. Cat-5/eイーサネットケーブルからの電源供給

J11に電源を入れる以外、電力はRJ45コネクターからのイーサネットケーブルで入れれる。Pin7と8はGND(グラウンド)に接続で、Pin4と5はVINに接続。その間に、シャンプブロックJ3はツーピンジャンパキャップ4つでショートしなければならない。


  1. 外部リレーコントロール

WEB05Aは制御可能なリレーアウトプットがターミナルブロックJ9にビルドインされ:

NC - ノーマルクローズ、通常はCに接続。

C - コモン、NOかNCに繋がるが、同時に2つに接続しない。

NO - ノーマルオープン、通常はオープンサーキット。

リレーの最大スイッチングボルテージが120VACと60VDCであり、最大開閉電流が2Aである。これはドアアクセスコントロールのため、エレクトリックストライクのバイパススイッチに接続可能である。最大電流・電圧を超えたら、リーダーが壊される可能性あり、修理不可となる。

  1. コンタクトスイッチ

WEB05AはSWターミナルから外部コンタクトスイッチ(プッシュボタン)を接続可能。この状態の変更(ショートかオープン)は該当なメッセージをウェブサーバーに送信する。

  1. スレーブリーダー

WEB05Aはスレーブリーダー(モデルNo:KS232S)に接続し、一緒に働くことができる。ホストソフトウェアはヴァリアブル $typeを確認することで、アクションがWEB05Aからかスレーブリーダーからか、どこからか分別できる。以下の接続図は、WEB05Aがシステムの外部にインストールされ、スレーブリーダーがシステムの内部に接続されたと仮説する。

備考:

  1. 電子ロックへの接続
  2. スレーブリーダーからWEB05Aへの接続で、ケーブルが4つあり、パワー“+”と“ー”、データ信号RDとTD。
  3. 内部バイパススイッチへの接続
  4. イーサネットネットワークへの接続
  5. WEB05Aとスレーブリーダーのパワーサプライの

  1. 電池

電源が外してもリーダーのリアルタイムクロックが作動できるよう、CR1220リチウム電池が必要である。電池使わなかったら、毎回電源が外されたら、クロックがリセットされる。

  1. 本体サイズ

高さ:100mm

広さ:71mm

深さ:30mm

  1. ソフトウェア

WEB05AはPHP可能なHTTPクライアントである。リーダーはPHP URLリクエストを多様なパラメーターでHTTPサーバーに送信し、HTTPサーバーからのレスポンスを受け入れ、多様なアクションを起こす。このマニュアルはPHPバージョン4をベースにして作られているから、他のバージョンと違いがあるかもしれない。

  1. HTTPサーバーへのリクエスト

以下は多様なPHPリクエストで、ユーザーは必要な時に使える。

  1. \avea.php

リーダーはGETリクエストを発信するにより、HTTPサーバーの固定ウェブページにアクセスする:avea.php(ウェブサイトのルートにある)ファイルの種類は選択できる、例:avea.asp、avea.cfm、avea.pl、avea.htm、avea.html。ルートにある数字的なファイアルネームに対しては、サーバーは変更可能である。

  1. $date and $time

指令の日付と時間を表示する。日付のフォーマットはYYYY-MM-DD。例)2007/01/23 は 2007年1月23日を表す。時間のフォーマットはHH:MM:SSで、HHは時間、MMは分、SSは秒。

  1. $id

リーダーのIPアドレスである。e.g. 192.168.1.234. 違うリーダーに対しては違うIPが必要となる。

  1. $code

リーダーが認証するIDカードの独特なコードナンバーである。

  1. $pin

ユーザーが入力するPINナンバーで、入力後“#”ボタンで確認する。PINの最大文字数は8桁である。

  1. $cmd

どんなアクションがリーダーで行ったかを表すリクエストである。

  1.    $cmd=PU, リーダーに電源を入れたら送信される。

  1.    $cmd=CO, IDカードがリーダーに読み込まれたら送信される。カードナンバーは$codeに保存される。

  1.    $cmd=PO, PINナンバー入力後、“#”ボタン押したら送信される。   PINナンバーは$pinに保存されている。

  1.    $cmd=CP, PINナンバー入力後、IDカードが読み取られたら送信される。カードナンバーは$codeに保存され、PINナンバーは$pinに保存されている。

  1.    $cmd=TS, “*”ボタンや“#”ボタンが押されたら送信される。

  1.    $cmd=HB, プログラムのハートビットレートが達したら送信される。デフォルトのハートビットレートは300秒である。

  1.    $cmd=SW, コンタクトスイッチがショート・オープンされたら送信される。

  1.    $cmd=PG, リーダーがPingされた時に送信される。

  1. $type

WEB05Aからか、スレーブリーダーからのアクションを分ける。

  1.    $type=m, アクションはWEB05Aからである。

  1.    $type=s, アクションはスレーブリーダーからである。        

  1. $mode

内部使用で、もし$mode=MFx、ターミナルはMifareリーダーである。

  1. $ver

内部使用で、現在のファームウェアのバージョンである。i.e.$ver=1.5。

  1. $contact

$cmd=SWを利用してコンタクトスイッチの状態を表す。スイッチがオープされたら、$contact=OPEN。スイッチがクローズされたら、$contact=CLOSE。

  1. $sid

SIDレスポンスに設置されたバリューである。

  1. $ulen

EMカードのUIDのバイトレングスで、通常は5である。

  1. $uid

EMカードのUIDで、ストリングは16進形式で、サイズが変換可能である。$ulenは長さを教える。例:

        $ulen=5の場合、 $uid=309E80732F

  1. $deviceid

リーダーの独特な32bitのIDである。

  1. $md5

MD5ユーザーのシークレットキー、デイトとタイムのMD5チェックサムである。認証リクエストで一緒に送信される。例:

仮に

コンバインストリングは

故に、コンバインストリングのMD5チェックサムは

サーバーの側では、MD5のシークレットキーがわかるため、MD5チェックサムが計算でき、送られてきたチェックサムと答え合わせられる。

MD5のシークレットキーは公開されないため、認証されたリーダーにしか正確なチェックサムを送られない。

  1. HTTPサーバーからのレスポンス

リクエストが送信されたら、WEB05AはHTTPからのレスポンスを待つ。リーダーは開始フラグ<AVEA>と終了フラグ</AVEA>を探し、フラグの間のストリングを解読する。キーワードとパラメーターの間にはスペースがあってはいけない。レスポンスパケットの最大サイズは1024バイト以下である。

以下のレスポンスがサポートする:

  1. HB=xxxx

リーダーのハートビットレートを秒単位で設置する。フィクストレングスのフォーマットのデシマルバリューである。例:

HB=0300、300秒つづHTTPサーバーにハートビットリクエストを送ることに設置。

HB=0000、ハートビットリクエストを無効にする。

  1. BEEP=x

リーダーにビープ音を作る。これはフィクストレングスフォーマットである。例:

BEEP=1、短いビープ音を作る。

BEEP=0、長いビープ音を作る。

  1. CK=YYYY-MM-DD HH:MM:SS

リーダーの日付と時間を設置する。年の範囲は2000から2099まで。これはフィクストレングスフォーマットである。例:

CK=2007-01-23 12:34:56 set the clock to 23rd Jan 2007, pm12:34:56.

  1. GRNT=xx

リーダーををアクセス可能状態に設置し、リレーをxx秒にNOステートからNCステートにエンゲージし、NOステートに戻る。同時にLEDがオンとオフになる。これはフィクストレングスのフォーマットである。例:

GRNT=03 リレーをNCステートに設置し、LEDが3秒つけた後、NOステートに戻り、LEDが消される。

  1. DENY

リーダーををアクセス拒否状態に設置し、リレーをNOステートに設置する。

  1. MSG=xxxxxxxx

リーダーのLCDモニターに4桁のメッセージを表示する。これはフィクストレングスのフォーマットである。

このメッセージはビットマップパターンで、7分割のLCD桁である。16進数字の2桁ずつが1つのLCD桁を表示する。一番左の桁が一番左のLCD桁を表示。

マッピングは以下のよう:

0x01 はセグメントa をオンにする

0x02 はセグメント b をオンにする

0x04 はセグメント c をオンにする

0x08 はセグメント d をオンにする

0x10 はセグメント e をオンにする

0x20 はセグメント f をオンにする

0x40 はセグメント gをオンにする

そのバリューを足したら、他のセグメントを同じ時間に表示することができる。例:

        MSG=3f737937はLCDモニターに“OPEN”を表示する。

  1. ACPIN=xxxx

4桁のアクセスPINをリーダーに設置する。どんな場合でも、“#”とアクセスPINを押したら、リレーがアクセス授ける状態になる。アクセスPINは“0000”の場合、アクセスは拒否される。これはフィクストレングスのフォーマットである。

  1. CLEAR=ALL

リーダーはオフラインアクセステーブルをクリアする。i.e.全カードにオフラインアクセスが拒否される。

  1. AC=xxxxxxxxxx

リーダーはオフラインアクセス権利がある特定のカードの番号(10桁)を保存する。i.e.“#”を押し、カードがリーダーに読み取られたら、オフラインアクセス権がそのカードに与える。これはフィクストレングスのフォーマットである。

  1. DC=xxxxxxxxxx

リーダーは特定のカードの番号(10桁)のオフラインアクセス権を削除する。これはフィクストレングスのフォーマットである。オフラインアクセスのカードは最大200枚保存できる。

  1. ROOT=xxxxxxxx

リーダーがアクセスするルートページを変える。これはフィクストレングスのフォーマットである。例:

ROOT=00024689、これによってリーダーはデフォルト /avea.phpより、ページe/24689.phpにアクセスする。ROOT=00000000を設置することで、アクセスページをデフォルトページにリセットする。

  1. SHOWPIN=x

これはPINを入力する時、LCDモニターに表示するかどうかに影響する。SHOWPIN=1の場合、PINナンバーは表示される。SHOWPIN=0の場合、PINナンバーが隠される。

  1. EXT=x

リーダーがアクセスするルートページのファイルエクステンションを変える。これはフィクストレングスフォーマットである。

Xのバリュー

ファイルエクステンション

0

.php

1

.asp

2

.cfm

3

.pl

4

.htm

5

.html

6

.aspx

  1. DHCP=x

リーダーのDHCPフィーチャーをコントロールする。DHCP=1の場合、DHCPが有効。DHCP=0の場合、DHCPが無効。有効にすることで、リクエストをDHCPサーバーに送り、以下の情報が獲得できる:

- host IP

- netmask

- default gateway

- www-server IP

  1. IP=xxx.xxx.xxx.xxx

これはフィックスコマンドで、バリューがデシマルである。リーダーのIPアドレスを変える。これは不揮発性で、電源消しても残る。例:

IP=192.168.001.234

  1. GW=xxx.xxx.xxx.xxx

これはフィックスコマンドで、バリューがデシマルである。リーダーのデフォルトルーターを変える。これは不揮発性で、電源消しても残る。例:

GW=192.168.001.002

  1. NM=xxx.xxx.xxx.xxx

これはフィックスコマンドで、バリューがデシマルである。リーダーのネットマスクを変える。例:

NM=255.255.255.000

  1. WS=xxx.xxx.xxx.xxx

これはフィックスコマンドで、バリューがデシマルである。リーダーがアクセスされるウェブサーバーのIPアドレスを変える。これは不揮発性で、電源消しても残る。例:

WS=192.168.001.001

  1. PT=xxxxx

これはフィックスコマンドで、バリューがデシマルである。ウェブサーバーにアクセスする時に使われるポートナンバーを変える。例:

PT=00080

  1. RLY=x

これはフィックスコマンドで、バリューがデシマルである。RLY=1の場合、リレーがオンになる。RLY=0の場合、リレーがオフになる。リレーの状態はサブコマンドに影響される。

  1. SID=xxxxxxxx

これはフィックスコマンドで、バリューが16進値である。これは不揮発性バリューで、電源落としても変えることはない。

  1. MD5=xxxxxxxxxxxxxxxx

これはフィックスコマンドで、64bitバリューが16進値である。これは不揮発性バリューで、電源落としても変えることはない。これはコンピューティングMD5チェックサムに使うシークレットキーである。


  1. PHPコード参考例

以下は分かりやすい例で、HTTPサーバーにあるPHPバージョン4スクリプトの例である。ファイルネームは \avea.php.。

<html>

<body>

<?php

$now=time(); // stamp the current time

$cmd=_GET[“cmd”]; // get the command from the reader

$date=_GET[“date”]; // get the date of card code is logged

$time=_GET[“time”]; // get the time of card code is logged

$st=date('Y-m-d H:i:s',$now); // set the datetime string to correct format

$mycard=359452; // replaced by your card number

$mypin=1234; // replaced by your PIN number

$rtime=$date . $time; // access the date and time of the reader

echo "<AVEA>"; // starting flag

switch ($cmd) {

case "PU": // power up

echo "CK=$st"; // set clock

break;

case "CO": // card only

$code=_GET[“code”]; // get the card code

if ($code==$mycard) {

echo "MSG=3f737937"; // show message OPEN

echo "GRNT=01"; // grant access

} else {

echo "DENY"; // deny access

} break;

case "PO": // pin only

$pin=_GET[“pin”]; // get the PIN

if ($pin==$mypin) {

 echo "MSG=3f737937"; // show message OPEN

echo "GRNT=01"; // grant access

} else {

echo "DENY"; // deny access

}

break;

case "CP": // card + pin

$pin=_GET[“pin”]; // get the PIN

$code=_GET[“code”]; // get the card code

if (($code==$mycard) && ($pin==$mypin)) {

echo "MSG=3f737937"; // show message OPEN

echo "GRNT=01"; // grant access

} else {

echo "DENY"; // deny access

} break;

case "TS": // * key

echo "ACPIN=1234"; // add offline access PIN, i.e. press #1234 will be access granted

echo "AC=0005793663"; // add offline access card, i.e. press # and swipe this card will be access granted

echo "DC=0005793664"; // remove offline access card, i.e. press # and swipe this card will be not access granted

echo "MSG=40763040"; // show message -HI-

echo "BEEP=0"; // make long beep

break;

case "HB": // heartbeat

echo "CK=$st"; // set clock

break;

}

echo "</AVEA>"; // ending flag

?>

</body>

</html>