RFIDを使ってみよう (複数タグ編)

作成日: 2004/5/18  最終更新日: 2005/1/18



◆概要

ここでは,複数のタグを同時に認識できる(アンチ・コリジョン機能搭載)のRFIDリーダーとして,Texas Instruments(以下TI)製 HF-I Midrange Readerを紹介し,複数のIDタグを用いた実世界システムを作るための基本的な手順について解説していきます.ここで紹介するサンプルプログラムを利用すれば,以下のような基本的なRFIDシステムを手軽に実現することができます.

図1は,RFIDタグを貼り付けたモノを置くと,それに対応した操作を行う基本的な動作例です.ここでは名刺を置くと,その人物に対応したWebページを開いています.図2は,複数のIDを同時に認識した場合の動作例です.複数のタグを同時に認識した場合は, (1)単独認識時と同じ処理を個別に行うか,(2)組み合わせ認識時専用の処理を行うことができます.ここでは図1で利用した二枚の名詞 を同時に置くと,共通の知人のWebページを開くようにしています.

RFIDについての基本的な情報などについては準備編を参考にしてください.また,13.56MHz帯用のアンテナの製作については,13.56MHzアンテナ編を参考にしてください.

図1 RFIDシステムの基本的な動作
(「名刺の人物」と「Webページ」を対応付け)

図2 複数のIDを同時に認識した場合の動作
(「2枚の名刺の組み合わせ」と「Webページ」を対応付け)

図3 RFIDタグを貼り付けた名刺



◆HF-I Midrange Reader

ここでは,TI製のRFIDリーダーHF-I Midrange Readerについて,簡単に紹介します. HF-I Midrange Readerは13.56MHz帯を利用するPassive TypeのRFIDリーダーで,複数タグの読取機能(アンチ・コリジョン機能)に対応しているのが最大の特徴です.(このあたりの用語については準備編で詳しく紹介しています.)

私は,TI社の代理店 の一つ,マイクロ・トーク・システムズから購入しました.
価格は評価キットが\73,000, RFIDリーダーモジュールが \16,000/個,RFIDタグが\100〜\250程度/個(個数により変動)でした(2003年12月時点).評価キットとリーダーモジュールは基本編で紹介しているS2000 MicroReaderよりやや高価ですが,タグについてはそのラベル型の形状からか,かなり安価になっています.

評価キットには,シリアル接続のRFIDリーダー(アンテナ内蔵),ACアダプタ,RFIDタグ数枚などが含まれます.
とりあえずは評価キットを購入し,必要に応じてRFIDタグを50〜100個程度購入するのがよいかと思います.(タグはあまり少ない数では購入できないかもしれません.比較的安価ですので,気持ち多めに購入するとよいかと思います. )

図4に評価キットに同梱されているリーダーを示します.ケースの上部にアンテナが内蔵されており,シリアルケーブルでPCと接続するだけで利用できます.(準備編で紹介しているRFIDリーダーの接続手順とほぼ同じです.)

対応しているタグは図5のようなラベルタイプのもので,TIの商品名ではTag It Smart Labelと呼ばれるようです.なお,対応タグには,(1)TI独自形式のタグと,(2)ISO 15693に対応したタグの二種類があります.両者の見た目はほとんど変わりませんが,通信プロトコルが異なりますので,同時には利用できません.個人的には,汎用性・拡張性にすぐれたISO 15693対応のタグをおすすめします.このページで紹介するサンプルプログラムでもISO 15693対応のタグの利用を前提にしています.(※ちなみに評価キットには両方のタグが含まれています.)

 
図4 アンチ・コリジョン機能付RFIDリーダー
(Texas Instruments HF-I Midrange Reader)

図5 HF-I Midrange Reader用RFIDタグ
(Texas Instruments HF-I Tags)




◆サンプルプログラム

このソフトウェアの機能は,主に以下の三つとなります

  1. 複数のRFIDタグの読み取り(一回,連続)
  2. タグIDと任意のファイル・プログラムの対応付け(単一,組み合わせ)
  3. タグID認識時に2で指定したファイル・プログラムを起動

Felica編で紹介したプログラムど同様に,単なるタグIDの読み取り機能に加えて,タグIDと任意のプログラム・ファイルなどを簡単に対応付けて,ID認識時の動作をカスタマイズすることが可能です.また,複数のIDを同時に認識した場合に,組み合わせに応じた動作をカスタマイズすることもできます.

図6 ソフトウェアのスクリーンショット

(1)IDとプログラムの関連付け

(2) 左記のIDを認識したときの動作
(Internet ExplorerでWebページを開く)
図7 ソフトウェアの動作例
 



◆ダウンロード

◆インストール

