Phidgets rfidの最近のブログ記事

Rfid Toys: X Cool Projects for Home, Office And Entertainment Extremetech (Extremetech)
Amal Graafstra
0471771961

MAKE BLOGの記事より
RFIDをつかった自作関連のすごい本が出る。
とりあえず表紙がPhidgetsのRFIDリーダーだし、
いままでこんな本みたことない。
Phidgets USAもpushしてる。

目次

Chapter 1: Introduction - A quick overview of RFID

Chapter 2: Getting in the front door - RFID enabled electronic strikes and modding electronic deadbolts

Chapter 3: Stepping into your car - RFID enabled power door locks and alarm remotes

Chapter 4: Logging into your computer - Build an RFID enabled keyboard and update your Windows GINA

Chapter 5: Opening a safe - Mod and electronic safe

Chapter 6: Building a smart shelf - Take inventory of your things

Chapter 7: Letting Fido in through the pet door - Get familiar with tag and reader antenna orientation

Chatper 8: Track employees and time with active RFID

Chapter 9: To catch a thief - Monitor assets and send alerts

Chapter 10: Reading, writing and RFID - Using writable RFID tags

Chatper 11: Extreme RFID - What others are doing, implants, etc.

Chapter 12: Hardware overview - What was used in the book, operational specs, and where to get it, and how much

著者がすこしおかしい人なのは間違いない内容の記事なのだが、スマートシェルフの作り方から人体へのRFIDの埋め込みまで幅広い記事と巻末のHardeare overviewまでそろって今から発売するのが楽しみ。人体埋め込みの写真とかがある著者の紹介からも著者のおかしさがわかる。

前々回のエントリーでいじってみたPhidgetRFIDのサンプルをいじって
RFIDのあるなし、ある場合はIDを表示というAction Scriptを書いてみた。

phidgets_flash_api_phidgetrfid_test.jpg

ソース


/*
PhidgetRFIDをPhidgetFLASHAPIを通して使うサンプル
@author hatayan
http://www.hatayan.org
2005/12/06
*/
var rfid:PhidgetRFID;
var idcheck:String = "";
var count = 0;
rfid = new PhidgetRFID ();
rfid.onAttach = function (phid:Phidget) {
trace ("Attach Event: " + phid.getDeviceType ());
//デバイスタイプの表示
rfid.setOutputState (3, true);
//RFIDの読み取りを許可する
rfid.setOutputState (2, false);
//内蔵LEDを消す
};
rfid.onDetach = function (phid:Phidget) {
trace ("Detach Event: " + phid.getDeviceType ());
};
rfid.onError = function (desc:String, code:Number) {
trace ("Error Event: " + desc);
};
rfid.onTag = function (tag:String) {
if (idcheck != tag)
{
//もし読んだタグと記憶しているタグが違っていたら
//trace ("タグ発見このタグは: " + tag+"です");
rfid.setOutputState (2, true);
//内蔵LEDを光らす
exist_txt.text = "タグあり";
//タグありの表示をする。
idcheck = tag;
//タグを記憶する。
tag_txt.text = tag;
//タグIDを表示する。
}
else
{
//trace ("同じタグを読んでいます。");
if (count < 2)
{
count++;
//countが0より大きい場合はタグがあるとする。
}
}
};
rfid.openRemoteIP ("localhost", 5001, -1, "hoge");
onEnterFrame = function () {
if (count > 0)
{
count--;
//onEnterFrameが実行されるたびにカウントを減らす。
}
else
{
//もしカウントが0より小さかったら
rfid.setOutputState (2, false);
//内蔵LEDを消す
exist_txt.text = "タグなし";
//タグなしと表示
idcheck = "";
//記憶したIDをクリア
tag_txt.text = "";
//タグIDのテキスト表示をクリア
}
};

Flaファイル

Phidget Flash Library(ASファイルがたくさん入ってるやつ)とおなじディレクトリでコンパイルしないとエラーが出るので注意。

PhidgetsのRFIDリーダーのサンプルを改造してみた。
※改造どころ
同じタグを続けて認識しないようにした。
読んだときにLEDが光るようにした。
よんだRFIDのIDをファイルに書き出すようにした。

※メモ
時々なぜかRFIDが反応しなくなる問題は
.SetOutputState(3,true);
と毎回明示的にRFIDを読む機能をtrueにしてやることで解決。

ちなみにオンボードLEDは
.SetOutputState(2,false);//消灯
.SetOutputState(2,true);//点灯
と操作できる。

いままでJAVAのwaitのメソッドの使い方を知らなかったが
public synchronized void sleep(long msec)
{
try
{
wait(msec);
}catch(InterruptedException e){}
}
とメソッドをおいて使えばいいとわかった。
参考サイト

C#のラッパーが提供されているみたいだったがRFIDリーダーのver2に対応していないようでうまく動かなかった。動かしかた知っている人情報ください。

改造したソース

2005/12/06
追記)ごめんなさい。weblogを更新した際にソースを誤って消してしまったようです。
完全なソースはないのですが一応連続して認識しないようにしただけのバージョンのソースを
見つけたのでUPします。
http://www.hatayan.org/html/source/java/RfidWriteText.zip

長い沈黙を保っていた初期不良やろうがついに動き始めた。あと一週間はやければなあ。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちPhidgets rfidカテゴリに属しているものが含まれています。

前のカテゴリはPhidgetsです。

次のカテゴリはPhysical computingです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Phidgets rfid: 月別アーカイブ

Powered by Movable Type 4.01