2009年1月30日金曜日

'PaSoRi'を使用して、FeliCaカード内の'IDm'を読み取る

このプログラムは、SONY製の PaSoRi を使用して、FeliCaカード内の'IDm'を読み取るプログラムです。(PMmも読み取ります。)



 近年、FeliCaカードが普及するに従って(SUICA,PASMO,Edyなどなど)FeliCaカードを利用した事務機器が増えてきました。鍵管理BOX/ロッカー/キャビネット/コピー機/入退室管理システム などなど。
 どの機器も既に使用しているFeliCaカードを機器に登録するだけで使えるようになると謳っているのですが、オフィスのマネージャ(管理)からすると勝手に登録されてはせっかくの認証機能の意味がありません。当然これらの登録操作はマネージャが行うのですが、登録しなければならないカードの数が多いと管理するのが大変ですし、カード対応の事務機器もだんだん増えてきて機器毎にいちいちカード登録をしなければならないのでマネージャの管理業務は増大するばかりです。
 そこで、ちょっと気の利いた事務機器ではカードをかざして登録する代わりにカードコードが登録されたCSVファイルを取り込んでカード登録の手間を省いてくれるものがあります。しかし、このCSVに”記入しなければならないカードコードがわからない!”というのが新たな悩みではないでしょうか?
 このプログラムを使えば、悩みも解決です。ほとんどの事務機器ではFeliCaカード内部に記録されている「IDm」と呼ばれるコードをカード識別コード(IDコード)として利用しています。IDmは非常に安価(約2600円)なリーダー「PaSoRi」でも読み取ることが出来ます。

なぜこのプログラムが必要なの?
残念なことに「PaSoRi」に付属するソフトウェアでは「IDm」を見ることが出来ないのです。このプログラムを使えば「IDm」を確認することが出来ます。

このプログラムを作成するに当たり [亜細亜大学であがたが行う授業に関するサイトです。]を参照させていただきました。


[PaSoRiReader.jar] - コンパイル済み実行モジュール

[Felica.java] - Javaプログラムソースファイル

[FelicaIdReader.java] - Javaプログラムソースファイル

[build.xml] - antビルドファイル(おまけ)


【動作チェック環境】

  • OS: Windows XP sp3 / Windows Vista

  • リーダー: SONY PaSoRi RC-S330

  • JRE: JavaRE 1.6

* Windows以外では動作しません。
* Java実行環境が必要です。JRE1.5以降


【必須ライブラリ】

  • 'felicalib.dll'
    http://felicalib.tmurakam.org/
    felicalib は、USB接続の FeliCa(フェリカ) リーダ PaSoRi(パソリ) を使って、FeliCa にアクセスするためのライブラリです。Suica, Edy, nanaco などの電子マネーへのアクセスなどに使用できます。
    フリーソフト (BSD ライセンス)

  • 'PaSoRi'の接続と'FeliCaポートソフトウェア'のインストール
    http://www.sony.co.jp/Products/felica/pcrw/

  • 'JNA.jar'ファイル
    https://jna.dev.java.net/
    Java Native Access



【インストールと起動方法】
  1. PaSoRiを接続して、'FeliCaポートソフトウェア'をインストールする。
  2. 適当なディレクトリを作成して、下記の3ファイルを置く。
    • PaSoRiReader.jar
         本プログラム本体
    • jna.jar
         Java Native Access
    • felicalib.dll
         felicalib
  3. 'PaSoRiReader.jar'をダブルクリックすると起動します。


【制限事項】
  • お財布ケータイのFeliCaは読めません。
  • 'FeliCaポートソフトウェア'がインストールされていても、「PaSoRi」が接続されていなければエラーになります。