このソフトは .NET + C# で書かれているため,事前に Microsoft .NET Framework再頒布パッケージ (23.7 MB) をインストールしておく必要があります.インストール後,HF-I Midrange Readerを接続して実行ファイルを起動してください.





◆基本的な使い方

1. RFIDリーダーへの接続

- コンボボックスから接続するシリアルポート(COM1〜COM20)を選択し,「接続」ボタンを押します.

- 接続に成功すれば,「COMXをオープンしました」とメッセージが表示され,「一回読取」「連続読取開始」「切断」の各ボタンが利用可能になります.
- 接続に失敗すると,「COMXのオープンに失敗しました」とメッセージが表示されます.COMポートの指定が正しいか,ノートパソコンの場合はUSB⇔シリアル変換ケーブルがささっているかを確認してください.

※利用できるシリアルポート番号の一覧は,コントロールパネル→システム→ハードウェア→デバイスマネージャ→ポート にて 確認できます.

2. 一回読み取り

- RFIDリーダーに接続後,「一回読取」ボタンを押すと,タグのIDを一度だけ読み込みます.

- タグを認識した場合は,右上のID用リストボックスにID番号が表示されます.

3. 連続読み取り

- RFIDリーダーに接続後,「連続読取開始」ボタンを押すと,連続読取を開始します.

- 連続読取を開始すると,「連続読取停止」ボタンがアクティブになります.「連続読取停止」「切断」「一回読取」ボタンを押すまで,タグIDを連続的に取得します.

- タグの検出状態が更新されると,右上のID用リストボックスのID番号が更新されます.

4. IDの検出と登録

-RFIDタグが認識されると,右上の「タグのID一覧」に,IDが表示されます.
-IDが表示されている状態で,一つのIDを選択して「現在のIDを登録」ボタンを押すと,IDが「登録済みID」に追加されます.

   

-IDが表示されている状態で,二つ以上のIDを選択(シフトキーを押しながらクリック)して「現在のIDを登録」ボタンを押すと,IDが「登録済みIDの組み合わせ」に追加されます

   

-また,「登録済みのID」か「登録済みIDの組み合わせ」に登録されているIDを選択し,デリートキーを押すと,そのIDを削除することができます.

5. IDとプログラムの対応付け

-「登録済みのID」か「登録済みIDの組み合わせ」に登録されているIDをダブルクリックすると,IDとプログラムやファイルの対応付けウインドウが開きます.(どちらの場合も操作は同様です.)
- 「Name」「Program」「Option(ファイル名やURL)」を指定して,「登録」ボタンを押すと,IDと任意のプログラムやファイル を対応付けることができます.

   
単一のIDの場合

   
複数のIDの場合

6. IDの認識とプログラムの起動・終了

-「登録済みID」に登録されているタグIDが認識された場合,指定されたプログラムやファイルが起動されます.
-タグをリーダーから取り除くと,外部プログラムは終了します.

   
単一のIDが認識された場合

-「登録済みIDの組み合わせ」に登録されているタグIDが認識され,「組み合わせIDを利用する」チェックボックスがチェックされている場合,指定したプログラムやファイルが起動されます.
-タグをリーダーから取り除くと,外部プログラムは終了します.

   
複数のIDが認識された場合
7. RFIDリーダーから切断

- RFIDリーダーに接続後,「切断」ボタンを押すと,RFIDとの接続を切断します.

8. ソフトウェアの終了
- ウインドウの×ボタンを押すと,いつでもソフトウェアを終了できます.連続読取やシリアルポートへの接続も自動的に終了します.
番外: オプション設定

-左下の「デバッグメッセージを表示する」をチェックしておくと,左側のテキストボックスにデバッグ用メッセージが表示されます.(通常は非表示)

-「イベントを実行する」をチェックしておくと,登録済みのタグIDが認識されたときにイベントを実行します.
チェックをはずすと,登録済みのIDが認識されてもイベントを実行しません.通常はチェックしておきますが,複数のIDを登録する場合ははずしておいた方が便利です.




◆おわりに

ここでは,複数のRFIDタグを同時に認識できる(アンチ・コリジョン機能搭載)TI製 HF-I Midrange Readerを紹介し,複数タグの組み合わせによって異なる操作を行えるサンプルプログラムについて解説しました.このサンプルでは異なるWebページを表示させているだけですが,工夫次第で検索/メール/Flashなど,様々なアプリケーションと連携した面白い使い方ができると思います.

ソフトウェアの動作を独自に(まったく異なるものに)変更したい場合は,DealEventWorker()というメソッド内を編集してみてください.

また,ここでは実際にRFIDリーダーを制御するためのコードについては紹介していません.具体的な処理方法(通信プロトコルなど)について知りたい場合は,ソースコード内の"RfidComm.cs"などを参考にしてみてください.




◆関連URL


[RFIDぶらり旅]

[デバイスふらり旅]