第2回 モトローラ製「XP480-JP」のプログラミングを学ぶ


西村 泰洋
富士通株式会社
ビジネスインキュベーション本部
開発部
担当課長
2007年9月4日
RFIDシステムに必要なプログラムの実装方法はベンダによってクセがある。本連載はRFIDシステムに必要とされるプログラミングスキルを伝授するバイブルである(編集部)

 第1回では、リーダ/ライタのベンダごとに特徴があり、同様の動作をするシステムを構築する場合でも、異なるプログラミングのアプローチが必要となることを解説しました。

 今回は、モトローラ製リーダ/ライタ「XR480-JP」を利用したプログラミングの解説に入ります。

XR480-JP(左)とSANT700


 XP480-JPのプログラミングのクセをおさらい

 ホストコンピュータ(PC/サーバ)とXP480-JPの通信方法には、「XML文書交換(XML over HTTP)」と「バイトストリーム(Byte Stream Protocol)」の2種類があります。また、プログラミング言語にはCまたはC++が推奨されています。

 筆者のチームではバイトストリームをベースとしたAPI(XR Series、C API)が詳細設計可能と判断し、APIを選択して開発することを決定しました。ソースコードはC++のものになります。

 本連載では、プログラムの共通仕様として、

  1. 初期設定/事前準備(リーダ/ライタの設定)
  2. RFIDタグのID読み取り(UID/EPC)
  3. 結果の表示

といった、最も基本的かつ重要な機能に絞っています。

 今回は、1の初期設定/事前準備をユーティリティソフトの「Administrator Console」で実行し、2と3の部分を開発したプログラムで実行します。

 Administrator Consoleの「Read Point Class」の設定はデフォルトのままにします。この状態での各種パラメータは、

  • Scan Period:Polled
  • Retry:0回
  • Air Protocol:Gen2

となっています。ちなみに、ユーティリティソフトでリトライの回数が設定できるのは、伝統的にモトローラ機器の特徴の1つです。

 サンプルプログラムのフローチャート

 まず、基本仕様に基づいてフローチャートを作成します。図1は、APIで提供されている関数を利用して開発したメインモジュールのフローチャートです。

図1 メインモジュールのフローチャート

 さらに、最も重要な部分である「OpenReader」と「AutonomousRead」のフローを見ていきます。

図2 OpenReaderのフローチャート

図3 AutonomousReadのフローチャート

 サンプルプログラムの実行結果

 今回開発したサンプルプログラムは、「プログラムを起動して、リーダ/ライタの前をRFIDタグが通過したら、そのIDを読み取り、モニターにIDを表示する」という動作を採用しています。ソースコードは筆者のチームの中川裕さんと“Oさん”に書いてもらいました。なお、 このソースコードはAPIの関数とサンプルソースを参考にして作成しました。

【関連記事】
OさんはいかにしてRFIDプロフェッショナルとなったのか

 ここでは、3枚のRFIDタグをアンテナの前に置いて、読ませているシーンを想像してください。

図4 サンプルプログラムの実行結果

 実行結果から分かるように、リーダ/ライタから、

  • 読み取り順のRFIDタグの番号
  • 読み取り回数
  • タグタイプ
  • アンテナ番号
  • EPC

を取得し、表示しています。

 それでは、ソースコードの具体的な解説に移りましょう。

 
1/2

Index
モトローラ製「XP480-JP」のプログラミングを学ぶ
Page1
XP480-JPのプログラミングのクセをおさらい
サンプルプログラムのフローチャート
サンプルプログラムの実行結果
  Page2
メインモジュールのソースコードを読む
OpenReaderのソースコードを読む
AutonomousReadのソースコードを読む
PrintTagListのソースコードを読む
プログラムの前に基礎知識の習得が必須


RFIDシステムプログラミングバイブル 連載インデックス


RFID+IC フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

Master of IP Network 記事ランキング

本日 月間
ソリューションFLASH